00001 #ifndef __AIMaskFlattener__
00002 #define __AIMaskFlattener__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef __AITypes__
00031 #include "AITypes.h"
00032 #endif
00033
00034 #ifndef __AIArt__
00035 #include "AIArt.h"
00036 #endif
00037
00038 #ifndef __AIArtSet__
00039 #include "AIArtSet.h"
00040 #endif
00041
00042 #ifndef __AIPathStyle__
00043 #include "AIPathStyle.h"
00044 #endif
00045
00046
00047 #include "AIHeaderBegin.h"
00048
00051
00052
00053
00054
00055
00056
00057 #define kAIMaskFlattenerSuite "AI Mask Flattener Suite"
00058 #define kAIMaskFlattenerSuiteVersion5 AIAPI_VERSION(5)
00059 #define kAIMaskFlattenerSuiteVersion kAIMaskFlattenerSuiteVersion5
00060 #define kAIMaskFlattenerVersion kAIMaskFlattenerSuiteVersion
00061
00062
00063
00064
00065
00066
00067
00069 #define kAIFlattenDefaultResolution (300.0f)
00070
00071 #define kAIFlattenMinResolution (1.0f)
00072
00073 #define kAIFlattenMaxResolution (9600.0f)
00074
00075 #define kAIFlattenMinBalance 0
00076
00077 #define kAIFlattenMaxBalance 100
00078
00080 #define kAIFlattenMaxSpots 27
00081
00083 #define kAIFlattenHasLinkErr 'FLnk'
00084
00086 #define kAIFlattenTooManySpotsErr 'FSpt'
00087
00088
00089
00090
00091
00092
00093
00094
00096 typedef enum
00097 {
00098 kAIFlattenDefault = 0,
00100 kAIFlattenOutlineText = 1 << 1,
00102 kAIFlattenOutlineStrokes = 1 << 2,
00107 kAIFlattenClipComplexRegions = 1 << 3,
00109 kAIFlattenPreserveOverprints = 1 << 4,
00111 kAIFlattenShowProgress = 1 << 7,
00113 kAIFlattenPreserveSimpleTransparency = 1 << 9,
00115 kAIFlattenPlanarizeOpaqueRegions = 1 << 10,
00118 kAIFlattenDontUndoChangesOnError = 1 << 11,
00122 kAIFlattenFOConversionFull = 1 << 12,
00125 kAIFlattenFOConversionSimplifyPaths = 1 << 13,
00127 kAIFlattenIntoKnockoutGroup = 1 << 14,
00129 kAIFlattenDisallowColorizedGray = 1 << 15,
00131 kAIFlattenDisallowNChannelIndexedImages = 1 << 16,
00133 kAIUsePathDPIToLimitPrecision = 1 << 17,
00135 kAIFlattenUseAntiAliasing = 1 << 18,
00136 } AIFlatteningFlags;
00137
00138
00141 typedef enum
00142 {
00143 kAIFlatteningQualityLevel0,
00144 kAIFlatteningQualityLevel1,
00145 kAIFlatteningQualityLevel2,
00146 kAIFlatteningQualityLevel3,
00147 kAIFlatteningQualityLevel4,
00148 kAIFlatteningQualityLevelCount
00149
00150 } AIFlatteningQuality;
00151
00152
00155 typedef struct
00156 {
00158 ai::uint32 flags;
00162 ai::uint16 balance;
00165 AIReal rasterResolution;
00168 AIReal meshResolution;
00169
00172 struct
00173 {
00175 AIReal start;
00177 AIReal end;
00178 } progress;
00179
00180 } AIFlatteningOptions;
00181
00182
00190 typedef enum
00191 {
00193 kAIFlatteningInfoLinkedEPSObject,
00195 kAIFlatteningInfoPlacedArtObject
00196 } AIFlatteningInfoType;
00197
00201 typedef struct
00202 {
00204 AIArtHandle object;
00208 AIBoolean interacts;
00212 AIBoolean parseOK;
00213 } AIFlatteningInfoLinkedEPSObject;
00214
00218 typedef struct
00219 {
00221 AIArtHandle object;
00222 } AIFlatteningInfoPlacedArtObject;
00223
00225 typedef struct
00226 {
00228 AIFlatteningInfoType what;
00231 union
00232 {
00235 AIFlatteningInfoLinkedEPSObject linkedEPSObject;
00238 AIFlatteningInfoPlacedArtObject placedArtObject;
00239 } x;
00240 } AIFlatteningInfoSnippet;
00241
00248 typedef AIErr (*AIFlatteningInfoReceiver) (void* receiverdata, AIFlatteningInfoSnippet* snippet);
00249
00250
00251
00252
00253
00254
00255
00256
00264 typedef struct {
00273 AIAPI AIErr (*FlattenArt)(AIArtSet artSet, AIFlatteningOptions *options, ai::int16 paintOrder, AIArtHandle prep);
00274
00280 AIAPI AIErr (*CreateTemporaryFlatteningLayer)(AILayerHandle *layer);
00281
00289 AIAPI AIErr (*FlattenDocumentToLayer)(AILayerHandle layer);
00290
00294 AIAPI AIErr (*RemoveTemporaryFlatteningLayer)();
00295
00302 AIAPI AIErr (*IsTemporaryFlatteningLayer)(AILayerHandle layer, AIBoolean *flattening);
00303
00309 AIAPI AIErr (*ReportError)(AIErr error);
00310
00323 AIAPI AIErr (*CollectDocumentFlatteningInfo)(AIFlatteningInfoReceiver receiver, void* receiverdata);
00324
00334 AIAPI AIErr (*FlattenAIDocumentToLayer)(AILayerHandle layer, ASBoolean isEPS);
00335
00336 } AIMaskFlattenerSuite;
00337
00338
00339 #include "AIHeaderEnd.h"
00340
00341
00342 #endif