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 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 // cache contents
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 // statistics contents
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  ** Types
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         //The vector output only
00300         kAIVectorizedResult = 0,
00301         //Displays the vectors along with the path outline
00302         kAIVectorizedObjectWithOutline,
00303         //Displays the traced vectors in outline.
00304         kAIVectorizeOutline,
00305         //The vector outline is displayed along with 50% transparent source image.
00306         kAIVectorWithTransparentImage,
00307         //Displays the source image only
00308         kAISourceImage
00309 };
00310 
00311 
00312 
00313 
00314 /*******************************************************************************
00315  **
00316  **     Suite Record
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


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