Adobe.com
Contents Suites Classes Class Index Member Index

AIEntry.h

Go to the documentation of this file.
00001 #ifndef __AIEntry__
00002 #define __AIEntry__
00003 
00004 /*
00005  *        Name: AIEntry.h
00006  *              $Id $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Dictionary Entry Object Suite.
00010  *
00011  * ADOBE SYSTEMS INCORPORATED
00012  * Copyright 2001-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 #ifndef __AIArt__
00034 #include "AIArt.h"
00035 #endif
00036 #ifndef __AILayer__
00037 #include "AILayer.h"
00038 #endif
00039 #ifndef __AICustomColor__
00040 #include "AICustomColor.h"
00041 #endif
00042 #ifndef __AIObjectSet__
00043 #include "AIObjectSet.h"
00044 #endif
00045 
00046 #include "AIHeaderBegin.h"
00047 
00050 /*******************************************************************************
00051  **
00052  **     Constants
00053  **
00054  **/
00055 
00056 #define kAIEntrySuite                                                   "AI Entry Suite"
00057 #define kAIEntrySuiteVersion7                                   AIAPI_VERSION(7)
00058 #define kAIEntrySuiteVersion                                    kAIEntrySuiteVersion7
00059 #define kAIEntryVersion                                                 kAIEntrySuiteVersion
00060 
00061 
00062 /*******************************************************************************
00063  **
00064  **     Types
00065  **
00066  **/
00067 
00068 
00077 typedef struct _AIEntry*                                                AIEntryRef;
00078 
00081 typedef struct _AIArray*                                                AIArrayRef;
00082 
00085 typedef struct _AIDictionary*                                   AIDictionaryRef;
00086 typedef const struct _AIDictionary*                             ConstAIDictionaryRef;
00087 
00092 typedef struct _AIUID*                                                  AIUIDRef;
00093 
00098 typedef struct _AIUIDREF*                                               AIUIDREFRef;
00099 
00102 typedef struct _AIXMLNode*                                              AIXMLNodeRef;
00103 
00106 typedef struct _t_AISVGFilterOpaque*                    AISVGFilterHandle;
00107 
00110 typedef struct _t_AIArtStyle*                                   AIArtStyleHandle;
00111 
00113 typedef ai::int32  AIEntryType;
00116 enum
00117 {
00119         UnknownType,
00121         IntegerType,
00123         BooleanType,
00125         RealType,
00127         StringType,
00129         DictType,
00131         ArrayType,
00134         BinaryType,
00136         PointType,
00138         MatrixType,
00140         PatternRefType,
00142         BrushPatternRefType,
00144         CustomColorRefType,
00146         GradientRefType,
00148         PluginObjectRefType,
00150         FillStyleType,
00152         StrokeStyleType,
00154         UIDType,
00156         UIDREFType,
00158         XMLNodeType,
00160         SVGFilterType,
00162         ArtStyleType,
00164         SymbolPatternRefType,
00166         GraphDesignRefType,
00168         BlendStyleType,
00170         GraphicObjectType,
00172         UnicodeStringType,      
00174         PointerType,
00176         ArtworkPointType,
00178         SmoothShadingType
00179 #if defined(ILLUSTRATOR_MINIMAL)
00180 
00181     ,BoostUUIDType
00182 #endif
00183 };
00184 
00185 
00187 #define kNoSuchEntry                                            'EnNS'
00188 
00192 #define kWrongEntryType                                         100
00193 
00198 #define kNoConversionErr                                        'NoCV'
00199 
00200 /*******************************************************************************
00201  **
00202  **     Suite
00203  **
00204  **/
00205 
00206 
00254 struct AIEntrySuite
00255 {
00256 
00260         AIAPI ai::int32 (*AddRef) ( AIEntryRef entry );
00261 
00265         AIAPI ai::int32 (*Release) ( AIEntryRef entry );
00266 
00272         AIAPI AIEntryType (*GetType) ( AIEntryRef entry );
00273 
00274 
00275         // the various entry types
00276 
00283         AIAPI AIErr (*ToBoolean) ( AIEntryRef entry, ASBoolean* value );
00284 
00290         AIAPI AIEntryRef (*FromBoolean) ( ASBoolean value );
00291 
00298         AIAPI AIErr (*ToInteger) ( AIEntryRef entry, ai::int32* value );
00299 
00305         AIAPI AIEntryRef (*FromInteger) ( ai::int32 value );
00306 
00313         AIAPI AIErr (*ToReal) ( AIEntryRef entry, AIReal* value );
00314 
00320         AIAPI AIEntryRef (*FromReal) ( AIReal value );
00321 
00328         AIAPI AIErr (*ToRealPoint) ( AIEntryRef entry, AIRealPoint* value );
00329 
00335         AIAPI AIEntryRef (*FromRealPoint) ( const AIRealPoint *value );
00336 
00343         AIAPI AIErr (*ToRealMatrix) ( AIEntryRef entry, AIRealMatrix* value );
00344 
00350         AIAPI AIEntryRef (*FromRealMatrix) ( const AIRealMatrix *value );
00351 
00358         AIAPI AIErr (*ToString) ( AIEntryRef entry, const char** value );
00359 
00365         AIAPI AIEntryRef (*FromString) ( const char* value );
00366 
00373         AIAPI AIErr (*ToDict) ( AIEntryRef entry, AIDictionaryRef* value );
00374 
00380         AIAPI AIEntryRef (*FromDict) ( AIDictionaryRef value );
00381 
00389         AIAPI AIErr (*ToArt) ( AIEntryRef entry, AIArtHandle* art );
00390 
00397         AIAPI AIErr (*ToArray) ( AIEntryRef entry, AIArrayRef* value );
00398 
00404         AIAPI AIEntryRef (*FromArray) ( AIArrayRef value );
00405 
00417         AIAPI AIErr (*ToBinary) ( AIEntryRef entry, void* value, size_t* size );
00418 
00425         AIAPI AIEntryRef (*FromBinary) ( void* value, size_t size );
00426 
00433         AIAPI AIErr (*ToPattern) ( AIEntryRef entry, AIPatternHandle* value );
00434 
00440         AIAPI AIEntryRef (*FromPattern) ( AIPatternHandle value );
00441 
00448         AIAPI AIErr (*ToBrushPattern) ( AIEntryRef entry, AIPatternHandle* value );
00449 
00455         AIAPI AIEntryRef (*FromBrushPattern) ( AIPatternHandle value );
00456 
00463         AIAPI AIErr (*ToGradient) ( AIEntryRef entry, AIGradientHandle* value );
00464 
00470         AIAPI AIEntryRef (*FromGradient) ( AIGradientHandle value );
00471 
00478         AIAPI AIErr (*ToCustomColor) ( AIEntryRef entry, AICustomColorHandle* value );
00479 
00485         AIAPI AIEntryRef (*FromCustomColor) ( AICustomColorHandle value );
00486 
00493         AIAPI AIErr (*ToPluginObject) ( AIEntryRef entry, AIObjectHandle* value );
00494 
00501         AIAPI AIEntryRef (*FromPluginObject) ( AIObjectHandle value );
00502 
00509         AIAPI AIErr (*ToFillStyle) ( AIEntryRef entry, struct AIFillStyle *value );
00510 
00516         AIAPI AIEntryRef (*FromFillStyle) ( const struct AIFillStyle *value );
00517 
00524         AIAPI AIErr (*ToStrokeStyle) ( AIEntryRef entry, struct AIStrokeStyle *value );
00525 
00531         AIAPI AIEntryRef (*FromStrokeStyle) ( const struct AIStrokeStyle *value );
00532 
00533         /* New in Illustrator 10.0 */
00534 
00541         AIAPI AIErr (*ToUID) ( AIEntryRef entry, AIUIDRef* value );
00542 
00548         AIAPI AIEntryRef (*FromUID) ( AIUIDRef value );
00549 
00556         AIAPI AIErr (*ToUIDREF) ( AIEntryRef entry, AIUIDREFRef* value );
00557 
00563         AIAPI AIEntryRef (*FromUIDREF) ( AIUIDREFRef value );
00564 
00571         AIAPI AIErr (*ToXMLNode) ( AIEntryRef entry, AIXMLNodeRef* value );
00572 
00578         AIAPI AIEntryRef (*FromXMLNode) ( AIXMLNodeRef value );
00579 
00586         AIAPI AIErr (*ToSVGFilterHandle) ( AIEntryRef entry, AISVGFilterHandle* value );
00587 
00593         AIAPI AIEntryRef (*FromSVGFilterHandle) ( AISVGFilterHandle value );
00594 
00601         AIAPI AIErr (*ToSymbolPattern) ( AIEntryRef entry, AIPatternHandle* value );
00602 
00608         AIAPI AIEntryRef (*FromSymbolPattern) ( AIPatternHandle value );
00609 
00610         // Type conversion routines.
00611         // Conversion rules are the same as for \c std::basic_[io]stream.
00612 
00620         AIAPI AIErr (*AsBoolean) ( AIEntryRef entry, ASBoolean* value );
00621 
00628         AIAPI AIErr (*AsInteger) ( AIEntryRef entry, ai::int32* value );
00629 
00636         AIAPI AIErr (*AsReal) ( AIEntryRef entry, AIReal* value );
00637 
00648         AIAPI AIErr (*AsString) ( AIEntryRef entry, const char** value );
00649 
00657         AIAPI AIErr (*AsUIDREF) ( AIEntryRef entry, AIUIDREFRef* value );
00658 
00665         AIAPI AIErr (*ToArtStyle) ( AIEntryRef entry, AIArtStyleHandle* value );
00666 
00672         AIAPI AIEntryRef (*FromArtStyle) ( AIArtStyleHandle value );
00673 
00674         /* New in Illustrator 12.0 */
00675 
00682         AIAPI AIErr (*ToUnicodeString) ( AIEntryRef entry, ai::UnicodeString& value );
00683 
00689         AIAPI AIEntryRef (*FromUnicodeString) ( const ai::UnicodeString& value );
00690 
00698         AIAPI AIErr (*AsUnicodeString) ( AIEntryRef entry, ai::UnicodeString& value );
00699 
00700         /* New in Illustrator 15.0 */
00701 
00709         AIAPI ASBoolean(*Equiv) (AIEntryRef entry1, AIEntryRef entry2);
00710 
00711 };
00712 
00713 
00714 #include "AIHeaderEnd.h"
00715 
00716 
00717 #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