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
00169 };
00170
00172 enum AIDrawArtFlagsValue {
00173 kAIDrawArtPreviewMask = (1 << kAIDrawArtPreviewBit),
00174 kAIDrawArtPreviewImagesMask = (1 << kAIDrawArtPreviewImagesBit),
00175 kAIDrawArtPreviewDimmedImagesMask = (1 << kAIDrawArtPreviewDimmedImagesBit),
00176 kAIDrawArtPreviewImageOrDimImageMask = (kAIDrawArtPreviewImagesMask | kAIDrawArtPreviewDimmedImagesMask),
00177 kAIDrawArtPreviewPatternsMask = (1 << kAIDrawArtPreviewPatternsBit),
00178 kAIDrawArtSelectObjectsMask = (1 << kAIDrawArtSelectObjectsBit),
00179 kAIDrawArtShowGuidesMask = (1 << kAIDrawArtShowGuidesBit),
00180 kAIDrawArtIgnoreArtTransformMask = (1 << kAIDrawArtIgnoreArtTransformBit),
00181 kAIDrawArtPreviewCropMask = (1 << kAIDrawArtPreviewCropBit),
00182 kAIDrawArtPreviewInterruptMask = (1 << kAIDrawArtPreviewInterrupt),
00183 kAIDrawArtPreviewContinueMask = (1 << kAIDrawArtPreviewContinue),
00184 kAIDrawArtIgnoreDashedLinesMask = (1 << kAIDrawArtIgnoreDashedLines),
00185 kAIDrawArtDontColorCalibrationMask = (1 << kAIDrawArtDontColorCalibration),
00186 kAIDrawArtIsolateMask = (1 << kAIDrawArtIsolate),
00187 kAIDrawArtIgnoreTopLevelTransparencyMask = (1 << kAIDrawArtIgnoreTopLevelTransparency),
00188 kAIDrawArtSimulateColoredPaperMask = (1 << kAIDrawArtSimulateColoredPaper),
00189 kAIDrawArtIgnoreOverprintMask = (1 << kAIDrawArtIgnoreOverprint),
00190 kAIDrawArtPlayEPSMask = (1 << kAIDrawArtPlayEPS),
00191 kAIDrawArtFastColorTransformMask = (1 << kAIDrawArtFastColorTransform),
00192 kAIDrawArtDontCachePatternsMask = (1 << kAIDrawArtDontCachePatterns),
00193 kAIDrawArtIgnoreTopLevelInvisibilityMask = (1 << kAIDrawArtIgnoreTopLevelInvisibility),
00194 kAIDrawArtKnockoutAlreadyOnMask = (1 << kAIDrawArtKnockoutAlreadyOn),
00195 kAIDrawArtRunInBackgroundMask = (1 << kAIDrawArtRunInBackground),
00196 kAIDrawArtPreviewCannotContinueMask = (1 << kAIDrawArtPreviewCannotContinue),
00197 kAIDrawArtClipOnlyMask = (1 << kAIDrawArtClipOnly),
00198 kAIDrawArtOPPMask = (1 << kAIDrawArtOPP),
00199 kAISuppressWhiteOPMask = (1 << kAISuppressWhiteOP)
00200 };
00201
00202
00206 enum AIDrawArtOutputTypeValue {
00207 kAIDrawArtUnknownOutput = 0,
00210 kAIDrawArtGWorldOutput = 1,
00212 kAIDrawArtAGMPortOutput = 2,
00214 kAIDrawArtAGMPortOutputV6 = 3,
00216 kAIDrawArtStructuredPortOutput = 4
00217 };
00218
00220 enum AIDrawColorStyleValue {
00222 kAIDrawColorStyleFill = 0,
00224 kAIDrawColorStyleFrame = 1
00225 };
00226
00227
00229 enum AIDrawColorOptionsValue {
00231 kAIDrawArtGradientForceLinear = (1 << 0),
00235 kAIDrawColorNoDocCsConversion = (1 << 1)
00236 };
00237
00238
00240 #define kUnknownDrawArtErr 'DHUH'
00241
00242 #define KUnknownDrawArtOutputTypeErr 'DOUT'
00243
00244 #define kBadDrawArtPreviewMatrixErr 'DMTX'
00245
00246 #define kDrawArtInterruptedErr 'DITR'
00247
00248
00249
00250
00251
00252
00253
00254
00256 typedef ai::uint32 AIDrawArtFlags;
00258 typedef ai::int32 AIDrawArtOutputType;
00259
00261 typedef struct AIDrawArtGWorld {
00262 void *worldPointer;
00263 } AIDrawArtGWorld;
00264
00266 typedef struct AIDrawArtAGMPort {
00267 AIAGMPort *port;
00268 AIRect portBounds;
00269 } AIDrawArtAGMPort;
00270
00272 typedef struct AIDrawArtAGMPortV6 {
00273 void *port;
00274 AIRect portBounds;
00275 } AIDrawArtAGMPortV6;
00276
00278 typedef union {
00279
00280 AIDrawArtGWorld gWorld;
00281 AIDrawArtAGMPort port;
00282 AIDrawArtAGMPortV6 portV6;
00283 struct AIStructuredPort* structPort;
00284 } AIDrawArtOutputUnion;
00285
00289 typedef struct AIDrawArtData {
00291 ai::int16 version;
00294 AIDrawArtFlags flags;
00296 AIDrawArtOutputType type;
00299 AIRealPoint origin;
00302 AIRealMatrix matrix;
00304 AIArtHandle art;
00306 AIRealRect destClipRect;
00308 AIBoolean eraseDestClipRect;
00311 AIArtHandle interruptedArt;
00316 AIReal greekThreshold;
00318 AIExtendedRGBColorRec selectionColor;
00320 AIDrawArtOutputUnion output;
00322 AIBoolean doSrcClip;
00325 AIRealRect srcClipRect;
00326 public:
00328 AIDrawArtData():doSrcClip(false)
00329 {
00330 }
00331 } AIDrawArtData;
00332
00333
00335 typedef ai::int32 AIDrawColorStyle;
00337 typedef ai::int32 AIDrawColorOptions;
00338
00342 typedef struct AIDrawColorData {
00343 AIDrawArtOutputType type;
00344
00345 AIDrawColorStyle style;
00346 AIDrawColorOptions options;
00347 AIColor color;
00348 AIRealRect rect;
00349 AIReal width;
00350
00351 union {
00352 AIDrawArtGWorld gWorld;
00353 AIDrawArtAGMPort port;
00354 AIDrawArtAGMPortV6 portV6;
00355 } output;
00356 } AIDrawColorData;
00357
00358
00359
00360
00361
00362
00363
00364
00383 typedef struct {
00384
00400 AIAPI AIErr (*DrawArt)(AIDrawArtData *data, const AIColorConvertOptions& options );
00401
00419 AIAPI AIErr (*BeginDrawArt)(AIDrawArtData * data, const AIColorConvertOptions& options, AIDrawArtFlags flags );
00420
00427 AIAPI AIErr (*EndDrawArt)(AIDrawArtData *data, const AIColorConvertOptions& options );
00428
00435 AIAPI AIErr (*DrawColorSwatch)( AIDrawColorData *data );
00436
00443 AIAPI AIErr (*DrawHilite)( AIArtHandle art, AIRGBColor* color, float lineWidth );
00444
00452 AIAPI AIErr (*DrawThumbnail) ( AIArtHandle art, void* port, AIRealRect* dstrect );
00453
00459 AIAPI AIErr (*CreateImagePort) (ai::uint32 width, ai::uint32 height, AIAGMPort **outRport);
00460
00481 AIAPI AIErr (*GetImagePixelData) (AIAGMPort *rport, const ai::uint8** outPixedData, size_t* outLength, ai::uint32* outWidth, ai::uint32* outHeight);
00482
00486 AIAPI AIErr (*DestroyImagePort) (AIAGMPort *rport);
00487
00488 } AIDrawArtSuite;
00489
00490
00491 #include "AIHeaderEnd.h"
00492
00493
00494 #endif