Adobe.com
Contents Suites Classes Class Index Member Index

AIVectorize.h

Go to the documentation of this file.
00001 #ifndef __AIVectorize__
00002 #define __AIVectorize__
00003 
00004 /*
00005  *        Name: AIVectorize.h
00006  *   $Revision: 1 $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Vectorize 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 __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  ** Constants
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  ** Catalog Keys - Presets
00076  **
00077  **/
00078 
00080 #define kAITracingPresetsCatalogName            "Adobe Vectorize Presets"
00081 
00082 /*******************************************************************************
00083  **
00084  ** Dictionary Keys - Options
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 // options contents
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 kTracingLibraryPath                                     "adobe/vectorize/ip/LibraryPath"
00160 
00163 #define kTracingColorGroupName                          "adobe/vectorize/ip/ColorGroupName"
00164 
00167 #define kTracingFillsKey                                        "adobe/vectorize/tracing/fills"
00168 
00171 #define kTracingStrokesKey                                      "adobe/vectorize/tracing/strokes"
00172 
00175 #define kTracingMaxStrokeWeightKey                      "adobe/vectorize/tracing/maxstrokeweight"
00176 
00179 #define kTracingVisualizeKey                    "adobe/vectorize/visualize"
00180 
00181 
00184 #define kTracingIgnoreWhiteKey                          "adobe/vectorize/output/ignorewhite"
00185 
00186 #define kTracingSnapCurvesToLinesKey            "adobe/vectorize/output/snapcurvestolines"
00187 
00188 // cache contents
00191 #define kTracingTracingArtKey                           "adobe/vectorize/tracing/art"
00192 
00194 #define kTracingPreprocessedImageKey            "adobe/vectorize/preprocessed/image"
00195 
00198 #define kTracingSourceArtChangedKey                     "adobe/vectorize/src/changed"
00199 
00201 #define kTracingScratchGroupKey                         "adobe/vectorize/scratch/group"
00202 
00204 #define kTracingAdjustedRasterMatrixKey         "adobe/vectorize/raster/matrix"
00205 
00207 #define kTracingAdjustedRasterChecksumKey       "adobe/vectorize/raster/checksum"
00208 
00209 // statistics contents
00212 #define kTracingPathCountKey                            "adobe/vectorize/statistics/pathcount"
00213 
00215 #define kTracingAnchorCountKey                          "adobe/vectorize/statistics/anchorcount"
00216 
00218 #define kTracingColorCountKey                           "adobe/vectorize/statistics/colorcount"
00219 
00220 
00221 #define kTracingResampleDefault                         (false)
00222 
00223 #define kTracingModeDefault                                     (0)
00224 #define kTracingThresholdDefault                        (128)
00225 #define kTracingGrayscaleDefault                        (50)
00226 
00227 #define kTracingPresetStringNameDefault         ("$$$/Tracing/Str/Options/DefaultPreset00=[Default]")
00228 #define kLibraryNameDefault                                     ("$$$/VectorizePanel/ColorGroupSelection/NoLibrary=NoLib")
00229 #define kColorGroupNameDefault                          ("$$$/VectorizePanel/ColorGroupSelection/All=All")
00230 #define kTracingLimitedMaxColorsDefault         (30)
00231 #define kTracingFullToneMaxFidelityDefault      (100.0f)
00232 #define kTracingAutomaticMaxFidelityDefault     (100.0f)
00233 #define kTracingColorTypeDefault                        (0)
00234 #define kTracingColorGroupDefault                       (0)
00235 #define kTracingFidelityDefault                         (50)
00236 #define kTracingPathFidelityDefault                     (50.0)
00237 #define kTracingCornerFidelityDefault           (50.0)
00238 #define kTracingNoiseFidelityDefault            (50)
00239 #define kTracingFillsDefault                            (true)
00240 #define kTracingStrokesDefault                          (false)
00241 #define kTracingDetectShapesDefault                     (true)
00242 #define kTracingMaxStrokeWeightDefault          (10.0f)
00243 
00245 #define kTracingVisualizeVectorDefault          (0)
00246 
00247 #define kTracingIgnoreWhiteDefault                      (false)
00248 #define kTracingSnapCurvesToLinesDefault        (false)
00249 
00251 #define kTracingSourceArtChangedDefault         (true)
00252 
00253 
00254 
00255 /*******************************************************************************
00256  **
00257  ** Types
00258  **
00259  **/
00260 
00263 typedef struct _t_AITracingState *AITracingStateHandle;
00264 
00267 typedef struct _t_AITracingViewOptions *AITracingViewOptionsHandle;
00268 
00269 
00270 
00273 typedef ai::int32 AITracingMode;
00274 
00275 enum ColorType
00276 {
00277         kAIAutomaticTracingColors,
00278         kAILimitedTracingColors,
00279         kAIFullToneTracingColors,
00280 };
00281 
00283 enum VectorizeModes
00284 {
00286         kAIVectorizeModeColor,
00288         kAIVectorizeModeGray,
00290         kAIVectorizeModeBlackAndWhite
00291 };
00292 
00293 enum OverlappingAbuttingValue
00294 {
00295         kAIAbutting,
00296         kAIOverlapping,
00297 };
00298 
00299 typedef ai::int32 AIVectorizeVisualizeType;
00301 enum AIVectorizeVisualizeVectorValue
00302 {
00303         //The vector output only
00304         kAIVectorizedResult = 0,
00305         //Displays the vectors along with the path outline
00306         kAIVectorizedObjectWithOutline,
00307         //Displays the traced vectors in outline.
00308         kAIVectorizeOutline,
00309         //The vector outline is displayed along with 50% transparent source image.
00310         kAIVectorWithTransparentImage,
00311         //Displays the source image only
00312         kAISourceImage
00313 };
00314 
00315 
00316 
00317 
00318 /*******************************************************************************
00319  **
00320  **     Suite Record
00321  **
00322  **/
00323 
00324 
00342 typedef struct {
00343 
00351         AIAPI AIErr (*CreateTracing) (ai::int16 paintOrder, AIArtHandle prep, AIArtHandle art, AIArtHandle *tracing);
00352 
00358         AIAPI AIBoolean (*IsTracing) (AIArtHandle tracing);
00359 
00365         AIAPI AIErr (*GetSourceImage) (AIArtHandle tracing, AIArtHandle *raster);
00366 
00376         AIAPI AIErr (*CopyTracingArt) (AIArtHandle tracing, ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *art, AIBool8 copyAsViewed);
00377 
00385         AIAPI AIErr (*AcquireTracingOptions) (AIArtHandle tracing, AIDictionaryRef *options);
00386 
00394         AIAPI AIErr (*AcquireTracingStatistics) (AIArtHandle tracing, AIDictionaryRef *options);
00395 
00400         AIAPI AIErr (*EmbedSwatches) (AIArtHandle tracing);
00401 
00406         AIAPI AIErr (*Update) (AIArtHandle tracing);
00407 
00408 
00415         AIAPI AIErr (*GetNativeResolution) (AIArtHandle art, AIReal *dpi);
00416 
00424         AIAPI AIErr (*GetEffectiveResolution) (AIArtHandle art, AIReal *dpi);
00425 
00430         AIAPI AIErr (*SetSourceArtChanged) (AIArtHandle tracing, AIBoolean changed);
00431 
00432 } AIVectorizeSuite;
00433 
00434 
00435 
00436 
00437 
00438 
00439 
00440 #include "AIHeaderEnd.h"
00441 
00442 
00443 #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