00001 #ifndef __AISLICING__
00002 #define __AISLICING__
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 __SLICETYPES__
00035 #include "AISliceTypes.h"
00036 #endif
00037
00038 #ifndef __AIDataFilter__
00039 #include "AIDataFilter.h"
00040 #endif
00041
00042 #ifndef __AIEntry__
00043 #include "AIEntry.h"
00044 #endif
00045
00046 #ifndef __AIPlatformMemory__
00047 #include "AIPlatformMemory.h"
00048 #endif
00049
00050 #ifndef __AIHTMLCONVERSION__
00051 #include "AIHTMLConversion.h"
00052 #endif
00053
00054 #ifndef AIFLASHPREFS_H
00055 #include "AIFlashPrefs.h"
00056 #endif
00057
00058 #ifndef _AISVGACTION_H_
00059 #include "AISVGAction.h"
00060 #endif
00061
00062 #ifndef __AIDict__
00063 #include "AIDictionary.h"
00064 #endif
00065
00066 #include "AIHeaderBegin.h"
00067
00070
00071
00072
00073
00074
00075
00076 #define kAISlicingSuite "AI Slicing Suite"
00077 #define kAISlicingSuiteVersion4 AIAPI_VERSION(4)
00078 #define kAISlicingSuiteVersion kAISlicingSuiteVersion4
00079 #define kAISlicingVersion kAISlicingSuiteVersion
00080
00081 #define kAIOptimizationSettingsSuite "AI Optimization Settings Suite"
00082 #define kAIOptimizationSettingsSuiteVersion3 AIAPI_VERSION(3)
00083 #define kAIOptimizationSettingsSuiteVersion kAIOptimizationSettingsSuiteVersion3
00084 #define kAIOptimizationSettingsVersion kAIOptimizationSettingsSuiteVersion
00085
00086
00089 #define kAISlicingChangedNotifier "AI Slicing Changed"
00090
00092 #define kAISliceCommandsMenuGroup "AI Slice Commands Menu Group"
00093
00094
00095
00096
00097
00098
00099
00102 enum ASOptimizedFileFormat
00103 {
00105 asffGIF89a,
00107 asffJPEG,
00109 asffPNG8,
00111 asffPNG24,
00113 asffAuto,
00115 asffInvalidFormat,
00117 asffMixedFormat,
00119 asffSWF,
00121 asffSVG
00122 };
00123
00125 enum ASDitherAlgorithm
00126 {
00128 asdaNone,
00130 asdaDiffusion,
00132 asdaPattern,
00134 asdaWhiteNoise,
00136 asdaBlueNoise
00137 };
00138
00140 enum ASReductionAlgorithm
00141 {
00143 asraAdaptive,
00145 asraSelective,
00147 asraPerceptual,
00149 asraMacintoshSystem,
00151 asraWindowsSystem,
00153 asraWeb,
00155 asraImageReadyCustom,
00157 asraFileBased,
00159 asraNeuralNet,
00161 asraFauxPerceptual
00162 };
00163
00169 typedef struct
00170 {
00172 AIRGBColor rangeStart;
00174 AIRGBColor rangeEnd;
00176 AIRGBColor remapColor;
00177 }
00178 ASColorShiftEntry;
00179
00182 typedef struct
00183 {
00185 AIBoolean transparency;
00187 AIBoolean includeCaption;
00189 AIBoolean interlaced;
00190
00192 AIBoolean noMatteColor;
00194 AIRGBColor matteColor;
00195
00197 AIBoolean autoReduced;
00199 AIBoolean rolloverMasterPalette;
00200
00203 ai::int32 webShiftedPercentage;
00205 ai::int32 numberOfColors;
00207 ai::int32 qualitySetting;
00209 ASDitherAlgorithm ditherAlgorithm;
00211 ai::int32 ditherPercentage;
00213 ASReductionAlgorithm reductionAlgorithm;
00214
00217 ASHandle reductionAlgorithmFilename;
00219 ASDitherAlgorithm transparencyDitherAlgorithm;
00220 } ASGIFSettings;
00221
00224 typedef struct
00225 {
00227 AIBoolean transparency;
00229 AIBoolean noMatteColor;
00231 AIRGBColor matteColor;
00233 AIBoolean optimized;
00235 ai::int32 qualitySetting;
00237 AIBoolean multiplePasses;
00239 AIReal blurAmount;
00241 AIBoolean embedICCProfile;
00242 } ASJPEGSettings;
00243
00246 typedef struct
00247 {
00249 AIBoolean transparency;
00251 AIBoolean includeCaption;
00253 AIBoolean interlaced;
00255 AIBoolean noMatteColor;
00257 AIRGBColor matteColor;
00258
00260 AIBoolean autoReduced;
00262 AIBoolean rolloverMasterPalette;
00265 ai::int32 webShiftedPercentage;
00267 ai::int32 numberOfColors;
00268
00270 ASDitherAlgorithm ditherAlgorithm;
00272 ai::int32 ditherPercentage;
00274 ASReductionAlgorithm reductionAlgorithm;
00275
00278 ASHandle reductionAlgorithmFilename;
00280 ASDitherAlgorithm transparencyDitherAlgorithm;
00281 } ASPNG8Settings;
00282
00285 typedef struct
00286 {
00288 AIBoolean transparency;
00290 AIBoolean includeCaption;
00292 AIBoolean interlaced;
00294 AIBoolean noMatteColor;
00296 AIRGBColor matteColor;
00298 AIBoolean filtered;
00299 } ASPNG24Settings;
00300
00303 typedef struct
00304 {
00306 AISVGFontSubsetting fontSubsetting;
00308 AISVGFileLocation fontLocation;
00310 AISVGRasterLocation imageLocation;
00312 AIBoolean obsolete;
00314 AISVGFileCompression compression;
00316 AISVGCoordinatePrecision precision;
00318 AISVGDocumentEncoding encoding;
00320 AISVGStyle style;
00322 AISVGDTD dtd;
00324 AISVGFontType fontType;
00326 AIBoolean optimize;
00327 } ASSVGSettings;
00328
00331 typedef struct
00332 {
00334 FlashExportOption exportOption;
00336 AIReal frameRate;
00338 AIBoolean loop;
00340 AIBoolean readOnly;
00342 ai::int32 curveQuality;
00344 AIBoolean preserveAppearance;
00346 AIBoolean compressed;
00348 AIBoolean outlineText;
00350 ai::int32 flashPlayerVersion;
00351 } ASSWFSettings;
00352
00355 typedef union
00356 {
00357 ASGIFSettings gif;
00358 ASJPEGSettings jpeg;
00359 ASPNG8Settings png8;
00360 ASPNG24Settings png24;
00361 ASSVGSettings svg;
00362 ASSWFSettings swf;
00363 } ASOptimizationSettingsUnion;
00364
00367 typedef struct ASOptimizationSettings
00368 {
00370 ASOptimizedFileFormat fileFormat;
00372 ASOptimizationSettingsUnion s;
00373 } ASOptimizationSettings;
00374
00386 typedef struct
00387 {
00389 ai::int32 groupID;
00391 ai::ESliceType type;
00393 AIBoolean textIsHTML;
00395 AIBoolean cellTextIsHTML;
00397 ai::ESliceHorzAlign horzAlign;
00399 ai::ESliceVertAlign vertAlign;
00401 ai::ESliceBGColorType bgColorType;
00403 AIRGBColor bgColor;
00404
00406 ASHandle hName;
00408 ASHandle hURL;
00410 ASHandle hTarget;
00412 ASHandle hMessage;
00414 ASHandle hAltTag;
00416 ASHandle hCellText;
00417 } ASSliceSettings;
00418
00419
00420 typedef void* AISavedSliceListRef;
00421
00422
00423
00424
00425
00426
00427
00428
00437 typedef struct {
00438
00446 AIAPI AIErr (*MakeSlice)(AIArtHandle art, ai::int32 *sliceID, AIBoolean fromPlace);
00447
00456 AIAPI AIErr (*CreateSlice)(AIArtHandle placeAboveArt, ai::int32 *sliceID, AIBoolean selected, AIBoolean fromPlace);
00457
00461 AIAPI AIErr (*DeleteSlice)(ai::int32 sliceID);
00462
00466 AIAPI AIErr (*Unslice)(AIArtHandle art);
00467
00473 AIAPI ai::int32 (*GetArtSliceID)(AIArtHandle art);
00474
00480 AIAPI AIArtHandle (*GetSliceArt)(ai::int32 sliceID);
00481
00486 AIAPI ai::int32 (*GetUniqueSliceID)(void);
00487
00493 AIAPI AIBoolean (*SliceExists)(ai::int32 sliceID);
00494
00500 AIAPI ai::int32 (*GetSliceCount)(void);
00501
00508 AIAPI ai::int32 (*GetIndexedSliceID)(ai::int32 index);
00509
00515 AIAPI AIErr (*SetSliceBounds)(ai::int32 sliceID, AIRealRect *boundsRect);
00516
00521 AIAPI AIErr (*GetSliceBounds)(ai::int32 sliceID, AIRealRect *boundsRect);
00522
00528 AIAPI AIErr (*SetSliceBorder)(ai::int32 sliceID, AIRealRect *borderRect);
00529
00534 AIAPI AIErr (*GetSliceBorder)(ai::int32 sliceID, AIRealRect *borderRect);
00535
00540 AIAPI AIErr (*SetSliceSettings)(ai::int32 sliceID, ASSliceSettings *settings);
00541
00546 AIAPI AIErr (*GetSliceSettings)(ai::int32 sliceID, ASSliceSettings *settings);
00547
00553 AIAPI AIErr (*SetSliceSetting)(ai::int32 sliceID, const AIDictKey &key, AIEntryRef valueEntry);
00554
00560 AIAPI AIErr (*GetSliceSetting)(ai::int32 sliceID, const AIDictKey &key, AIEntryRef *valueEntry);
00561
00567 AIAPI AIBoolean (*SliceIsText)(ai::int32 sliceID);
00568
00574 AIAPI AIErr (*SetSliceIsHTMLText)(ai::int32 sliceID, ai::int32 HTMLTextOptions);
00575
00584 AIAPI AIBoolean (*GetSliceIsHTMLText)(ai::int32 sliceID, ai::int32 *HTMLTextOptions);
00585
00594 AIAPI AIErr (*GetSliceAsHTMLText)(ai::int32 sliceID, ai::int32 options, ASHandle *text);
00595
00602 AIAPI AIBoolean (*SliceIsOnLayer)(ai::int32 sliceID, AILayerHandle layer);
00603
00609 AIAPI AIErr (*ReplaceSliceList)(ai::int32 groupID, AISavedSliceListRef *oldSliceList);
00610
00614 AIAPI AIErr (*RestoreSliceList)(AISavedSliceListRef oldSliceList);
00615
00621 AIAPI AIBoolean (*SliceIsSelected)(ai::int32 sliceID);
00622
00628 AIAPI AIErr (*GetSelectedSliceList)(ai::int32 **sliceIDList, ai::int32 *count);
00629
00633 AIAPI AIErr (*ReleaseSelectedSliceList)(ai::int32 *sliceIDList);
00634
00635
00636
00642 AIAPI AIErr (*DuplicateArtWithinRect)( AIRealRect sliceBounds , AIArtHandle outputGroup );
00643
00651 AIAPI AIErr (*TransferSliceAttributes)( AIArtHandle srcart, AIArtHandle dstart );
00652
00653 } AISlicingSuite;
00654
00670 typedef struct
00671 {
00677 AIAPI ai::int32 (*GetOptimizationSettingsCount)(void);
00678
00685 AIAPI ai::int32 (*GetIndexedOptimizationSettingsID)(ai::int32 index);
00686
00691 AIAPI void (*DeleteOptimizationSettings)(ai::int32 optimizationID);
00692
00697 AIAPI ai::int32 (*GetUniqueOptimizationSettingsID)(void);
00698
00705 AIAPI AIBoolean (*OptimizationSettingsExists)(ai::int32 optimizationID);
00706
00711 AIAPI AIErr (*SetOptimizationSettings)(ai::int32 optimizationID, ASOptimizationSettings *settings);
00712
00717 AIAPI AIErr (*GetOptimizationSettings)(ai::int32 optimizationID, ASOptimizationSettings *settings);
00718
00724 AIAPI AIErr (*SetOptimizationSetting)(ai::int32 optimizationID, const AIDictKey& key, AIEntryRef valueEntry);
00725
00731 AIAPI AIErr (*GetOptimizationSetting)(ai::int32 optimizationID, const AIDictKey& key, AIEntryRef *valueEntry);
00732
00738 AIAPI AIErr (*SetSliceOptimizationID)(ai::int32 sliceID, ai::int32 optimizationID);
00739
00745 AIAPI AIErr (*SetSliceOptimizationSettings)(ai::int32 sliceID, ASOptimizationSettings *settings);
00746
00753 AIAPI AIErr (*SetSliceOptimizationSetting)(ai::int32 sliceID, const AIDictKey&key, AIEntryRef valueEntry);
00754
00765 AIAPI AIErr (*GetColorTable)(ai::int32 optimizationID, ai::int32* numColors, AIRGBColor* colors, AIBoolean* exact);
00766
00773 AIAPI AIErr (*SetColorTable)(ai::int32 optimizationID, ai::int32 numColors, AIRGBColor* colors, AIBoolean exact);
00774
00784 AIAPI AIErr (*GetLockedColors)(ai::int32 optimizationID, ai::int32* numColors, AIRGBColor* colors);
00785
00791 AIAPI AIErr (*SetLockedColors)(ai::int32 optimizationID, ai::int32 numColors, AIRGBColor* colors);
00792
00804 AIAPI AIErr (*GetColorShiftEntries)(ai::int32 optimizationID, ai::int32* numEntries, ASColorShiftEntry *entries);
00805
00813 AIAPI AIErr (*SetColorShiftEntries)(ai::int32 optimizationID, ai::int32 numEntries, ASColorShiftEntry *entries);
00814
00815 } AIOptimizationSettingsSuite;
00816
00817
00818 #include "AIHeaderEnd.h"
00819
00820
00821 #endif