00001 #ifndef __AISymbol__
00002 #define __AISymbol__
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 #ifndef __AITypes__
00028 #include "AITypes.h"
00029 #endif
00030
00031 #ifndef __AIArt__
00032 #include "AIArt.h"
00033 #endif
00034
00035 #ifndef __AIColor__
00036 #include "AIColor.h"
00037 #endif
00038
00039 #ifndef __AIPathStyle__
00040 #include "AIPathStyle.h"
00041 #endif
00042
00043 #include "AIHeaderBegin.h"
00044
00048
00049
00050
00051
00052
00053
00054 #define kAISymbolSuite "AI Symbol Suite"
00055 #define kAISymbolSuiteVersion8 AIAPI_VERSION(8)
00056 #define kAISymbolSuiteVersion kAISymbolSuiteVersion8
00057 #define kAISymbolVersion kAISymbolSuiteVersion
00058
00059 #define kAISymbolPaletteSuite "AI Symbol Palette Suite"
00060 #define kAISymbolPaletteSuiteVersion3 AIAPI_VERSION(3)
00061 #define kAISymbolPaletteSuiteVersion kAISymbolPaletteSuiteVersion3
00062 #define kAISymbolPaletteVersion kAISymbolPaletteSuiteVersion
00063
00064
00070 #define kAIArtSymbolSetChangedNotifier "AI Art Symbol Set Changed Notifier"
00071
00074 #define kAIArtSymbolSetDetailedChangeNotifier "AI Art Symbol Set Detailed Change Notifier"
00075
00080 #define kAIArtSymbolListChangedNotifier "AI Art Symbol List Changed Notifier"
00081
00083 #define kAIArtSymbolDoubleClickedNotifier "AI Art Symbol Double Clicked Notifier"
00084
00088 #define kMaxSymbolNameLength 63
00089
00090
00094 #define kSymbolNotInCurrentDocument 'SYnD'
00095
00098 #define kCircularSymbolDefinitionErr '@in@'
00099
00101 #define kNoGraphsInSymbolDefErr '#in@'
00102
00105 #define kNoLinkedImagesInSymbolDefErr '!%i@'
00106
00109 #define kNoPerspectiveInSymbolDefErr '$in@'
00110
00112 #define kInvalidSymbolDefErr '!#Sd'
00113
00115 #define kCantDeleteSymbolUsedInLiveEffectsErr '!Del'
00116
00117
00133 #define kAISymbolToSelectDictKey "AISymbolToSelect"
00134
00135
00136
00139 typedef enum {
00140 kSymbolAdded,
00141 kSymbolDeleted,
00142 kSymbolRenamed,
00143 kSymbolChanged
00144 } AISymbolChangeType;
00145
00150 enum AISymbolSearchScope {
00153 kSearchArtDictionary = 0x0001,
00157 kSearchDescendants = 0x0002,
00159 kSearchVisualRepresentation = 0x0004,
00161 kSearchNestedSymbolPatterns = 0x0008,
00163 kSearchEffectDictionaries = 0x0040,
00165 kSymbolSearchEverywhere = 0x004F,
00167 kSearchPrintingOnly = 0x0010,
00169 kSymbolSearchListedOnly = 0x0020
00170 };
00171
00174 enum AISymbolGlobalObjectUsage {
00176 kUsedInGraphDesigns = 0x0001,
00178 kUsedInUsedGraphDesigns = 0x0002,
00180 kUsedInOtherSymbols = 0x0004,
00182 kUsedInUsedSymbols = 0x0008
00183 };
00184
00188 enum AISymbolFlashExportType
00189 {
00191 kGraphicType = 0x01,
00193 kMovieClipType = 0x02
00194 };
00195
00200 enum AISymbolRegistrationPoint
00201 {
00202 kSymbolTopLeftPoint = 0x01,
00203 kSymbolTopMiddlePoint,
00204 kSymbolTopRightPoint,
00205 kSymbolMiddleLeftPoint,
00206 kSymbolCenterPoint,
00207 kSymbolMiddleRightPoint,
00208 kSymbolBottomLeftPoint,
00209 kSymbolBottomMiddlePoint,
00210 kSymbolBottomRightPoint,
00211 kSymbolRegistrationPointUndefined = 0xffffffff
00212 };
00213
00217 typedef struct {
00220 size_t timestamp;
00223 size_t count;
00225 AIPatternHandle *changedSymbols;
00228 AISymbolChangeType *changeTypes;
00229 } AISymbolSetChangeNotifierData;
00230
00232 typedef struct {
00234 AIArtHandle symbolArt;
00235 } AISymbolInstanceDoubleClickedNotifierData;
00236
00237 enum SymbolDeleteChoice
00238 {
00239 kExpandInstances,
00240 kDeleteInstances
00241 };
00242
00243
00244
00245
00246
00247
00307 typedef struct {
00308
00316 AIAPI AIErr (*CountSymbolPatterns) ( ai::int32 *count, ASBoolean includeUnlisted );
00317
00326 AIAPI AIErr (*GetNthSymbolPattern) ( ai::int32 n, AIPatternHandle *symbolPattern, ASBoolean includeUnlisted );
00327
00333 AIAPI AIErr (*GetSymbolPatternByName) ( const ai::UnicodeString& name, AIPatternHandle *symbolPattern );
00334
00342 AIAPI AIErr (*GetSymbolByNameFromDocument) ( const ai::UnicodeString& name, AIPatternHandle *symbolPattern,
00343 AIDocumentHandle document );
00344
00351 AIAPI AIErr (*CountSymbolPatternsFromDocument) ( ai::int32* count, AIDocumentHandle document );
00352
00360 AIAPI AIErr (*GetNthSymbolPatternFromDocument) ( ai::int32 n, AIPatternHandle *symbolPattern,
00361 AIDocumentHandle document );
00362
00373 AIAPI AIErr (*NewSymbolPattern) ( AIPatternHandle *newSymbolPattern, AIArtHandle definitionArt, AISymbolRegistrationPoint registrationPoint, ASBoolean transformDefinitionArt, ASBoolean unlisted );
00374
00381 AIAPI AIErr (*NewSymbolPatternFromSel) ( AIPatternHandle *symbolPattern , AISymbolRegistrationPoint registrationPoint);
00382
00393 AIAPI AIErr (*NewSymbolPatternFromSelGetBounds) ( AIPatternHandle *symbolPattern, AIRealRect *selectionBounds , AISymbolRegistrationPoint registrationPoint);
00394
00401 AIAPI AIErr (*DeleteSymbolPattern) ( AIPatternHandle symbolPattern );
00402
00410 AIAPI AIBoolean (*ValidateSymbolPattern) ( AIPatternHandle symbolPattern );
00411
00412
00413
00414
00420 AIAPI AIErr (*GetSymbolPatternArt) ( AIPatternHandle pattern, AIArtHandle *art );
00421
00439 AIAPI AIErr (*PasteSymbolPatternArt) ( AIPatternHandle symbolPattern );
00440
00449 AIAPI AIErr (*CopySymbolPatternArt) ( AIPatternHandle symbolPattern,
00450 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt );
00451
00458 AIAPI AIErr (*SetSymbolPatternArt) ( AIPatternHandle symbolPattern, AIArtHandle definitionArt , ASBoolean transformDefinationArt);
00459
00465 AIAPI AIErr (*SetSymbolPatternFromSel) ( AIPatternHandle symbolPattern );
00466
00467
00468
00469
00470
00471
00478 AIAPI AIErr (*GetSymbolPatternName) ( AIPatternHandle symbolPattern, ai::UnicodeString& name );
00479
00489 AIAPI AIErr (*SetSymbolPatternName) ( AIPatternHandle symbolPattern, const ai::UnicodeString& name );
00490
00495 AIAPI AIErr (*GetSymbolPatternDisplayName) ( ai::UnicodeString& name );
00496
00503 AIAPI AIErr (*SetSymbolPatternBaseName) ( AIPatternHandle symbolPattern, ai::UnicodeString& name );
00504
00515 AIAPI AIErr (*NewInstanceCenteredInView) ( AIPatternHandle symbolPattern,
00516 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt );
00517
00529 AIAPI AIErr (*NewInstanceAtLocation) ( AIPatternHandle symbolPattern, AIRealPoint center,
00530 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt );
00531
00543 AIAPI AIErr (*NewInstanceWithTransform) ( AIPatternHandle symbolPattern, AIRealMatrix *transform,
00544 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt );
00545
00550 AIAPI AIErr (*GetSymbolPatternOfSymbolArt) ( AIArtHandle symbolArt, AIPatternHandle *symbolPattern );
00551
00556 AIAPI AIErr (*SetSymbolPatternOfSymbolArt) ( AIArtHandle symbolArt, AIPatternHandle symbolPattern );
00557
00570 AIAPI AIErr (*GetHardTransformOfSymbolArt) ( AIArtHandle symbolArt, AIRealMatrix *transform );
00571
00577 AIAPI AIErr (*SetHardTransformOfSymbolArt) ( AIArtHandle symbolArt, AIRealMatrix *transform );
00578
00585 AIAPI AIErr (*GetSoftTransformOfSymbolArt) ( AIArtHandle symbolArt, AIRealMatrix *transform );
00586
00592 AIAPI AIErr (*SetSoftTransformOfSymbolArt) ( AIArtHandle symbolArt, AIRealMatrix *transform );
00593
00611 AIAPI AIErr (*InsertExpandedSymbolArt) ( AIArtHandle symbolArt,
00612 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *expandedArt );
00613
00622 AIAPI AIBoolean (*IsSymbolPatternListed) ( AIPatternHandle symbolPattern );
00623
00628 AIAPI AIErr (*MakeSymbolPatternListed) ( AIPatternHandle symbolPattern );
00629
00633 AIAPI AIErr (*UnlistSymbolPattern) ( AIPatternHandle symbolPattern );
00634
00638 AIAPI AIErr (*SortListedSymbolPatterns) ( void );
00639
00647 AIAPI AIErr (*MoveSymbolPatternInList) ( AIPatternHandle symbolPattern, int index );
00648
00685 AIAPI AIBoolean (*ArtUsesSymbolPattern) ( AIArtHandle art, ai::int16 searchScope, AIPatternHandle targetSymbol,
00686 AIPatternHandle *oneFoundSymbol,
00687 AIPatternHandle ***allFoundSymbols, int *foundCount,
00688 int *globalObjectUsage);
00689
00712 AIAPI AIErr (*BreakLinkToSymbol) ( AIArtHandle symbolArt,
00713 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *expandedArt );
00714
00737 AIAPI AIErr (*RetargetForCurrentDocument) ( AIPatternHandle srcPattern, AIPatternHandle *dstPattern );
00738
00739
00740
00758 AIAPI AIErr (*CopySymbolPatternOutline) ( AIPatternHandle symbolPattern,
00759 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt, ai::int32 convertToOutlineOptions );
00760
00779 AIAPI AIErr (*InsertSymbolArtOutline) ( AIArtHandle symbolArt,
00780 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *expandedArt, ai::int32 convertToOutlineOptions );
00781
00795 AIAPI AIErr (*PeekCachedPatternOutline) ( AIPatternHandle symbolPattern, AIArtHandle *outlineArt, ai::int32 convertToOutlineOptions );
00796
00797
00798
00805 AIAPI AIErr (*SetSymbolPatternFromSelGetBounds) ( AIPatternHandle symbolPattern, AIRealRect *selectionBounds );
00806
00807
00813 AIAPI AIErr (*SetSymbolExportType) ( AIPatternHandle symbolPattern, AISymbolFlashExportType exportType);
00814
00820 AIAPI AIErr (*GetSymbolExportType) ( AIPatternHandle symbolPattern, AISymbolFlashExportType *exportType);
00821
00822
00828 AIAPI AIErr (*SetSymbolEnableGuides) ( AIPatternHandle symbolPattern, AIBoolean enableGuides);
00829
00836 AIAPI AIErr (*GetSymbolEnableGuides) ( AIPatternHandle symbolPattern, AIBoolean *enableGuides);
00837
00843 AIAPI AIErr (*SetSymbol9SliceGrid) ( AIPatternHandle symbolPattern, AIRealRect slice9Grid);
00844
00850 AIAPI AIErr (*GetSymbol9SliceGrid) ( AIPatternHandle symbolPattern, AIRealRect *slice9Grid);
00851
00852
00853
00879 AIAPI AIErr (*SetEditingSymbolDefinition) ( AIPatternHandle symbolPattern, AIArtHandle symbolArt);
00880
00889 AIAPI AIErr (*EndEditingSymbolDefinition) ( AIPatternHandle symbolPattern, AIBoolean updateSymbol);
00890
00895 AIAPI AIBoolean (*GetSymbolEditMode) ();
00896
00904 AIAPI AIErr (*ExitSymbolEditMode) ( );
00905
00911 AIAPI AIBoolean (*EditingSymbolPattern) (AIPatternHandle symbolPattern);
00912
00920 AIAPI AIBoolean (*IsSymbolEditingArtType) ( AIArtHandle art, AIPatternHandle *symbolPattern);
00921
00935 AIAPI AIErr (*ValidateSymbolEditingArt) ( AIPatternHandle symbolPattern, AIArtHandle editingArtParent);
00936
00941 AIAPI AIErr (*SetSymbolPixelPerfect) ( AIPatternHandle symbolPattern, AIBoolean isPixelPerfect);
00942
00947 AIAPI AIErr (*GetSymbolEnablePixelPerfect) ( AIPatternHandle symbolPattern, AIBoolean* isPixelPerfect);
00948
00956 AIAPI AIErr (*IsSymbolArt9SliceScaled) (AIArtHandle symbolArt, AIBoolean* is9SliceScaled);
00957
00987 AIAPI AIErr (*RetargetForCurrentDocumentAsUnlisted) ( AIPatternHandle srcPattern, AIPatternHandle *dstPattern );
00988
00995 AIAPI AIErr(*DeleteSymbolPatternEx) (AIPatternHandle srcPattern, ai::uint32 deleteChoice);
00996
00997 } AISymbolSuite;
00998
00999
01000
01001
01002
01003
01004
01005
01006
01016 typedef struct {
01020 AIAPI AIErr (*GetCurrentSymbol) ( AIPatternHandle *symbolPattern );
01021
01025 AIAPI AIErr (*SetCurrentSymbol) ( AIPatternHandle symbolPattern );
01026
01032 AIAPI AIBoolean (*IsSymbolSelected) ( AIPatternHandle symbolPattern );
01033
01039 AIAPI ai::int32 (*CountSelectedSymbols) ( void );
01040
01046 AIAPI AIErr (*GetNthSelectedSymbol) ( ai::int32 n, AIPatternHandle *symbolPattern );
01047
01052 AIAPI AIBoolean (*IsPaletteVisible) ( void );
01053 } AISymbolPaletteSuite;
01054
01055
01056 #include "AIHeaderEnd.h"
01057
01058
01059 #endif