Adobe.com
Contents Suites Classes Class Index Member Index

AILayerList.h

Go to the documentation of this file.
00001 #ifndef __AILayerList__
00002 #define __AILayerList__
00003 
00004 /*
00005  *        Name: AILayerList.h
00006  *   $Revision: 3 $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Layer List Suite.
00010  *
00011  * ADOBE SYSTEMS INCORPORATED
00012  * Copyright 1986-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 
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  **     Suite name and version
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  **     Types
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  **     Suite
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


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