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  *        Name: AISymbol.h
00006  *      Author:
00007  *        Date:
00008  *     Purpose: Adobe Illustrator Symbol Suite.
00009  *
00010  * ADOBE SYSTEMS INCORPORATED
00011  * Copyright 1990-2007 Adobe Systems Incorporated.
00012  * All rights reserved.
00013  *
00014  * NOTICE:  Adobe permits you to use, modify, and distribute this file
00015  * in accordance with the terms of the Adobe license agreement
00016  * accompanying it. If you have received this file from a source other
00017  * than Adobe, then your use, modification, or distribution of it
00018  * requires the prior written permission of Adobe.
00019  *
00020  */
00021 
00022 
00023 /*******************************************************************************
00024  **
00025  **     Imports
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  ** Constants
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 /* Types */
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  **     AISymbol Suite
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         // Functions for examining and modifying a symbol definition
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         // The functions below use C strings. If you have or want Pascal strings, you can
00466         // also get and set the name of a symbol using GetPatternName and SetPatternName
00467         // from AIPattern.h.
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         // New for Illustrator 11:
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         // New for Illustrator 13:
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         // Symbol editing workflow (new in AI13/CS3)
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  **     AISymbolPalette suite
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


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