00001 #ifndef __AILayerList__
00002 #define __AILayerList__
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
00034 #ifndef __AIArt__
00035 #include "AIArt.h"
00036 #endif
00037
00038 #ifndef __SPPlugins__
00039 #include "SPPlugs.h"
00040 #endif
00041
00042 #include "AIHeaderBegin.h"
00043
00046
00047
00048
00049
00050
00051
00052 #define kAILayerListSuite "AI Layer List"
00053 #define kAILayerListSuiteVersion4 AIAPI_VERSION(4)
00054 #define kAILayerListSuiteVersion kAILayerListSuiteVersion4
00055 #define kAILayerListVersion kAILayerListSuiteVersion
00056
00057
00058
00059
00060
00061
00062
00063
00064
00066 typedef struct LayerList* AILayerList;
00067
00068
00072 #define kCallerAILayerList "AI Layer List"
00073
00085 #define kSelectorAIPushLayerList "AI Push Layer List"
00086
00095 #define kSelectorAIPopLayerList "AI Pop Layer List"
00096
00102 #define kSelectorAIDeleteLayerList "AI Delete Layer List"
00103
00105 typedef struct {
00107 SPMessageData d;
00109 AILayerList list;
00112 void* data;
00113 } AILayerListMessage;
00114
00115
00119 #define kAILayerListChangedNotifier "AI Edit Layer List Changed Notifier"
00120
00126 typedef ai::int32 AILayerListMode;
00127
00130 enum AILayerListModeRenderingOptions {
00132 kAILayerListRenderMask = (0x000000FF),
00134 kAILayerListRenderSelection = (1<<0),
00137 kAILayerListRenderPreview = (1<<1)
00138 };
00139
00143 enum AILayerListModePreviewOptions {
00145 kAILayerListPreviewMask = (0x00000F00),
00147 kAILayerListPreviewColor = (0<<8),
00149 kAILayerListPreviewGray = (1<<8)
00150 };
00151
00155 enum AILayerListModeValues {
00158 kAILayerListInvisibleMode = 0,
00161 kAILayerListSelectionMode = kAILayerListRenderSelection,
00164 kAILayerListPreviewMode = (kAILayerListRenderSelection|kAILayerListRenderPreview),
00167 kAILayerListGrayscaleMode = (kAILayerListRenderSelection|kAILayerListRenderPreview|kAILayerListPreviewGray)
00168 };
00169
00170
00174 typedef ai::int32 AILayerListEditabilityMode;
00175
00177 enum AILayerListEditabilityModeValues {
00179 kAIRegularEditabilityMode = 0,
00182 kAINoNewLayersMode = (1<<0)
00183 };
00184
00185
00187 #define kAIDocumentLayerList "AI Document Layer List"
00188
00189 #define kAITransparencyMaskLayerList "AI Transparency Mask Layer List"
00190
00191
00192
00193
00194
00195
00196
00226 typedef struct {
00227
00245 AIAPI AIErr (*Push) (SPPluginRef self, char* tag, void* data,
00246 AILayerListMode mode, AILayerList* list);
00247
00253 AIAPI AIErr (*Pop) (void);
00254
00262 AIAPI AIErr (*GetLayerOfArt) (AIArtHandle art, AILayerList* list, AILayerHandle* layer);
00263
00268 AIAPI AIErr (*Count) (ai::int32* count);
00269
00274 AIAPI AIErr (*GetFirst) (AILayerList* list);
00275
00279 AIAPI AIErr (*GetLast) (AILayerList* list);
00280
00286 AIAPI AIErr (*GetNext) (AILayerList list, AILayerList* next);
00287
00293 AIAPI AIErr (*CountLayers) (AILayerList list, ai::int32* count);
00294
00299 AIAPI AIErr (*GetFirstLayer) (AILayerList list, AILayerHandle* layer);
00300
00305 AIAPI AIErr (*GetLastLayer) (AILayerList list, AILayerHandle* layer);
00306
00313 AIAPI AIErr (*GetNextLayer) (AILayerList list, AILayerHandle layer, AILayerHandle* next);
00314
00321 AIAPI AIErr (*GetPrevLayer) (AILayerList list, AILayerHandle layer, AILayerHandle* prev);
00322
00327 AIAPI AIErr (*SetDisplayMode) (AILayerList list, AILayerListMode mode);
00328
00334 AIAPI AILayerListMode (*GetDisplayMode) (AILayerList list);
00335
00340 AIAPI const char* (*GetTag) (AILayerList list);
00341
00351 AIAPI AIErr (*SetEditabilityMode) ( AILayerList list, AILayerListEditabilityMode mode );
00352
00358 AIAPI AILayerListEditabilityMode (*GetEditabilityMode) (AILayerList list);
00359
00360 } AILayerListSuite;
00361
00362
00363 #include "AIHeaderEnd.h"
00364
00365
00366 #endif