Adobe.com
Contents Suites Classes Class Index Member Index

AIFOConversion.h

Go to the documentation of this file.
00001 #ifndef __AIFOConversion__
00002 #define __AIFOConversion__
00003 
00004 /*
00005  *        Name: AIFOConversion.h
00006  *              $Id $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Foreign Object Conversion Suite.
00010  *
00011  * ADOBE SYSTEMS INCORPORATED
00012  * Copyright 2002-2007 Adobe Systems Incorporated.
00013  * All rights reserved.
00014  *
00015  * NOTICE:  Adobe permits you to use, modify, and distribute this file 
00016  * in accordance with the terms of the Adobe license agreement 
00017  * accompanying it. If you have received this file from a source other 
00018  * than Adobe, then your use, modification, or distribution of it 
00019  * requires the prior written permission of Adobe.
00020  *
00021  */
00022 
00023 
00024 /*******************************************************************************
00025  **
00026  **     Imports
00027  **
00028  **/
00029 
00030 #ifndef __AITypes__
00031 #include "AITypes.h"
00032 #endif
00033 
00034 #ifndef __AIForeignObject__
00035 #include "AIForeignObject.h"
00036 #endif
00037 
00038 #ifndef __AIFont__
00039 #include "AIFont.h"
00040 #endif
00041 
00042 
00043 #include "AIHeaderBegin.h"
00044 
00047 /*******************************************************************************
00048  **
00049  **     Constants
00050  **
00051  **/
00052 
00053 #define kAIFOConversionSuite                            "AI FO Conversion Suite"
00054 #define kAIFOConversionSuiteVersion3            AIAPI_VERSION(3)
00055 #define kAIFOConversionSuiteVersion                     kAIFOConversionSuiteVersion3
00056 #define kAIFOConversionVersion                          kAIFOConversionSuiteVersion
00057 
00058 
00061 #define kAIFOConversionErr              '!FOc'
00062 
00063 /*******************************************************************************
00064  **
00065  **     Types
00066  **
00067  **/
00068 
00071 typedef struct _AIAGMColorSpace *AIAGMColorSpaceHandle;
00072 
00073 
00081 typedef enum AIFOConversionInfoSelector
00082 {
00085         kAIFOConversionInfoNone,
00088         kAIFOConversionInfoFauxedFont,
00091         kAIFOConversionInfoUnknownAxialShading,
00094         kAIFOConversionInfoUnknownRadialShading,
00097         kAIFOConversionInfoUnknownAIMConstruct,
00100         kAIFOConversionInfoTextOutlined,
00103         kAIFOConversionInfoTextRasterized
00104 
00105 } AIFOConversionInfoSelector;
00106 
00107 
00111 typedef enum AIFOContentInfoSelector
00112 {
00115         kAIFOContentInfoNone,
00118         kAIFOContentInfoHasTransparency,
00121         kAIFOContentInfoMarksProcessPlates,
00126         kAIFOContentInfoMarksCMYKPlates,
00129         kAIFOContentInfoHasOverPrint,
00132         kAIFOContentInfoHasText,
00135         kAIFOContentInfoHasGradient,
00138         kAIFOContentInfoHasGradientMesh,
00141         kAIFOContentInfoSpotColor,
00144         kAIFOContentInfoRasterTransform,
00148         kAIFOContentInfoPaintServerRasterRecord,
00153         kAIFOContentInfoHasNonImage
00154 
00155 } AIFOContentInfoSelector;
00156 
00157 
00160 typedef ai::int32 AIFOConversionFlags;
00161 
00164 enum AIFOConversionFlagValue {
00167         kAIFOConversionDefault                          = 0,
00174         kAIFOConversionFull                                     = 1 << 0,
00176         kAIFOConversionStrokePaths                      = 1 << 1,
00178         kAIFOConversionSimplifyPaths            = 1 << 2,
00185         kAIFOConversionSuppressAttributes       = 1 << 3,
00187         kAIFOConversionNoColorizedGray          = 1 << 4,
00190         kAIFOConversionUseNewellMixing          = 1 << 5,
00192         kAIFOConversionNoNChannelIndexedImages  = 1 << 6
00193 };
00194 
00195 
00204 typedef void (*AIConversionInfoProc)(AIFOConversionInfoSelector selector, void *info, void *data);
00205 
00212 typedef void (*AIVisitFontProc)(AIFontKey fontkey, void *data);
00213 
00221 typedef void (*AIVisitFontExtendedProc)(AIFontKey fontkey, AIBoolean wasEmbedded, void *data);
00222 
00231 typedef void (*AIVisitContentProc)(AIFOContentInfoSelector selector, void *info, void *data);
00232 
00237 typedef struct AIFOConversionInfoCollector
00238 {
00241         AIConversionInfoProc proc;
00243         void *data;
00244 
00245 } AIFOConversionInfoCollector;
00246 
00248 typedef struct
00249 {
00252         AIFOConversionFlags flags;
00256         AIFOConversionInfoCollector info;
00257 
00261         AIReal rasterResolution;
00262 
00266         AIReal meshResolution;
00267 
00270         AIAGMColorSpaceHandle conversionCS;
00271 
00272 } AIFOConversionOptions;
00273 
00274 
00275 
00276 /*******************************************************************************
00277  **
00278  **     Suites
00279  **
00280  **/
00281 
00293 typedef struct AIFOConversionSuite {
00294 
00309         AIAPI AIErr (*ConvertToNative)(AIArtHandle art, AIFOConversionOptions *options, ai::int16 paintOrder, AIArtHandle prep);
00310 
00321         AIAPI AIErr (*GetConversionPort)(AIFOConversionOptions *options, ai::int16 paintOrder, AIArtHandle prep, AIDisplayPortHandle *port);
00322 
00326         AIAPI AIErr (*ReleaseConversionPort)(AIDisplayPortHandle port);
00327 
00334         AIAPI AIErr (*EnumerateFonts)(AIArtHandle art, AIVisitFontProc visitor, void *data);
00335 
00342         AIAPI AIErr (*EnumerateContents)(AIArtHandle art, AIVisitContentProc visitor, void *data);
00343 
00358         AIAPI AIErr (*OutlineLegacyText)(AIArtHandle art, ai::int16 paintOrder, AIArtHandle prep);
00359 
00366         AIAPI AIErr (*EnumerateEmbeddedFonts)(AIArtHandle art, AIVisitFontExtendedProc visitor, void *data);
00367 
00368 } AIFOConversionSuite;
00369 
00370 
00371 
00372 #include "AIHeaderEnd.h"
00373 
00374 
00375 #endif // __AIFOConversion__


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2016 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks