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 kAIRasterizeSuiteVersion12              AIAPI_VERSION(12)
00067 
00068 /* Latest version */
00069 #define kAIRasterizeSuiteVersion                kAIRasterizeSuiteVersion12
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,
00185     kFillBlackAndIgnoreTransparancy = 1<<10
00186 };
00187 
00191 struct AIRasterizeSettings {
00192         AIRasterizeSettings () :
00193                 type(kRasterizeGrayscale),
00194                 resolution(0),
00195                 antialiasing(1),
00196                 options(kRasterizeOptionsNone),
00197                 ccoptions(AIColorConvertOptions::kDefault),
00198                 preserveSpotColors(false)
00199         {
00200         }
00201         AIRasterizeSettings ( AIRasterizeType iType,
00202                         AIReal iResolution,
00203                         short iAntialiasing,
00204                         AIRasterizeOptions iOptions,
00205                         AIColorConvertOptions iCcoptions,
00206                         AIBoolean iPreserveSpotColors) :
00207                 type(iType),
00208                 resolution(iResolution),
00209                 antialiasing(iAntialiasing),
00210                 options(iOptions),
00211                 ccoptions(iCcoptions),
00212                 preserveSpotColors(iPreserveSpotColors)
00213         {
00214         }
00215         AIRasterizeSettings (const AIRasterizeSettings& src) :
00216                 type(src.type),
00217                 resolution(src.resolution),
00218                 antialiasing(src.antialiasing),
00219                 options(src.options),
00220                 ccoptions(src.ccoptions),
00221                 preserveSpotColors(src.preserveSpotColors)
00222         {
00223         }
00224         AIRasterizeSettings& operator= (const AIRasterizeSettings& src)
00225         {
00226                 type = src.type;
00227                 resolution = src.resolution;
00228                 antialiasing = src.antialiasing;
00229                 options = src.options;
00230                 ccoptions = src.ccoptions;
00231                 preserveSpotColors = src.preserveSpotColors;
00232                 return *this;
00233         }
00234 
00236         AIRasterizeType type;
00238         AIReal resolution;
00241         short antialiasing;
00244         AIRasterizeOptions options;
00246         AIColorConvertOptions ccoptions;
00248         AIBoolean preserveSpotColors;
00249 };
00250 
00252 enum AIResamplingType {
00254         kSubsample = 0,
00256         kDownsample,
00258         kBicubicDownsample
00259 
00260 };
00261 
00268 typedef AIAPI AIBoolean (*AIRasterizeProgressProc)(ai::int32 current, ai::int32 total);
00269 
00270 
00271 /*******************************************************************************
00272  **
00273  **     Suite
00274  **
00275  **/
00276 
00277 
00289 typedef struct {
00290 
00298         AIAPI AIErr (*ComputeArtBounds) ( AIArtSet artSet,
00299                                                                           AIRealRect *artBounds,
00300                                                                           AIBoolean honorCropBox );
00301 
00315         AIAPI AIErr (*Rasterize) ( AIArtSet artSet,
00316                                                            AIRasterizeSettings *settings,
00317                                                            AIRealRect *artBounds,
00318                                                            short paintOrder,
00319                                                            AIArtHandle prepArt,
00320                                                            AIArtHandle *raster,
00321                                                            AIRasterizeProgressProc progressProc );
00322 
00338         AIAPI AIErr (*CreateMask) ( AIArtSet artSet,
00339                                                                 short paintOrder,
00340                                                                 AIArtHandle rasterArt,
00341                                                                 AIArtHandle *maskGroup );
00342 
00361         AIAPI AIErr (*RasterizeWithPadding) ( AIArtSet artSet,
00362                                                                                   AIRasterizeSettings *settings,
00363                                                                                   AIRealRect *artBounds,
00364                                                                                   short paintOrder,
00365                                                                                   AIArtHandle prepArt,
00366                                                                                   AIArtHandle *raster,
00367                                                                                   AIRasterizeProgressProc progressProc,
00368                                                                                   AIReal padding );
00369 
00384         AIAPI AIErr (*RasterizeDocument) ( AIRasterizeSettings *settings,
00385                                                            short paintOrder,
00386                                                            AIArtHandle prepArt,
00387                                                            AIArtHandle *raster,
00388                                                            AIRasterizeProgressProc progressProc,
00389                                                            ai::int32 options );
00390 
00402         AIAPI AIErr (*ImageResample) (AIArtHandle rasterArt,
00403                                                                         const AIResamplingType flag,
00404                                                                         const AIReal resolution,
00405                                                                         const short paintOrder,
00406                                                                         AIArtHandle prepArt,
00407                                                                         AIArtHandle *newRasterArt);
00408 
00415         AIAPI AIErr (*CheckSpotColorPreservation) (AIArtSet artSet,
00416                                                                         AIBoolean *canPreserveSpotColor);
00417 
00418         AIAPI void (*SnapRasterRectToPixelGrid)(AIRealRect &rect, AIReal ppi);
00419     
00420     
00440     AIAPI AIErr (*RasterizeWithPaddingAndBGColor) ( AIArtSet artSet,
00441                                          AIRasterizeSettings *settings,
00442                                          AIRealRect *artBounds,
00443                                          short paintOrder,
00444                                          AIArtHandle prepArt,
00445                                          AIArtHandle *raster,
00446                                          AIRasterizeProgressProc progressProc,
00447                                          AIReal padding,
00448                                          AIColor* bgColor);
00449 
00450 
00451 } AIRasterizeSuite;
00452 
00453 #include "AIHeaderEnd.h"
00454 
00455 
00456 #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