00001 #ifndef __AIEntry__
00002 #define __AIEntry__
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
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
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
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
00177 };
00178
00179
00181 #define kNoSuchEntry 'EnNS'
00182
00186 #define kWrongEntryType 100
00187
00192 #define kNoConversionErr 'NoCV'
00193
00194
00195
00196
00197
00198
00199
00200
00248 struct AIEntrySuite
00249 {
00250
00254 AIAPI ai::int32 (*AddRef) ( AIEntryRef entry );
00255
00259 AIAPI ai::int32 (*Release) ( AIEntryRef entry );
00260
00266 AIAPI AIEntryType (*GetType) ( AIEntryRef entry );
00267
00268
00269
00270
00277 AIAPI AIErr (*ToBoolean) ( AIEntryRef entry, ASBoolean* value );
00278
00284 AIAPI AIEntryRef (*FromBoolean) ( ASBoolean value );
00285
00292 AIAPI AIErr (*ToInteger) ( AIEntryRef entry, ai::int32* value );
00293
00299 AIAPI AIEntryRef (*FromInteger) ( ai::int32 value );
00300
00307 AIAPI AIErr (*ToReal) ( AIEntryRef entry, AIReal* value );
00308
00314 AIAPI AIEntryRef (*FromReal) ( AIReal value );
00315
00322 AIAPI AIErr (*ToRealPoint) ( AIEntryRef entry, AIRealPoint* value );
00323
00329 AIAPI AIEntryRef (*FromRealPoint) ( const AIRealPoint *value );
00330
00337 AIAPI AIErr (*ToRealMatrix) ( AIEntryRef entry, AIRealMatrix* value );
00338
00344 AIAPI AIEntryRef (*FromRealMatrix) ( const AIRealMatrix *value );
00345
00352 AIAPI AIErr (*ToString) ( AIEntryRef entry, const char** value );
00353
00359 AIAPI AIEntryRef (*FromString) ( const char* value );
00360
00367 AIAPI AIErr (*ToDict) ( AIEntryRef entry, AIDictionaryRef* value );
00368
00374 AIAPI AIEntryRef (*FromDict) ( AIDictionaryRef value );
00375
00383 AIAPI AIErr (*ToArt) ( AIEntryRef entry, AIArtHandle* art );
00384
00391 AIAPI AIErr (*ToArray) ( AIEntryRef entry, AIArrayRef* value );
00392
00398 AIAPI AIEntryRef (*FromArray) ( AIArrayRef value );
00399
00411 AIAPI AIErr (*ToBinary) ( AIEntryRef entry, void* value, size_t* size );
00412
00419 AIAPI AIEntryRef (*FromBinary) ( void* value, size_t size );
00420
00427 AIAPI AIErr (*ToPattern) ( AIEntryRef entry, AIPatternHandle* value );
00428
00434 AIAPI AIEntryRef (*FromPattern) ( AIPatternHandle value );
00435
00442 AIAPI AIErr (*ToBrushPattern) ( AIEntryRef entry, AIPatternHandle* value );
00443
00449 AIAPI AIEntryRef (*FromBrushPattern) ( AIPatternHandle value );
00450
00457 AIAPI AIErr (*ToGradient) ( AIEntryRef entry, AIGradientHandle* value );
00458
00464 AIAPI AIEntryRef (*FromGradient) ( AIGradientHandle value );
00465
00472 AIAPI AIErr (*ToCustomColor) ( AIEntryRef entry, AICustomColorHandle* value );
00473
00479 AIAPI AIEntryRef (*FromCustomColor) ( AICustomColorHandle value );
00480
00487 AIAPI AIErr (*ToPluginObject) ( AIEntryRef entry, AIObjectHandle* value );
00488
00495 AIAPI AIEntryRef (*FromPluginObject) ( AIObjectHandle value );
00496
00503 AIAPI AIErr (*ToFillStyle) ( AIEntryRef entry, struct AIFillStyle *value );
00504
00510 AIAPI AIEntryRef (*FromFillStyle) ( const struct AIFillStyle *value );
00511
00518 AIAPI AIErr (*ToStrokeStyle) ( AIEntryRef entry, struct AIStrokeStyle *value );
00519
00525 AIAPI AIEntryRef (*FromStrokeStyle) ( const struct AIStrokeStyle *value );
00526
00527
00528
00535 AIAPI AIErr (*ToUID) ( AIEntryRef entry, AIUIDRef* value );
00536
00542 AIAPI AIEntryRef (*FromUID) ( AIUIDRef value );
00543
00550 AIAPI AIErr (*ToUIDREF) ( AIEntryRef entry, AIUIDREFRef* value );
00551
00557 AIAPI AIEntryRef (*FromUIDREF) ( AIUIDREFRef value );
00558
00565 AIAPI AIErr (*ToXMLNode) ( AIEntryRef entry, AIXMLNodeRef* value );
00566
00572 AIAPI AIEntryRef (*FromXMLNode) ( AIXMLNodeRef value );
00573
00580 AIAPI AIErr (*ToSVGFilterHandle) ( AIEntryRef entry, AISVGFilterHandle* value );
00581
00587 AIAPI AIEntryRef (*FromSVGFilterHandle) ( AISVGFilterHandle value );
00588
00595 AIAPI AIErr (*ToSymbolPattern) ( AIEntryRef entry, AIPatternHandle* value );
00596
00602 AIAPI AIEntryRef (*FromSymbolPattern) ( AIPatternHandle value );
00603
00604
00605
00606
00614 AIAPI AIErr (*AsBoolean) ( AIEntryRef entry, ASBoolean* value );
00615
00622 AIAPI AIErr (*AsInteger) ( AIEntryRef entry, ai::int32* value );
00623
00630 AIAPI AIErr (*AsReal) ( AIEntryRef entry, AIReal* value );
00631
00642 AIAPI AIErr (*AsString) ( AIEntryRef entry, const char** value );
00643
00651 AIAPI AIErr (*AsUIDREF) ( AIEntryRef entry, AIUIDREFRef* value );
00652
00659 AIAPI AIErr (*ToArtStyle) ( AIEntryRef entry, AIArtStyleHandle* value );
00660
00666 AIAPI AIEntryRef (*FromArtStyle) ( AIArtStyleHandle value );
00667
00668
00669
00676 AIAPI AIErr (*ToUnicodeString) ( AIEntryRef entry, ai::UnicodeString& value );
00677
00683 AIAPI AIEntryRef (*FromUnicodeString) ( const ai::UnicodeString& value );
00684
00692 AIAPI AIErr (*AsUnicodeString) ( AIEntryRef entry, ai::UnicodeString& value );
00693
00694
00695
00703 AIAPI ASBoolean(*Equiv) (AIEntryRef entry1, AIEntryRef entry2);
00704
00705 };
00706
00707
00708 #include "AIHeaderEnd.h"
00709
00710
00711 #endif