00001 #ifndef __AIPathfinder__
00002 #define __AIPathfinder__
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 __AIFilter__
00039 #include "AIFilter.h"
00040 #endif
00041
00042 #ifndef __AIMenu__
00043 #include "AIMenu.h"
00044 #endif
00045
00046 #ifndef __AIPlugin__
00047 #include "AIPlugin.h"
00048 #endif
00049
00050
00051 #include "AIHeaderBegin.h"
00052
00053
00057
00058
00059
00060
00061
00063 #define kAIPathfinderSuite "AI Pathfinder Suite"
00064
00065 #define kAIPathfinderSuiteVersion6 AIAPI_VERSION(6)
00066
00067 #define kAIPathfinderSuiteVersion kAIPathfinderSuiteVersion6
00068
00069 #define kAIPathfinderVersion kAIPathfinderSuiteVersion
00070
00072 #define kDefaultPrecision 10.0
00073
00074 #define kRemoveRedundantPointsDefault 0
00075
00076 #define kExtractUnpaintedArtworkDefault 0
00077
00078 #define kAllowEmptyOutputDefault 0
00079
00080 #define kIgnoreEvenOddFillRuleDefault 0
00081
00083 #define kSoftRateDefault 0.5
00084
00085 #define kMixConvertCustomColorsDefault 1
00086
00087
00089 #define kTrapThicknessDefault 0.25
00090
00091 #define kHeightWidthAspectRatioDefault 1.0
00092
00093 #define kTrapTintDefault 0.4
00094
00095 #define kMaximumTintDefault 1.0
00096
00097 #define kTintToleranceDefault 0.05
00098
00099 #define kReverseTrapDefault 0
00100
00101 #define kTrapConvertCustomColorsDefault 0
00102
00103
00105 #define pointsPerMicron (72.0 / 25400.0)
00106
00108 enum AIOptionsFlagValues {
00110 kExtractUnpaintedArtwork = 0x00001,
00116 kAllowEmptyOutput = 0x10000,
00119 kIgnoreEvenOddFillRule = 0x20000,
00122 kSuppressProgressDialog = 0x40000,
00125 kDeselectResultArts = 0x80000
00126
00127 };
00128
00129
00130
00131
00132
00133
00134
00136 typedef double dbl;
00137
00139 typedef struct {
00143 double ipmPrecision;
00145 ai::int32 removeRedundantPoints;
00147 ai::int32 flags;
00148 } AIOptions;
00149
00151 typedef struct {
00154 double softRate;
00157 ai::int32 convertCustomColors;
00158 } AIMixParameters;
00159
00164 typedef struct {
00167 double trapThickness;
00170 double heightWidthAspectRatio;
00173 double trapTint;
00176 double maximumTint;
00179 double tintTolerance;
00182 ai::int32 reverseTrap;
00185 ai::int32 convertCustomColors;
00186 } AITrapParameters;
00187
00189 typedef struct {
00191 AIMixParameters mixParameters;
00193 AITrapParameters trapParameters;
00194 } AIParameters;
00195
00197 typedef struct {
00199 AIOptions options;
00201 AIParameters parameters;
00204 AIArtHandle *fSelectedArt;
00206 ai::int32 fSelectedArtCount;
00208 ai::int32 fAlertInfoID;
00209 } AIPathfinderData;
00210
00211
00213 typedef struct {
00215 SPMessageData d;
00217 AIPathfinderData pathfinderData;
00218 } AIPathfinderMessage;
00219
00223 typedef enum AIShapeMode
00224 {
00226 kAIShapeModeAdd = 0,
00228 kAIShapeModeSubtract,
00230 kAIShapeModeIntersect,
00232 kAIShapeModeExclude
00233 } AIShapeMode;
00234
00235
00236
00237
00238
00239
00240
00241
00256 typedef struct {
00257
00262 AIAPI AIErr (*DoUniteEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00263
00268 AIAPI AIErr (*DoIntersectEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00269
00274 AIAPI AIErr (*DoExcludeEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00275
00280 AIAPI AIErr (*DoBackMinusFrontEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00281
00286 AIAPI AIErr (*DoFrontMinusBackEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00287
00292 AIAPI AIErr (*DoDivideEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00293
00298 AIAPI AIErr (*DoOutlineEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00299
00304 AIAPI AIErr (*DoTrimEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00305
00310 AIAPI AIErr (*DoMergeEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00311
00316 AIAPI AIErr (*DoCropEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00317
00322 AIAPI AIErr (*DoHardEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00323
00328 AIAPI AIErr (*DoSoftEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00329
00334 AIAPI AIErr (*DoTrapEffect) ( AIPathfinderData *data, AIFilterMessage *message );
00335
00340 AIAPI AIErr (*GetHardEffectParameters) ( AIPathfinderData *data, AIFilterMessage *message );
00341
00346 AIAPI AIErr (*GetSoftEffectParameters) ( AIPathfinderData *data, AIFilterMessage *message );
00347
00352 AIAPI AIErr (*GetTrapEffectParameters) ( AIPathfinderData *data, AIFilterMessage *message );
00353
00358 AIAPI AIErr (*GetGlobalOptions) ( AIPathfinderData *data, AIFilterMessage *message );
00359
00360
00366 AIAPI AIShapeMode (*GetShapeMode) ( AIArtHandle art );
00367
00373 AIAPI AIErr (*SetShapeMode) ( AIArtHandle art, AIShapeMode mode );
00374
00382 AIAPI AIErr (*NewCompoundShape) ( ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt );
00383
00388 AIAPI AIErr (*IsCompoundShape) ( AIArtHandle art, AIBoolean *isCompoundShape );
00389
00395 AIAPI AIErr (*FlattenArt) ( AIArtHandle *inOutArt );
00396
00397 } AIPathfinderSuite;
00398
00399
00400 #include "AIHeaderEnd.h"
00401
00402 #endif