Adobe.com
Contents Suites Classes Class Index Member Index

AISlicing.h

Go to the documentation of this file.
00001 #ifndef __AISLICING__
00002 #define __AISLICING__
00003 
00004 /*
00005 *        Name:  AISlicing.h
00006 *   $Revision: 2 $
00007 *      Author:
00008 *        Date:
00009 *     Purpose:  Adobe Illustrator Slicing 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 __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 **      Constants
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 **      Types
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 **      Suite
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         //      New in Illustrator 11
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


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