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,
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  **     Types
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) // This ensures no porting effort for the change
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;                                                   // when style is frame
00365 
00366         union {
00367                 AIDrawArtGWorld gWorld;
00368                 AIDrawArtAGMPort port;
00369                 AIDrawArtAGMPortV6 portV6;
00370         } output;
00371 } AIDrawColorData;
00372 
00373 
00374 /*******************************************************************************
00375  **
00376  **     Suite
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


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