00001 #pragma once
00002
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 #ifndef __AITypes__
00030 #include "AITypes.h"
00031 #endif
00032
00033 #ifndef __AIPlugin__
00034 #include "AIPlugin.h"
00035 #endif
00036
00037 #ifndef __AIColor__
00038 #include "AIColor.h"
00039 #endif
00040
00041 #ifndef __AIArt__
00042 #include "AIArt.h"
00043 #endif
00044
00045 #include "AIUnicodeString.h"
00046
00047
00048 #include "AIHeaderBegin.h"
00049
00053
00054
00055
00056
00057
00069 #define kAIObjectSetSuite "AI ObjectSet Suite"
00070 #define kAIObjectSetSuiteVersion5 AIAPI_VERSION(5)
00071 #define kAIObjectSetSuiteVersion kAIObjectSetSuiteVersion5
00072 #define kAIObjectSetVersion kAIObjectSetSuiteVersion
00073
00076 #define kAIObjectSetChangedNotifier "AI Object Set Changed Notifier"
00077
00079 #define kAIReplaceColorNotifier "AI Replace Color Notifier"
00080
00083 #define kNameClashErr 'NmCl'
00084
00086 #define kUninitializedDataErr 'init'
00087
00089 #define kCantDoThatNowErr '!now'
00090
00094 #define kCallerAIObjectSet "AI Object Set"
00095
00104 #define kSelectorObjectSetDisposeContents "AI Object Set Dispose Contents"
00105
00113 #define kSelectorObjectSetMarkUsage "AI Object Set Mark Usage"
00114
00122 #define kSelectorObjectSetUpdateInternal "AI Object Set Update Internal"
00123
00130 #define kSelectorObjectSetUpdateExternal "AI Object Set Update External"
00131
00139 #define kSelectorObjectSetPurge "AI Object Set Purge"
00140
00147 #define kSelectorObjectSetChange "AI Object Set Change"
00148
00156 #define kSelectorObjectSetChangeIndirect "AI Object Set Change Indirect"
00157
00164 #define kSelectorObjectSetCopy "AI Object Set Copy"
00165
00172 #define kSelectorObjectSetInitializationDone "AI Object Set Initialization Done"
00173
00174
00175
00176
00177
00178
00179
00180
00183 typedef struct _t_AIObjectSetOpaque *AIObjectSetHandle;
00186 typedef struct _t_AIObjectOpaque *AIObjectHandle;
00187
00191 enum AIObjectSetChangeType {
00192 kAIObjectSetChangeDelete,
00193 kAIObjectSetChangeNew,
00194 kAIObjectSetChangeChange,
00195 kAIObjectSetChangeRename
00196 };
00197
00201 enum AIObjectMapType {
00202 kAIObjectMapCustomColor,
00203 kAIObjectMapPattern,
00204 kAIObjectMapBrushPattern,
00205 kAIObjectMapGradient,
00206 kAIObjectMapPluginObject,
00207 kAIObjectMapDone = -1
00208 };
00209
00212 struct AIObjectMap {
00214 ai::int16 objectType;
00215 ai::int16 offset;
00216 };
00217
00221 enum AIReplaceColorTag {
00222 kRepGrayColor = kGrayColor,
00223 kRepFourColor = kFourColor,
00224 kRepPattern = kPattern,
00225 kRepCustomColor = kCustomColor,
00226 kRepGradient = kGradient,
00227 kRepThreeColor = kThreeColor,
00228 kRepNoneColor = kNoneColor,
00229 kRepBrushPattern = kNoneColor + 5,
00230
00231 kRepColorDone = -1,
00232 kRepColorSameTagAsInAIColor = -2
00233
00234 };
00235
00238 struct AIReplaceColor {
00239 AIReplaceColorTag kind;
00240 AIColorUnion c;
00241 };
00242
00245 struct AIReplaceColorNotifierData {
00246 ASInt32 pairs;
00247 AIReplaceColor *colorPtr;
00248 };
00249
00279 struct AIObjectSetMessage {
00280 SPMessageData d;
00281 AIObjectSetHandle set;
00282 AIObjectHandle object;
00283 ai::int16 subobjectType;
00284 union {
00285 AIPatternHandle pattern;
00286 AIGradientHandle gradient;
00287 AICustomColorHandle ccolor;
00288 struct {
00289 AIObjectSetHandle set;
00290 AIObjectHandle object;
00291 } object;
00292 } subobject;
00293 AIObjectSetChangeType changeType;
00294 AIArtHandle markArt;
00295 AIVersion aiVersion;
00296 };
00297
00298
00299
00300
00301
00302
00303
00304
00310 struct AIObjectSetSuite {
00311
00312 AIAPI AIErr (*NewObjectSet) ( SPPluginRef self, const unsigned char *name, const AIObjectMap *map, AIObjectSetHandle *set );
00313 AIAPI AIErr (*CountObjectSets) ( ai::int32 *count );
00314 AIAPI AIErr (*GetNthObjectSet) ( ai::int32 n, AIObjectSetHandle *set );
00315 AIAPI AIErr (*GetObjectSetName) ( AIObjectSetHandle set, unsigned char *name );
00316 AIAPI AIErr (*GetObjectSetByName) ( const unsigned char *name, AIObjectSetHandle *set );
00317 AIAPI AIErr (*GetObjectSetMap) ( AIObjectSetHandle set, const AIObjectMap **map );
00318 AIAPI AIErr (*NewObject) ( AIObjectSetHandle setHandle, const ai::UnicodeString& name, const void *def,
00319 ai::int32 defLen, AIObjectHandle *object );
00320 AIAPI AIErr (*DeleteObject) ( AIObjectSetHandle setHandle, AIObjectHandle object);
00321 AIAPI AIErr (*SetObjectInternal) ( AIObjectSetHandle setHandle, AIObjectHandle object, const void *data, ai::int32 dataLen);
00322 AIAPI AIErr (*SetObjectExternal) ( AIObjectSetHandle setHandle, AIObjectHandle object, const char *data);
00323 AIAPI AIErr (*GetObjectInternal) ( AIObjectSetHandle setHandle, AIObjectHandle object, const void **data, ai::int32 *dataLen);
00324 AIAPI AIErr (*GetObjectExternal) ( AIObjectSetHandle setHandle, AIObjectHandle object, const char **data);
00325 AIAPI AIErr (*CountObjects) ( AIObjectSetHandle setHandle, ai::int32 *count);
00326 AIAPI AIErr (*GetNthObject) ( AIObjectSetHandle setHandle, ai::int32 n, AIObjectHandle *object);
00327 AIAPI AIErr (*GetObjectName) ( AIObjectSetHandle setHandle, AIObjectHandle object, ai::UnicodeString& name);
00328 AIAPI AIErr (*SetObjectName) ( AIObjectSetHandle setHandle, AIObjectHandle object, const ai::UnicodeString& name);
00329 AIAPI AIErr (*GetObjectByName) ( AIObjectSetHandle setHandle, ai::UnicodeString& name, AIObjectHandle *object);
00330 AIAPI AIErr (*NewObjectName) ( AIObjectSetHandle setHandle, ai::UnicodeString& name );
00331 AIAPI AIErr (*MarkObjectInUse) ( AIObjectSetHandle setHandle, AIObjectHandle object);
00332 AIAPI AIErr (*RetargetForCurrentDocument) ( AIObjectHandle object, AIObjectHandle *newObj );
00333
00334 AIAPI AIErr (*GetExternalObjectName) (AIObjectSetHandle setHandle, AIObjectHandle object,
00335 AIVersion aiVersion, char *buf, ai::int32* bufLen );
00336
00337 };
00338
00339
00340 #include "AIHeaderEnd.h"