00001 #ifndef __AIRasterize__
00002 #define __AIRasterize__
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 __AIArtSet__
00039 #include "AIArtSet.h"
00040 #endif
00041
00042 #ifndef __AIColorConversion__
00043 #include "AIColorConversion.h"
00044 #endif
00045
00046 #ifndef __AIFixedMath__
00047 #include "AIFixedMath.h"
00048 #endif
00049
00050 #ifndef __AIRaster__
00051 #include "AIRaster.h"
00052 #endif
00053
00054
00055 #include "AIHeaderBegin.h"
00056
00059
00060
00061
00062
00063
00064
00065 #define kAIRasterizeSuite "AI Rasterize Suite"
00066 #define kAIRasterizeSuiteVersion11 AIAPI_VERSION(11)
00067
00068
00069 #define kAIRasterizeSuiteVersion kAIRasterizeSuiteVersion11
00070 #define kAIRasterizeVersion kAIRasterizeSuiteVersion
00071
00073 #define kAIRasterizeDefaultAntialiasing 2
00074
00075
00081 #define kAIAutoRasterSettingsKey "AI Auto Rasterize"
00082
00085 #define kDefaultRasterizeType "colr"
00086
00089 #define kDefaultRasterizeDPI "dpi."
00090
00093 #define kDefaultRasterizeAlias "alis"
00094
00097 #define kDefaultRasterizePreserveSpot "spot"
00098
00101 #define kDefaultRasterizeMask "mask"
00102
00105 #define kDefaultRasterizePadding "padd"
00106
00107
00111 #define kRasterizePrefPrefix "Rasterize/Defaults"
00112
00113
00119 #define kAIRasterizeTooWideErr 'R2Wd'
00120
00121
00122
00123
00124
00125
00126
00127
00130 enum AIRasterizeType {
00132 kRasterizeRGB = 0,
00134 kRasterizeCMYK,
00136 kRasterizeGrayscale,
00138 kRasterizeBitmap,
00140 kRasterizeARGB,
00142 kRasterizeACMYK,
00144 kRasterizeAGrayscale,
00146 kRasterizeABitmap,
00148 kRasterizeSeparation,
00150 kRasterizeASeparation,
00152 kRasterizeNChannel,
00154 kRasterizeANChannel
00155 };
00156
00159 enum AIRasterizeOptions {
00161 kRasterizeOptionsNone = 0,
00164 kRasterizeOptionsDoLayers = 1<<0,
00166 kRasterizeOptionsAgainstBlack = 1<<1,
00168 kRasterizeOptionsDontAlign = 1<<2,
00170 kRasterizeOptionsOutlineText = 1<<3,
00172 kRasterizeOptionsHinted = 1<<4,
00174 kRasterizeOptionsUseEffectsRes = 1<<5,
00177 kRasterizeOptionsUseMinTiles = 1<<6,
00179 kRasterizeOptionsCMYKWhiteMatting = 1<<7,
00181 kRasterizeOptionsSpotColorRasterOk = 1<<8,
00183 kRasterizeOptionsNChannelOk = 1<<9
00184 };
00185
00189 struct AIRasterizeSettings {
00190 AIRasterizeSettings () :
00191 type(kRasterizeGrayscale),
00192 resolution(0),
00193 antialiasing(1),
00194 options(kRasterizeOptionsNone),
00195 ccoptions(AIColorConvertOptions::kDefault),
00196 preserveSpotColors(false)
00197 {
00198 }
00199 AIRasterizeSettings ( AIRasterizeType iType,
00200 AIReal iResolution,
00201 short iAntialiasing,
00202 AIRasterizeOptions iOptions,
00203 AIColorConvertOptions iCcoptions,
00204 AIBoolean iPreserveSpotColors) :
00205 type(iType),
00206 resolution(iResolution),
00207 antialiasing(iAntialiasing),
00208 options(iOptions),
00209 ccoptions(iCcoptions),
00210 preserveSpotColors(iPreserveSpotColors)
00211 {
00212 }
00213 AIRasterizeSettings (const AIRasterizeSettings& src) :
00214 type(src.type),
00215 resolution(src.resolution),
00216 antialiasing(src.antialiasing),
00217 options(src.options),
00218 ccoptions(src.ccoptions),
00219 preserveSpotColors(src.preserveSpotColors)
00220 {
00221 }
00222 AIRasterizeSettings& operator= (const AIRasterizeSettings& src)
00223 {
00224 type = src.type;
00225 resolution = src.resolution;
00226 antialiasing = src.antialiasing;
00227 options = src.options;
00228 ccoptions = src.ccoptions;
00229 preserveSpotColors = src.preserveSpotColors;
00230 return *this;
00231 }
00232
00234 AIRasterizeType type;
00236 AIReal resolution;
00239 short antialiasing;
00242 AIRasterizeOptions options;
00244 AIColorConvertOptions ccoptions;
00246 AIBoolean preserveSpotColors;
00247 };
00248
00250 enum AIResamplingType {
00252 kSubsample = 0,
00254 kDownsample,
00256 kBicubicDownsample
00257
00258 };
00259
00266 typedef AIAPI AIBoolean (*AIRasterizeProgressProc)(ai::int32 current, ai::int32 total);
00267
00268
00269
00270
00271
00272
00273
00274
00275
00287 typedef struct {
00288
00296 AIAPI AIErr (*ComputeArtBounds) ( AIArtSet artSet,
00297 AIRealRect *artBounds,
00298 AIBoolean honorCropBox );
00299
00313 AIAPI AIErr (*Rasterize) ( AIArtSet artSet,
00314 AIRasterizeSettings *settings,
00315 AIRealRect *artBounds,
00316 short paintOrder,
00317 AIArtHandle prepArt,
00318 AIArtHandle *raster,
00319 AIRasterizeProgressProc progressProc );
00320
00336 AIAPI AIErr (*CreateMask) ( AIArtSet artSet,
00337 short paintOrder,
00338 AIArtHandle rasterArt,
00339 AIArtHandle *maskGroup );
00340
00359 AIAPI AIErr (*RasterizeWithPadding) ( AIArtSet artSet,
00360 AIRasterizeSettings *settings,
00361 AIRealRect *artBounds,
00362 short paintOrder,
00363 AIArtHandle prepArt,
00364 AIArtHandle *raster,
00365 AIRasterizeProgressProc progressProc,
00366 AIReal padding );
00367
00382 AIAPI AIErr (*RasterizeDocument) ( AIRasterizeSettings *settings,
00383 short paintOrder,
00384 AIArtHandle prepArt,
00385 AIArtHandle *raster,
00386 AIRasterizeProgressProc progressProc,
00387 ai::int32 options );
00388
00400 AIAPI AIErr (*ImageResample) (AIArtHandle rasterArt,
00401 const AIResamplingType flag,
00402 const AIReal resolution,
00403 const short paintOrder,
00404 AIArtHandle prepArt,
00405 AIArtHandle *newRasterArt);
00406
00413 AIAPI AIErr (*CheckSpotColorPreservation) (AIArtSet artSet,
00414 AIBoolean *canPreserveSpotColor);
00415
00416 AIAPI void (*SnapRasterRectToPixelGrid)(AIRealRect &rect, AIReal ppi);
00417
00418
00419 } AIRasterizeSuite;
00420
00421 #include "AIHeaderEnd.h"
00422
00423
00424 #endif