Adobe.com
Contents Suites Classes Class Index Member Index

AIDrawArt.h

Go to the documentation of this file.
00001 #ifndef __AIDrawArt__
00002 #define __AIDrawArt__
00003 
00004 /*
00005  *        Name: AIDrawArt.h
00006  *   $Revision: $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Draw Art Suite.
00010  *
00011  * ADOBE SYSTEMS INCORPORATED
00012  * Copyright 1986-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 __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  **     Constants
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  **     Types
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) // This ensures no porting effort for the change
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;                                                   // when style is frame
00350 
00351         union {
00352                 AIDrawArtGWorld gWorld;
00353                 AIDrawArtAGMPort port;
00354                 AIDrawArtAGMPortV6 portV6;
00355         } output;
00356 } AIDrawColorData;
00357 
00358 
00359 /*******************************************************************************
00360  **
00361  **     Suite
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


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