Adobe.com
Contents Suites Classes Class Index Member Index

AISelectionContextManager.h

Go to the documentation of this file.
00001 /*************************************************************************
00002  *
00003  * ADOBE CONFIDENTIAL
00004  *
00005  * Copyright 2018 Adobe Systems Incorporated
00006  *
00007  * All Rights Reserved.
00008  *
00009  * NOTICE: Adobe permits you to use, modify, and distribute this file in
00010  * accordance with the terms of the Adobe license agreement accompanying
00011  * it. If you have received this file from a source other than Adobe,
00012  * then your use, modification, or distribution of it requires the prior
00013  * written permission of Adobe.
00014  *
00015  **************************************************************************/
00016 
00017 
00018 
00019 #pragma once
00020 
00021 /*******************************************************************************
00022  **
00023  **    Imports
00024  **
00025  **/
00026 
00027 #include "AITypes.h"
00028 
00029 #include "AIHeaderBegin.h"
00030 
00033 /*******************************************************************************
00034  **
00035  ** Constants
00036  **
00037  **/
00038 /*suite details*/
00039 #define kAISelectionContextManagerSuite                  "AI Selection Context Manager Suite"
00040 #define kAISelectionContextManagerSuiteVersion1          AIAPI_VERSION(1)
00041 #define kAISelectionContextManagerSuiteVersion           kAISelectionContextManagerSuiteVersion1
00042 #define kAISelectionContextManagerVersion                kAISelectionContextManagerSuiteVersion
00043 
00044 /*top level document prop error*/
00045 #define kNoTopLevelDocumentPropsError '!TLP'
00046 
00051 /*******************************************************************************
00052 * Below enum AISelectionLevelContext helps to find out context at different level.
00053 *******************************************************************************/
00054 
00055 enum  AISelectionLevelContext : ai::uint16
00056 {
00060     kAISelectionNoneContext = 0,
00061         
00065     kAISelectionTopLevelContext  = 1<<0,
00066         
00070     kAISelectionAnyLevelContext = 1<<1,
00071         
00075     kAISelectionObjectLevelContext = 1<<2,
00076         
00080     kAISelectionCompleteContext = kAISelectionTopLevelContext | kAISelectionAnyLevelContext | kAISelectionObjectLevelContext
00081 };
00082 
00083 /*******************************************************************************
00084 * AISelectionCountDetailsFlag enum class provides context[Also Object Type] count.
00085 * General Terminiology for keywords:
00086 * TypeCount : Provides total different Type of context at different Level.
00087 * TotalObjectCount: Total context count irrespective of type.
00088 *******************************************************************************/ 
00089 
00090 enum class AISelectionCountDetailsFlag : ai::uint16
00091 {
00095     kTopLevelObjectTypeCount,
00096         
00100     kTopLevelTotalObjectCount,
00101         
00105     kObjectLevelObjectTypeCount,
00106         
00110     kObjectLevelTotalObjectCount
00111 };
00112 
00113 using AISelectionContext = ai::SizeType;
00114 
00115 /*******************************************************************************
00116 * Below Enum class provides different flag of context.Below enum can be used for
00117 * API IsSelectionContextFlagPresent.
00118 * Use Multiple Flag If Looking for Multiple Context.
00119 *******************************************************************************/
00120  
00121 enum class AISelectionContextFlags : ai::uint16
00122 {
00126     kAISelectionNone = 0,
00127     
00131     kAISelectionHasPathArt,
00132     kAISelectionHasMultiplePaths,
00133     
00137     kAISelectionHasOpenPathArt,
00138     kAISelectionHasClosePathArt,
00139     
00143     kAISelectionHasLiveShapeArt,
00144     kAISelectionHasMultipleLiveShapeArt,
00145     
00150     kAISelectionHasGroupObject,
00151     kAISelectionHasMultipleGroupObject,
00152     
00156     kAISelectionHasNormalGroup,
00157     kAISelectionHasMultipleNormalGroup,
00158     
00162     kAISelectionHasCompoundGroup,
00163     kAISelectionHasMultipleCompoundGroup,
00164     
00168     kAISelectionHasClipGroup,
00169     kAISelectionHasMultipleClipGroup,
00170     
00174     kAISelectionHasNormalNonLayerGroup,
00175     kAISelectionHasMultipleNormalNonLayerGroup,
00176     
00180     kAISelectionHasImageArt,
00181     kAISelectionHasMultipleImageArt,
00182     
00186     kAISelectionHasEmbedImageArt,
00187     kAISelectionHasUnEmbedImageArt,
00188     kAISelectionHasMultipleUnEmbedImageArt,
00189     
00193     kAISelectionHasTextArt,
00194     kAISelectionHasMultipleTextArt,
00195     
00199     kAISelectionHasSymbol,
00200     kAISelectionHasMultipleSymbol,
00201     
00205     kAISelectionHasSymbolSet,
00206     kAISelectionHasMultipleSymbolSet,
00207     
00211     kAISelectionHasLivePaintGroup,
00212     kAISelectionHasMultipleLivePaintGroup,
00213     
00217     kAISelectionHasShaperGroup,
00218     kAISelectionHasMultipleShaperGroup,
00219     
00223     kAISelectionHasGraphObjects,
00224     kAISelectionHasMultipleGraphObjects,
00225     
00229     kAISelectionHasTracedbject,
00230     kAISelectionHasMultipleTracedbject,
00231     
00235     kAISelectionHasAnchorPoint,
00236     kAISelectionHasMultipleAnchorPoint,
00237     
00241     kAISelectionHasWarpEnvelope,
00242     kAISelectionHasMultipleWarpEnvelope,
00243     
00247     kAISelectionHasMeshEnvelope,
00248     kAISelectionHasMultipleMeshEnvelope,
00249     
00253     kAISelectionHasTopEnvelope,
00254     kAISelectionHasMultipleTopEnvelope,
00255     
00259     kAISelectionHasEnvelope,
00260     kAISelectionHasMultipleEnvelope,
00261     
00265     kAISelectionHasBlend,
00266     kAISelectionHasMultipleBlend,
00267     
00271     kAISelectionHasMeshObject,
00272     kAISelectionHasMultipleMeshObject,
00273     
00277     kAISelectionHasTransformedSymbolInstance,
00278     kAISelectionHasGuides,
00279     
00280     
00284     kAISelectionResetSymbolTransformation,
00285     
00289     kAISelectionCanEnableGlobalEditing,
00290     
00294     kAISelectionHasSymmetryRepeat,
00295     kAISelectionHasMultipleSymmetryRepeat,
00296     
00300     kAISelectionHasRadialRepeat,
00301     kAISelectionHasMultipleRadialRepeat,
00302     
00306     kAISelectionHasGridRepeat,
00307     kAISelectionHasMultipleGridRepeat
00308     
00309     /*all new context should be added at end*/
00310 };
00311 
00312 /*******************************************************************************
00313  **
00314  **    Suite
00315  **
00316  **/
00317  
00325 struct AISelectionContextManagerSuite
00326 {
00345     AIAPI AIBoolean (*IsSelectionContextFlagPresent) (AISelectionContextFlags inFlag, AISelectionLevelContext  queryLevelContext);
00346     
00359     AIAPI AIErr (*GetSelectionCountDetails) (AISelectionCountDetailsFlag inFlag, ai::SizeType &outCount );
00360     
00361 };
00362         
00363 #include "AIHeaderEnd.h"
00364 


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