00001 #ifndef __AIArray__
00002 #define __AIArray__
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 __AIEntry__
00031 #include "AIEntry.h"
00032 #endif
00033
00034
00035 #include "AIHeaderBegin.h"
00036
00039
00040
00041
00042
00043
00044
00045
00046 #define kAIArraySuite "AI Array Suite"
00047 #define kAIArraySuiteVersion6 AIAPI_VERSION(6)
00048 #define kAIArraySuiteVersion kAIArraySuiteVersion6
00049 #define kAIArrayVersion kAIArraySuiteVersion
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00091 typedef struct AIArraySuite {
00092
00098 AIAPI AIErr (*CreateArray) ( AIArrayRef* array );
00099
00100
00108 AIAPI ai::int32 (*AddRef) ( AIArrayRef array );
00109
00118 AIAPI ai::int32 (*Release) ( AIArrayRef array );
00119
00124 AIAPI AIErr (*Clone) ( AIArrayRef src, AIArrayRef* dst );
00129 AIAPI AIErr (*Copy) ( AIArrayRef array, AIArrayRef src );
00130
00137 AIAPI ai::int32 (*Size) ( AIArrayRef array );
00142 AIAPI AIErr (*DeleteEntry) ( AIArrayRef array, ai::int32 i );
00148 AIAPI AIErr (*InsertEntry) ( AIArrayRef array, ai::int32 i );
00149
00155 AIAPI AIErr (*GetEntryType) ( AIArrayRef array, ai::int32 i, AIEntryType* type );
00156
00164 AIAPI AIErr (*CopyEntry) ( AIArrayRef array1, AIArrayRef array2, ai::int32 position1,
00165 ai::int32 position2 );
00166
00175 AIAPI AIErr (*MoveEntry) ( AIArrayRef array1, AIArrayRef array2, ai::int32 position1,
00176 ai::int32 position2, ai::int32* newposition );
00177
00184 AIAPI AIErr (*SwapEntries) ( AIArrayRef array1, AIArrayRef array2, ai::int32 position1,
00185 ai::int32 position2 );
00186
00193 AIAPI AIErr (*GetArtEntry) ( AIArrayRef array, ai::int32 i, AIArtHandle* art );
00200 AIAPI AIErr (*NewArtEntry) ( AIArrayRef array, ai::int32 i, ai::int16 type );
00201
00208 AIAPI AIErr (*MoveArtToEntry) ( AIArrayRef array, ai::int32 i, AIArtHandle art );
00209
00219 AIAPI AIErr (*MoveEntryToArt) ( AIArrayRef array, ai::int32 i, ai::int16 paintOrder,
00220 AIArtHandle prep, AIArtHandle* art );
00221
00222
00229 AIAPI AIErr (*CopyArtToEntry) ( AIArrayRef array, ai::int32 i, AIArtHandle art );
00230
00239 AIAPI AIErr (*CopyEntryToArt) ( AIArrayRef array, ai::int32 i, ai::int16 paintOrder,
00240 AIArtHandle prep, AIArtHandle* art );
00241
00248 AIAPI AIErr (*SetEntryToLayer) ( AIArrayRef array, ai::int32 i, AILayerHandle layer );
00249
00260 AIAPI AIErr (*SetLayerToEntry) ( AIArrayRef array, ai::int32 i, ai::int16 paintOrder,
00261 AILayerHandle prep, AILayerHandle *layer );
00262
00270 AIAPI AIEntryRef (*Get) ( AIArrayRef array, ai::int32 i );
00271
00279 AIAPI AIErr (*Set) ( AIArrayRef array, ai::int32 i, AIEntryRef entry );
00280
00281
00282
00283
00289 AIAPI AIErr (*GetBooleanEntry) ( AIArrayRef array, ai::int32 i, ASBoolean* value );
00290
00296 AIAPI AIErr (*SetBooleanEntry) ( AIArrayRef array, ai::int32 i, AIBoolean value );
00297
00303 AIAPI AIErr (*GetIntegerEntry) ( AIArrayRef array, ai::int32 i, ai::int32* value );
00304
00310 AIAPI AIErr (*SetIntegerEntry) ( AIArrayRef array, ai::int32 i, ai::int32 value );
00311
00317 AIAPI AIErr (*GetRealEntry) ( AIArrayRef array, ai::int32 i, AIReal* value );
00318
00324 AIAPI AIErr (*SetRealEntry) ( AIArrayRef array, ai::int32 i, AIReal value );
00325
00331 AIAPI AIErr (*GetStringEntry) ( AIArrayRef array, ai::int32 i, const char** value );
00332
00338 AIAPI AIErr (*SetStringEntry) ( AIArrayRef array, ai::int32 i, const char* value );
00339
00346 AIAPI AIErr (*GetBinaryEntry) ( AIArrayRef array, ai::int32 i, void* value, ASInt32* size );
00347
00354 AIAPI AIErr (*SetBinaryEntry) ( AIArrayRef array, ai::int32 i, void* value, ai::int32 size );
00355
00361 AIAPI AIErr (*GetDictEntry) ( AIArrayRef array, ai::int32 i, AIDictionaryRef* value );
00362
00368 AIAPI AIErr (*SetDictEntry) ( AIArrayRef array, ai::int32 i, AIDictionaryRef value );
00369
00375 AIAPI AIErr (*GetArrayEntry) ( AIArrayRef array, ai::int32 i, AIArrayRef* value );
00376
00382 AIAPI AIErr (*SetArrayEntry) ( AIArrayRef array, ai::int32 i, AIArrayRef value );
00383
00389 AIAPI AIErr (*GetUnicodeStringEntry) ( AIArrayRef array, ai::int32 i, ai::UnicodeString& value );
00390
00396 AIAPI AIErr (*SetUnicodeStringEntry) ( AIArrayRef array, ai::int32 i, const ai::UnicodeString& value );
00397
00403 AIAPI AIErr (*AppendEntry) ( AIArrayRef array, AIEntryRef entry );
00404
00409 AIAPI AIErr (*Reserve) ( AIArrayRef array, ai::int32 count );
00410
00411 } AIArraySuite;
00412
00413 #include "AIHeaderEnd.h"
00414
00415
00416 #endif