Adobe.com
Contents Suites Classes Class Index Member Index

AISymbol.h

Go to the documentation of this file.
00001 #ifndef __AISymbol__
00002 #define __AISymbol__
00003 
00004 /*************************************************************************
00005 *
00006 * ADOBE CONFIDENTIAL
00007 *
00008 * Copyright 1990 Adobe
00009 *
00010 * All Rights Reserved.
00011 *
00012 * NOTICE: Adobe permits you to use, modify, and distribute this file in
00013 * accordance with the terms of the Adobe license agreement accompanying
00014 * it. If you have received this file from a source other than Adobe,
00015 * then your use, modification, or distribution of it requires the prior
00016 * written permission of Adobe.
00017 *
00018 **************************************************************************/
00019 
00020 
00021 /*******************************************************************************
00022  **
00023  **     Imports
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  ** Constants
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 /* Types */
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  **     AISymbol Suite
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         // Functions for examining and modifying a symbol definition
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         // The functions below use C strings. If you have or want Pascal strings, you can
00469         // also get and set the name of a symbol using GetPatternName and SetPatternName
00470         // from AIPattern.h.
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         // New for Illustrator 11:
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         // New for Illustrator 13:
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         // Symbol editing workflow (new in AI13/CS3)
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  **     AISymbolPalette suite
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


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