00001 #ifndef __AIDrawArt__
00002 #define __AIDrawArt__
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 __AIColor__
00039 #include "AIColor.h"
00040 #endif
00041
00042 #ifndef __AIColorConversion__
00043 #include "AIColorConversion.h"
00044 #endif
00045
00046 #ifndef __AIRaster__
00047 #include "AIRaster.h"
00048 #endif
00049
00050 #include "AIAGMTypes.h"
00051
00052 #include "AIHeaderBegin.h"
00053
00056
00057
00058
00059
00060
00061
00062 #define kAIDrawArtSuite "AI Draw Art Suite"
00063 #define kAIDrawArtSuiteVersion11 AIAPI_VERSION(11)
00064 #define kAIDrawArtSuiteVersion kAIDrawArtSuiteVersion11
00065 #define kAIDrawArtVersion kAIDrawArtSuiteVersion
00066
00068 enum AIDrawArtFlagBitPos {
00070 kAIDrawArtPreviewBit = 0,
00072 kAIDrawArtPreviewImagesBit = 1,
00075 kAIDrawArtPreviewDimmedImagesBit = 2,
00077 kAIDrawArtPreviewPatternsBit = 3,
00079 kAIDrawArtSelectObjectsBit = 4,
00081 kAIDrawArtShowGuidesBit = 5,
00088 kAIDrawArtIgnoreArtTransformBit = 6,
00090 kAIDrawArtPreviewCropBit = 7,
00097 kAIDrawArtPreviewInterrupt = 8,
00100 kAIDrawArtPreviewContinue = 9,
00103 kAIDrawArtIgnoreDashedLines = 10,
00105 kAIDrawArtDontColorCalibration = 11,
00110 kAIDrawArtIsolate = 12,
00114 kAIDrawArtIgnoreTopLevelTransparency = 13,
00121 kAIDrawArtSimulateColoredPaper = 14,
00124 kAIDrawArtIgnoreOverprint = 15,
00129 kAIDrawArtPlayEPS = 16,
00132 kAIDrawArtFastColorTransform = 17,
00138 kAIDrawArtDontCachePatterns = 18,
00140 kAIDrawArtIgnoreTopLevelInvisibility = 19,
00145 kAIDrawArtKnockoutAlreadyOn = 20,
00147 kAIDrawArtRunInBackground = 21,
00150 kAIDrawArtPreviewCannotContinue = 22,
00155 kAIDrawArtClipOnly = 23,
00164 kAIDrawArtOPP = 24,
00168 kAISuppressWhiteOP = 25,
00172 kAIDrawSVGTextAsOutline = 26,
00177 kAIDrawColorTextAsImage = 27,
00180 kAIDrawArtShadow = 28
00181 };
00182
00184 enum AIDrawArtFlagsValue {
00185 kAIDrawArtPreviewMask = (1 << kAIDrawArtPreviewBit),
00186 kAIDrawArtPreviewImagesMask = (1 << kAIDrawArtPreviewImagesBit),
00187 kAIDrawArtPreviewDimmedImagesMask = (1 << kAIDrawArtPreviewDimmedImagesBit),
00188 kAIDrawArtPreviewImageOrDimImageMask = (kAIDrawArtPreviewImagesMask | kAIDrawArtPreviewDimmedImagesMask),
00189 kAIDrawArtPreviewPatternsMask = (1 << kAIDrawArtPreviewPatternsBit),
00190 kAIDrawArtSelectObjectsMask = (1 << kAIDrawArtSelectObjectsBit),
00191 kAIDrawArtShowGuidesMask = (1 << kAIDrawArtShowGuidesBit),
00192 kAIDrawArtIgnoreArtTransformMask = (1 << kAIDrawArtIgnoreArtTransformBit),
00193 kAIDrawArtPreviewCropMask = (1 << kAIDrawArtPreviewCropBit),
00194 kAIDrawArtPreviewInterruptMask = (1 << kAIDrawArtPreviewInterrupt),
00195 kAIDrawArtPreviewContinueMask = (1 << kAIDrawArtPreviewContinue),
00196 kAIDrawArtIgnoreDashedLinesMask = (1 << kAIDrawArtIgnoreDashedLines),
00197 kAIDrawArtDontColorCalibrationMask = (1 << kAIDrawArtDontColorCalibration),
00198 kAIDrawArtIsolateMask = (1 << kAIDrawArtIsolate),
00199 kAIDrawArtIgnoreTopLevelTransparencyMask = (1 << kAIDrawArtIgnoreTopLevelTransparency),
00200 kAIDrawArtSimulateColoredPaperMask = (1 << kAIDrawArtSimulateColoredPaper),
00201 kAIDrawArtIgnoreOverprintMask = (1 << kAIDrawArtIgnoreOverprint),
00202 kAIDrawArtPlayEPSMask = (1 << kAIDrawArtPlayEPS),
00203 kAIDrawArtFastColorTransformMask = (1 << kAIDrawArtFastColorTransform),
00204 kAIDrawArtDontCachePatternsMask = (1 << kAIDrawArtDontCachePatterns),
00205 kAIDrawArtIgnoreTopLevelInvisibilityMask = (1 << kAIDrawArtIgnoreTopLevelInvisibility),
00206 kAIDrawArtKnockoutAlreadyOnMask = (1 << kAIDrawArtKnockoutAlreadyOn),
00207 kAIDrawArtRunInBackgroundMask = (1 << kAIDrawArtRunInBackground),
00208 kAIDrawArtPreviewCannotContinueMask = (1 << kAIDrawArtPreviewCannotContinue),
00209 kAIDrawArtClipOnlyMask = (1 << kAIDrawArtClipOnly),
00210 kAIDrawArtOPPMask = (1 << kAIDrawArtOPP),
00211 kAISuppressWhiteOPMask = (1 << kAISuppressWhiteOP),
00212 kAIDrawSVGTextAsOutlineMask = (1 << kAIDrawSVGTextAsOutline),
00213 kAIDrawColorTextAsImageMask = (1 << kAIDrawColorTextAsImage),
00214 kAIDrawArtShadowMask = (1 << kAIDrawArtShadow),
00215 };
00216
00217
00221 enum AIDrawArtOutputTypeValue {
00222 kAIDrawArtUnknownOutput = 0,
00225 kAIDrawArtGWorldOutput = 1,
00227 kAIDrawArtAGMPortOutput = 2,
00229 kAIDrawArtAGMPortOutputV6 = 3,
00231 kAIDrawArtStructuredPortOutput = 4
00232 };
00233
00235 enum AIDrawColorStyleValue {
00237 kAIDrawColorStyleFill = 0,
00239 kAIDrawColorStyleFrame = 1
00240 };
00241
00242
00244 enum AIDrawColorOptionsValue {
00246 kAIDrawArtGradientForceLinear = (1 << 0),
00250 kAIDrawColorNoDocCsConversion = (1 << 1)
00251 };
00252
00253
00255 #define kUnknownDrawArtErr 'DHUH'
00256
00257 #define KUnknownDrawArtOutputTypeErr 'DOUT'
00258
00259 #define kBadDrawArtPreviewMatrixErr 'DMTX'
00260
00261 #define kDrawArtInterruptedErr 'DITR'
00262
00263
00264
00265
00266
00267
00268
00269
00271 typedef ai::uint32 AIDrawArtFlags;
00273 typedef ai::int32 AIDrawArtOutputType;
00274
00276 typedef struct AIDrawArtGWorld {
00277 void *worldPointer;
00278 } AIDrawArtGWorld;
00279
00281 typedef struct AIDrawArtAGMPort {
00282 AIAGMPort *port;
00283 AIRect portBounds;
00284 } AIDrawArtAGMPort;
00285
00287 typedef struct AIDrawArtAGMPortV6 {
00288 void *port;
00289 AIRect portBounds;
00290 } AIDrawArtAGMPortV6;
00291
00293 typedef union {
00294
00295 AIDrawArtGWorld gWorld;
00296 AIDrawArtAGMPort port;
00297 AIDrawArtAGMPortV6 portV6;
00298 struct AIStructuredPort* structPort;
00299 } AIDrawArtOutputUnion;
00300
00304 typedef struct AIDrawArtData {
00306 ai::int16 version;
00309 AIDrawArtFlags flags;
00311 AIDrawArtOutputType type;
00314 AIRealPoint origin;
00317 AIRealMatrix matrix;
00319 AIArtHandle art;
00321 AIRealRect destClipRect;
00323 AIBoolean eraseDestClipRect;
00326 AIArtHandle interruptedArt;
00331 AIReal greekThreshold;
00333 AIExtendedRGBColorRec selectionColor;
00335 AIDrawArtOutputUnion output;
00337 AIBoolean doSrcClip;
00340 AIRealRect srcClipRect;
00341 public:
00343 AIDrawArtData():doSrcClip(false)
00344 {
00345 }
00346 } AIDrawArtData;
00347
00348
00350 typedef ai::int32 AIDrawColorStyle;
00352 typedef ai::int32 AIDrawColorOptions;
00353
00357 typedef struct AIDrawColorData {
00358 AIDrawArtOutputType type;
00359
00360 AIDrawColorStyle style;
00361 AIDrawColorOptions options;
00362 AIColor color;
00363 AIRealRect rect;
00364 AIReal width;
00365
00366 union {
00367 AIDrawArtGWorld gWorld;
00368 AIDrawArtAGMPort port;
00369 AIDrawArtAGMPortV6 portV6;
00370 } output;
00371 } AIDrawColorData;
00372
00373
00374
00375
00376
00377
00378
00379
00398 typedef struct {
00399
00415 AIAPI AIErr (*DrawArt)(AIDrawArtData *data, const AIColorConvertOptions& options );
00416
00434 AIAPI AIErr (*BeginDrawArt)(AIDrawArtData * data, const AIColorConvertOptions& options, AIDrawArtFlags flags );
00435
00442 AIAPI AIErr (*EndDrawArt)(AIDrawArtData *data, const AIColorConvertOptions& options );
00443
00450 AIAPI AIErr (*DrawColorSwatch)( AIDrawColorData *data );
00451
00458 AIAPI AIErr (*DrawHilite)( AIArtHandle art, AIRGBColor* color, float lineWidth );
00459
00467 AIAPI AIErr (*DrawThumbnail) ( AIArtHandle art, void* port, AIRealRect* dstrect );
00468
00474 AIAPI AIErr (*CreateImagePort) (ai::uint32 width, ai::uint32 height, AIAGMPort **outRport);
00475
00496 AIAPI AIErr (*GetImagePixelData) (AIAGMPort *rport, const ai::uint8** outPixedData, size_t* outLength, ai::uint32* outWidth, ai::uint32* outHeight);
00497
00501 AIAPI AIErr (*DestroyImagePort) (AIAGMPort *rport);
00502
00503 } AIDrawArtSuite;
00504
00505
00506 #include "AIHeaderEnd.h"
00507
00508
00509 #endif