00001 #ifndef __AIVectorize__
00002 #define __AIVectorize__
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 __AIRaster__
00035 #include "AIRaster.h"
00036 #endif
00037
00038 #ifndef __AIDictionary__
00039 #include "AIDictionary.h"
00040 #endif
00041
00042 #ifndef __AIImageOptimization__
00043 #include "AIImageOptimization.h"
00044 #endif
00045
00046
00047 #include "AIHeaderBegin.h"
00048
00052
00053
00054
00055
00056
00057
00058 #define kAIVectorizeSuite "AI Vectorize Suite"
00059 #define kAIVectorizeSuiteVersion AIAPI_VERSION(1)
00060 #define kAIVectorizeVersion kAIVectorizeSuiteVersion
00061
00062
00063
00064
00069 #define kAIVectorizeUpdateNotifier "AI Vectorize Update Notifier"
00070
00071
00072
00073
00074
00075
00076
00077
00078
00080 #define kAITracingPresetsCatalogName "Adobe Vectorize Presets"
00081
00082
00083
00084
00085
00086
00087
00091 #define kTracingGlobalPresetKey "-adobe/vectorize/options/global/preset"
00092
00094 #define kTracingOptionsKey "adobe/vectorize/options"
00095
00097 #define kTracingOptionsOldKey "-adobe/vectorize/options/old"
00098
00100 #define kTracingCacheKey "-adobe/vectorize/cache"
00101
00103 #define kTracingStatisticsKey "adobe/vectorize/statistics"
00104
00105
00108 #define kTracingPresetKey "adobe/vectorize/preset"
00109
00112 #define kTracingModeKey "adobe/vectorize/mode"
00113
00116 #define kTracingThresholdKey "adobe/vectorize/ip/threshold"
00117
00120 #define kTracingGrayscaleKey "adobe/vectorize/ip/grayscale"
00121
00124 #define kTracingPathFidelityKey "adobe/vectorize/ip/PathFidelity"
00125
00128 #define kTracingCornerFidelityKey "adobe/vectorize/ip/CornerFidelity"
00129
00132 #define kTracingNoiseFidelityKey "adobe/vectorize/ip/NoiseFidelity"
00133
00136 #define kTracingOverlappingOrAbuttingKey "adobe/vectorize/ip/OverlappingOrAbutting"
00137
00140 #define kTracingTypeColorKey "adobe/vectorize/ip/typecolor"
00141
00144 #define kTracingLimitedColorsKey "adobe/vectorize/ip/Limitedcolors"
00145
00147 #define kTracingFullColorsFidelityKey "adobe/vectorize/ip/FullcolorsFidelity"
00148
00151 #define kTracingAutomaticColorsFidelityKey "adobe/vectorize/ip/AutomaticcolorsFidelity"
00152
00155 #define kTracingLibraryName "adobe/vectorize/ip/LibraryName"
00156
00159 #define kTracingColorGroupName "adobe/vectorize/ip/ColorGroupName"
00160
00163 #define kTracingFillsKey "adobe/vectorize/tracing/fills"
00164
00167 #define kTracingStrokesKey "adobe/vectorize/tracing/strokes"
00168
00171 #define kTracingMaxStrokeWeightKey "adobe/vectorize/tracing/maxstrokeweight"
00172
00175 #define kTracingVisualizeKey "adobe/vectorize/visualize"
00176
00177
00180 #define kTracingIgnoreWhiteKey "adobe/vectorize/output/ignorewhite"
00181
00182 #define kTracingSnapCurvesToLinesKey "adobe/vectorize/output/snapcurvestolines"
00183
00184
00187 #define kTracingTracingArtKey "adobe/vectorize/tracing/art"
00188
00190 #define kTracingPreprocessedImageKey "adobe/vectorize/preprocessed/image"
00191
00194 #define kTracingSourceArtChangedKey "adobe/vectorize/src/changed"
00195
00197 #define kTracingScratchGroupKey "adobe/vectorize/scratch/group"
00198
00200 #define kTracingAdjustedRasterMatrixKey "adobe/vectorize/raster/matrix"
00201
00203 #define kTracingAdjustedRasterChecksumKey "adobe/vectorize/raster/checksum"
00204
00205
00208 #define kTracingPathCountKey "adobe/vectorize/statistics/pathcount"
00209
00211 #define kTracingAnchorCountKey "adobe/vectorize/statistics/anchorcount"
00212
00214 #define kTracingColorCountKey "adobe/vectorize/statistics/colorcount"
00215
00216
00217 #define kTracingResampleDefault (false)
00218
00219 #define kTracingModeDefault (0)
00220 #define kTracingThresholdDefault (128)
00221 #define kTracingGrayscaleDefault (50)
00222
00223 #define kTracingPresetStringNameDefault ("$$$/Tracing/Str/Options/DefaultPreset00=[Default]")
00224 #define kLibraryNameDefault ("$$$/VectorizePanel/ColorGroupSelection/NoLibrary=NoLib")
00225 #define kColorGroupNameDefault ("$$$/VectorizePanel/ColorGroupSelection/All=All")
00226 #define kTracingLimitedMaxColorsDefault (30)
00227 #define kTracingFullToneMaxFidelityDefault (100.0f)
00228 #define kTracingAutomaticMaxFidelityDefault (100.0f)
00229 #define kTracingColorTypeDefault (0)
00230 #define kTracingColorGroupDefault (0)
00231 #define kTracingFidelityDefault (50)
00232 #define kTracingPathFidelityDefault (50.0)
00233 #define kTracingCornerFidelityDefault (50.0)
00234 #define kTracingNoiseFidelityDefault (50)
00235 #define kTracingFillsDefault (true)
00236 #define kTracingStrokesDefault (false)
00237 #define kTracingDetectShapesDefault (true)
00238 #define kTracingMaxStrokeWeightDefault (10.0f)
00239
00241 #define kTracingVisualizeVectorDefault (0)
00242
00243 #define kTracingIgnoreWhiteDefault (false)
00244 #define kTracingSnapCurvesToLinesDefault (false)
00245
00247 #define kTracingSourceArtChangedDefault (true)
00248
00249
00250
00251
00252
00253
00254
00255
00256
00259 typedef struct _t_AITracingState *AITracingStateHandle;
00260
00263 typedef struct _t_AITracingViewOptions *AITracingViewOptionsHandle;
00264
00265
00266
00269 typedef ai::int32 AITracingMode;
00270
00271 enum ColorType
00272 {
00273 kAIAutomaticTracingColors,
00274 kAILimitedTracingColors,
00275 kAIFullToneTracingColors,
00276 };
00277
00279 enum VectorizeModes
00280 {
00282 kAIVectorizeModeColor,
00284 kAIVectorizeModeGray,
00286 kAIVectorizeModeBlackAndWhite
00287 };
00288
00289 enum OverlappingAbuttingValue
00290 {
00291 kAIAbutting,
00292 kAIOverlapping,
00293 };
00294
00295 typedef ai::int32 AIVectorizeVisualizeType;
00297 enum AIVectorizeVisualizeVectorValue
00298 {
00299
00300 kAIVectorizedResult = 0,
00301
00302 kAIVectorizedObjectWithOutline,
00303
00304 kAIVectorizeOutline,
00305
00306 kAIVectorWithTransparentImage,
00307
00308 kAISourceImage
00309 };
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00338 typedef struct {
00339
00347 AIAPI AIErr (*CreateTracing) (ai::int16 paintOrder, AIArtHandle prep, AIArtHandle art, AIArtHandle *tracing);
00348
00354 AIAPI AIBoolean (*IsTracing) (AIArtHandle tracing);
00355
00361 AIAPI AIErr (*GetSourceImage) (AIArtHandle tracing, AIArtHandle *raster);
00362
00372 AIAPI AIErr (*CopyTracingArt) (AIArtHandle tracing, ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *art, AIBool8 copyAsViewed);
00373
00381 AIAPI AIErr (*AcquireTracingOptions) (AIArtHandle tracing, AIDictionaryRef *options);
00382
00390 AIAPI AIErr (*AcquireTracingStatistics) (AIArtHandle tracing, AIDictionaryRef *options);
00391
00396 AIAPI AIErr (*EmbedSwatches) (AIArtHandle tracing);
00397
00402 AIAPI AIErr (*Update) (AIArtHandle tracing);
00403
00404
00411 AIAPI AIErr (*GetNativeResolution) (AIArtHandle art, AIReal *dpi);
00412
00420 AIAPI AIErr (*GetEffectiveResolution) (AIArtHandle art, AIReal *dpi);
00421
00426 AIAPI AIErr (*SetSourceArtChanged) (AIArtHandle tracing, AIBoolean changed);
00427
00428 } AIVectorizeSuite;
00429
00430
00431
00432
00433
00434
00435
00436 #include "AIHeaderEnd.h"
00437
00438
00439 #endif