Adobe.com
Contents Suites Classes Class Index Member Index

AIRasterize.h

Go to the documentation of this file.
00001 #ifndef __AIRasterize__
00002 #define __AIRasterize__
00003 
00004 /*
00005  *        Name: AIRasterize.h
00006  *   $Revision: 8 $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Rasterize 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 __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  **     Constants
00062  **
00063  **/
00064 
00065 #define kAIRasterizeSuite                               "AI Rasterize Suite"
00066 #define kAIRasterizeSuiteVersion11              AIAPI_VERSION(11)
00067 
00068 /* Latest version */
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  **     Types
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  **     Suite
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


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