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
00028
00029 #ifndef __AITypes__
00030 #include "AITypes.h"
00031 #endif
00032
00033 #ifndef __AIArt__
00034 #include "AIArt.h"
00035 #endif
00036
00037 #ifndef __AIColor__
00038 #include "AIColor.h"
00039 #endif
00040
00041 #ifndef __AIPathStyle__
00042 #include "AIPathStyle.h"
00043 #endif
00044
00045 #include "AIHeaderBegin.h"
00046
00050
00051
00052
00053
00054
00055
00056 #define kAISymbolSuite "AI Symbol Suite"
00057 #define kAISymbolSuiteVersion7 AIAPI_VERSION(7)
00058 #define kAISymbolSuiteVersion kAISymbolSuiteVersion7
00059 #define kAISymbolVersion kAISymbolSuiteVersion
00060
00061 #define kAISymbolPaletteSuite "AI Symbol Palette Suite"
00062 #define kAISymbolPaletteSuiteVersion3 AIAPI_VERSION(3)
00063 #define kAISymbolPaletteSuiteVersion kAISymbolPaletteSuiteVersion3
00064 #define kAISymbolPaletteVersion kAISymbolPaletteSuiteVersion
00065
00066
00072 #define kAIArtSymbolSetChangedNotifier "AI Art Symbol Set Changed Notifier"
00073
00076 #define kAIArtSymbolSetDetailedChangeNotifier "AI Art Symbol Set Detailed Change Notifier"
00077
00082 #define kAIArtSymbolListChangedNotifier "AI Art Symbol List Changed Notifier"
00083
00085 #define kAIArtSymbolDoubleClickedNotifier "AI Art Symbol Double Clicked Notifier"
00086
00090 #define kMaxSymbolNameLength 63
00091
00092
00096 #define kSymbolNotInCurrentDocument 'SYnD'
00097
00100 #define kCircularSymbolDefinitionErr '@in@'
00101
00103 #define kNoGraphsInSymbolDefErr '#in@'
00104
00107 #define kNoLinkedImagesInSymbolDefErr '!%i@'
00108
00111 #define kNoPerspectiveInSymbolDefErr '$in@'
00112
00114 #define kInvalidSymbolDefErr '!#Sd'
00115
00117 #define kCantDeleteSymbolUsedInLiveEffectsErr '!Del'
00118
00119
00135 #define kAISymbolToSelectDictKey "AISymbolToSelect"
00136
00137
00138
00141 typedef enum {
00142 kSymbolAdded,
00143 kSymbolDeleted,
00144 kSymbolRenamed,
00145 kSymbolChanged
00146 } AISymbolChangeType;
00147
00152 enum AISymbolSearchScope {
00155 kSearchArtDictionary = 0x0001,
00159 kSearchDescendants = 0x0002,
00161 kSearchVisualRepresentation = 0x0004,
00163 kSearchNestedSymbolPatterns = 0x0008,
00165 kSearchEffectDictionaries = 0x0040,
00167 kSymbolSearchEverywhere = 0x004F,
00169 kSearchPrintingOnly = 0x0010,
00171 kSymbolSearchListedOnly = 0x0020
00172 };
00173
00176 enum AISymbolGlobalObjectUsage {
00178 kUsedInGraphDesigns = 0x0001,
00180 kUsedInUsedGraphDesigns = 0x0002,
00182 kUsedInOtherSymbols = 0x0004,
00184 kUsedInUsedSymbols = 0x0008
00185 };
00186
00190 enum AISymbolFlashExportType
00191 {
00193 kGraphicType = 0x01,
00195 kMovieClipType = 0x02
00196 };
00197
00202 enum AISymbolRegistrationPoint
00203 {
00204 kSymbolTopLeftPoint = 0x01,
00205 kSymbolTopMiddlePoint,
00206 kSymbolTopRightPoint,
00207 kSymbolMiddleLeftPoint,
00208 kSymbolCenterPoint,
00209 kSymbolMiddleRightPoint,
00210 kSymbolBottomLeftPoint,
00211 kSymbolBottomMiddlePoint,
00212 kSymbolBottomRightPoint,
00213 kSymbolRegistrationPointUndefined = 0xffffffff
00214 };
00215
00219 typedef struct {
00222 size_t timestamp;
00225 size_t count;
00227 AIPatternHandle *changedSymbols;
00230 AISymbolChangeType *changeTypes;
00231 } AISymbolSetChangeNotifierData;
00232
00234 typedef struct {
00236 AIArtHandle symbolArt;
00237 } AISymbolInstanceDoubleClickedNotifierData;
00238
00239
00240
00241
00242
00243
00244
00304 typedef struct {
00305
00313 AIAPI AIErr (*CountSymbolPatterns) ( ai::int32 *count, ASBoolean includeUnlisted );
00314
00323 AIAPI AIErr (*GetNthSymbolPattern) ( ai::int32 n, AIPatternHandle *symbolPattern, ASBoolean includeUnlisted );
00324
00330 AIAPI AIErr (*GetSymbolPatternByName) ( const ai::UnicodeString& name, AIPatternHandle *symbolPattern );
00331
00339 AIAPI AIErr (*GetSymbolByNameFromDocument) ( const ai::UnicodeString& name, AIPatternHandle *symbolPattern,
00340 AIDocumentHandle document );
00341
00348 AIAPI AIErr (*CountSymbolPatternsFromDocument) ( ai::int32* count, AIDocumentHandle document );
00349
00357 AIAPI AIErr (*GetNthSymbolPatternFromDocument) ( ai::int32 n, AIPatternHandle *symbolPattern,
00358 AIDocumentHandle document );
00359
00370 AIAPI AIErr (*NewSymbolPattern) ( AIPatternHandle *newSymbolPattern, AIArtHandle definitionArt, AISymbolRegistrationPoint registrationPoint, ASBoolean transformDefinitionArt, ASBoolean unlisted );
00371
00378 AIAPI AIErr (*NewSymbolPatternFromSel) ( AIPatternHandle *symbolPattern , AISymbolRegistrationPoint registrationPoint);
00379
00390 AIAPI AIErr (*NewSymbolPatternFromSelGetBounds) ( AIPatternHandle *symbolPattern, AIRealRect *selectionBounds , AISymbolRegistrationPoint registrationPoint);
00391
00398 AIAPI AIErr (*DeleteSymbolPattern) ( AIPatternHandle symbolPattern );
00399
00407 AIAPI AIBoolean (*ValidateSymbolPattern) ( AIPatternHandle symbolPattern );
00408
00409
00410
00411
00417 AIAPI AIErr (*GetSymbolPatternArt) ( AIPatternHandle pattern, AIArtHandle *art );
00418
00436 AIAPI AIErr (*PasteSymbolPatternArt) ( AIPatternHandle symbolPattern );
00437
00446 AIAPI AIErr (*CopySymbolPatternArt) ( AIPatternHandle symbolPattern,
00447 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt );
00448
00455 AIAPI AIErr (*SetSymbolPatternArt) ( AIPatternHandle symbolPattern, AIArtHandle definitionArt , ASBoolean transformDefinationArt);
00456
00462 AIAPI AIErr (*SetSymbolPatternFromSel) ( AIPatternHandle symbolPattern );
00463
00464
00465
00466
00467
00468
00475 AIAPI AIErr (*GetSymbolPatternName) ( AIPatternHandle symbolPattern, ai::UnicodeString& name );
00476
00486 AIAPI AIErr (*SetSymbolPatternName) ( AIPatternHandle symbolPattern, const ai::UnicodeString& name );
00487
00492 AIAPI AIErr (*GetSymbolPatternDisplayName) ( ai::UnicodeString& name );
00493
00500 AIAPI AIErr (*SetSymbolPatternBaseName) ( AIPatternHandle symbolPattern, ai::UnicodeString& name );
00501
00512 AIAPI AIErr (*NewInstanceCenteredInView) ( AIPatternHandle symbolPattern,
00513 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt );
00514
00526 AIAPI AIErr (*NewInstanceAtLocation) ( AIPatternHandle symbolPattern, AIRealPoint center,
00527 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt );
00528
00540 AIAPI AIErr (*NewInstanceWithTransform) ( AIPatternHandle symbolPattern, AIRealMatrix *transform,
00541 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt );
00542
00547 AIAPI AIErr (*GetSymbolPatternOfSymbolArt) ( AIArtHandle symbolArt, AIPatternHandle *symbolPattern );
00548
00553 AIAPI AIErr (*SetSymbolPatternOfSymbolArt) ( AIArtHandle symbolArt, AIPatternHandle symbolPattern );
00554
00567 AIAPI AIErr (*GetHardTransformOfSymbolArt) ( AIArtHandle symbolArt, AIRealMatrix *transform );
00568
00574 AIAPI AIErr (*SetHardTransformOfSymbolArt) ( AIArtHandle symbolArt, AIRealMatrix *transform );
00575
00582 AIAPI AIErr (*GetSoftTransformOfSymbolArt) ( AIArtHandle symbolArt, AIRealMatrix *transform );
00583
00589 AIAPI AIErr (*SetSoftTransformOfSymbolArt) ( AIArtHandle symbolArt, AIRealMatrix *transform );
00590
00608 AIAPI AIErr (*InsertExpandedSymbolArt) ( AIArtHandle symbolArt,
00609 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *expandedArt );
00610
00619 AIAPI AIBoolean (*IsSymbolPatternListed) ( AIPatternHandle symbolPattern );
00620
00625 AIAPI AIErr (*MakeSymbolPatternListed) ( AIPatternHandle symbolPattern );
00626
00630 AIAPI AIErr (*UnlistSymbolPattern) ( AIPatternHandle symbolPattern );
00631
00635 AIAPI AIErr (*SortListedSymbolPatterns) ( void );
00636
00644 AIAPI AIErr (*MoveSymbolPatternInList) ( AIPatternHandle symbolPattern, int index );
00645
00682 AIAPI AIBoolean (*ArtUsesSymbolPattern) ( AIArtHandle art, ai::int16 searchScope, AIPatternHandle targetSymbol,
00683 AIPatternHandle *oneFoundSymbol,
00684 AIPatternHandle ***allFoundSymbols, int *foundCount,
00685 int *globalObjectUsage);
00686
00709 AIAPI AIErr (*BreakLinkToSymbol) ( AIArtHandle symbolArt,
00710 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *expandedArt );
00711
00734 AIAPI AIErr (*RetargetForCurrentDocument) ( AIPatternHandle srcPattern, AIPatternHandle *dstPattern );
00735
00736
00737
00755 AIAPI AIErr (*CopySymbolPatternOutline) ( AIPatternHandle symbolPattern,
00756 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *newArt, ai::int32 convertToOutlineOptions );
00757
00776 AIAPI AIErr (*InsertSymbolArtOutline) ( AIArtHandle symbolArt,
00777 ai::int16 paintOrder, AIArtHandle prep, AIArtHandle *expandedArt, ai::int32 convertToOutlineOptions );
00778
00792 AIAPI AIErr (*PeekCachedPatternOutline) ( AIPatternHandle symbolPattern, AIArtHandle *outlineArt, ai::int32 convertToOutlineOptions );
00793
00794
00795
00802 AIAPI AIErr (*SetSymbolPatternFromSelGetBounds) ( AIPatternHandle symbolPattern, AIRealRect *selectionBounds );
00803
00804
00810 AIAPI AIErr (*SetSymbolExportType) ( AIPatternHandle symbolPattern, AISymbolFlashExportType exportType);
00811
00817 AIAPI AIErr (*GetSymbolExportType) ( AIPatternHandle symbolPattern, AISymbolFlashExportType *exportType);
00818
00819
00825 AIAPI AIErr (*SetSymbolEnableGuides) ( AIPatternHandle symbolPattern, AIBoolean enableGuides);
00826
00833 AIAPI AIErr (*GetSymbolEnableGuides) ( AIPatternHandle symbolPattern, AIBoolean *enableGuides);
00834
00840 AIAPI AIErr (*SetSymbol9SliceGrid) ( AIPatternHandle symbolPattern, AIRealRect slice9Grid);
00841
00847 AIAPI AIErr (*GetSymbol9SliceGrid) ( AIPatternHandle symbolPattern, AIRealRect *slice9Grid);
00848
00849
00850
00876 AIAPI AIErr (*SetEditingSymbolDefinition) ( AIPatternHandle symbolPattern, AIArtHandle symbolArt);
00877
00886 AIAPI AIErr (*EndEditingSymbolDefinition) ( AIPatternHandle symbolPattern, AIBoolean updateSymbol);
00887
00892 AIAPI AIBoolean (*GetSymbolEditMode) ();
00893
00901 AIAPI AIErr (*ExitSymbolEditMode) ( );
00902
00908 AIAPI AIBoolean (*EditingSymbolPattern) (AIPatternHandle symbolPattern);
00909
00917 AIAPI AIBoolean (*IsSymbolEditingArtType) ( AIArtHandle art, AIPatternHandle *symbolPattern);
00918
00932 AIAPI AIErr (*ValidateSymbolEditingArt) ( AIPatternHandle symbolPattern, AIArtHandle editingArtParent);
00933
00938 AIAPI AIErr (*SetSymbolPixelPerfect) ( AIPatternHandle symbolPattern, AIBoolean isPixelPerfect);
00939
00944 AIAPI AIErr (*GetSymbolEnablePixelPerfect) ( AIPatternHandle symbolPattern, AIBoolean* isPixelPerfect);
00945
00953 AIAPI AIErr (*IsSymbolArt9SliceScaled) (AIArtHandle symbolArt, AIBoolean* is9SliceScaled);
00954
00984 AIAPI AIErr (*RetargetForCurrentDocumentAsUnlisted) ( AIPatternHandle srcPattern, AIPatternHandle *dstPattern );
00985
00986 } AISymbolSuite;
00987
00988
00989
00990
00991
00992
00993
00994
00995
01005 typedef struct {
01009 AIAPI AIErr (*GetCurrentSymbol) ( AIPatternHandle *symbolPattern );
01010
01014 AIAPI AIErr (*SetCurrentSymbol) ( AIPatternHandle symbolPattern );
01015
01021 AIAPI AIBoolean (*IsSymbolSelected) ( AIPatternHandle symbolPattern );
01022
01028 AIAPI ai::int32 (*CountSelectedSymbols) ( void );
01029
01035 AIAPI AIErr (*GetNthSelectedSymbol) ( ai::int32 n, AIPatternHandle *symbolPattern );
01036
01041 AIAPI AIBoolean (*IsPaletteVisible) ( void );
01042 } AISymbolPaletteSuite;
01043
01044
01045 #include "AIHeaderEnd.h"
01046
01047
01048 #endif