Adobe.com
Contents Suites Classes Class Index Member Index

AIMask.h

Go to the documentation of this file.
00001 #ifndef __AIMask__
00002 #define __AIMask__
00003 
00004 /*
00005  *        Name: AIMask.h
00006  *   $Revision: 3 $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Mask 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 __AIArtStyle__
00039 #include "AIArtStyle.h"
00040 #endif
00041 
00042 #ifndef __AIDictionary__
00043 #include "AIDictionary.h"
00044 #endif
00045 
00046 #include "AIHeaderBegin.h"
00047 
00048 /*******************************************************************************
00049  **
00050  **     Suite name and version
00051  **
00052  **/
00053 
00054 #define kAIBlendStyleSuite                              "AI Blend Style Suite"
00055 #define kAIBlendStyleSuiteVersion5              AIAPI_VERSION(5)
00056 #define kAIBlendStyleSuiteVersion               kAIBlendStyleSuiteVersion5
00057 #define kAIBlendStyleVersion                    kAIBlendStyleSuiteVersion
00058 
00059 #define kAIMaskSuite                                    "AI Mask Suite"
00060 #define kAIMaskSuiteVersion5                    AIAPI_VERSION(5)
00061 #define kAIMaskSuiteVersion                             kAIMaskSuiteVersion5
00062 #define kAIMaskVersion                                  kAIMaskSuiteVersion
00063 
00064 
00065 /*******************************************************************************
00066  **
00067  **     Types
00068  **
00069  **/
00070 
00071 
00074 typedef struct _AIMask*                                 AIMaskRef;
00075 
00076 
00079 typedef ai::int32 AIBlendingMode;
00081 enum AIBlendingModeValues {
00082         kAINormalBlendingMode                   = 0,
00083         kAIMultiplyBlendingMode                 = 1,
00084         kAIScreenBlendingMode                   = 2,
00085         kAIOverlayBlendingMode                  = 3,
00086         kAISoftLightBlendingMode                = 4,
00087         kAIHardLightBlendingMode                = 5,
00088         kAIColorDodgeBlendingMode               = 6,
00089         kAIColorBurnBlendingMode                = 7,
00090         kAIDarkenBlendingMode                   = 8,
00091         kAILightenBlendingMode                  = 9,
00092         kAIDifferenceBlendingMode               = 10,
00093         kAIExclusionBlendingMode                = 11,
00094         kAIHueBlendingMode                              = 12,
00095         kAISaturationBlendingMode               = 13,
00096         kAIColorBlendingMode                    = 14,
00097         kAILuminosityBlendingMode               = 15,
00098         kAINumBlendingModes                             = 16
00099 };
00100 
00101 
00103 typedef enum AIKnockout
00104 {
00105         kAIKnockoutUnknown = -1,
00107         kAIKnockoutOff = 0,
00109         kAIKnockoutOn,
00111         kAIKnockoutInherit
00112 } AIKnockout;
00113 
00114 
00115 /* Dictionary keys for compositing attributes */
00116 
00120 #define kAIBlendModeKey                                 "Mode"
00121 
00125 #define kAIBlendOpacityKey                              "Opacity"
00126 
00129 #define kAIBlendIsolatedKey                             "Isolated"
00130 
00133 #define kAIBlendKnockoutKey                             "Knockout"
00134 
00137 #define kAIBlendAlphaIsShapeKey                 "AlphaIsShape"
00138 
00139 
00140 /*******************************************************************************
00141  **
00142  **     Suite
00143  **
00144  **/
00145 
00146 
00162 typedef struct {
00163 
00170         AIAPI AIBlendingMode (*GetBlendingMode) (AIArtHandle art);
00171 
00177         AIAPI AIErr (*SetBlendingMode) (AIArtHandle art, AIBlendingMode mode);
00178 
00185         AIAPI AIReal (*GetOpacity) (AIArtHandle art);
00186 
00192         AIAPI AIErr (*SetOpacity) (AIArtHandle art, AIReal opacity);
00193 
00202         AIAPI AIBoolean (*GetIsolated) (AIArtHandle art);
00203 
00211         AIAPI AIErr (*SetIsolated) (AIArtHandle art, AIBoolean isolated);
00212 
00220         AIAPI AIKnockout (*GetKnockout) (AIArtHandle art);
00221 
00227         AIAPI AIKnockout (*GetInheritedKnockout) (AIArtHandle art);
00228 
00235         AIAPI AIErr (*SetKnockout) (AIArtHandle art, AIKnockout knockout);
00236 
00243         AIAPI AIBoolean (*GetAlphaIsShape) (AIArtHandle art);
00244 
00251         AIAPI AIErr (*SetAlphaIsShape) (AIArtHandle art, AIBoolean alphaIsShape);
00252 
00258         AIAPI AIErr (*Copy) (const AIArtHandle source, AIArtHandle destination);
00259 
00278         AIAPI AIErr (*GetArtAttrs) (AIArtHandle art, AIDictionaryRef attrs);
00279 
00290         AIAPI AIErr (*SetArtAttrs) (AIArtHandle art, AIDictionaryRef attrs);
00291 
00298         AIAPI AIErr (*GetStyleAttrs) (AIArtStyleHandle style, AIDictionaryRef attrs);
00299 
00310         AIAPI AIErr (*SetStyleAttrs) (AIArtStyleHandle style, AIDictionaryRef attrs,
00311                                                                   AIArtStyleHandle* newStyle);
00312 
00325         AIAPI AIErr (*GetCurrentTransparency) (AIDictionaryRef styleAttrs,
00326                                                                                    AIDictionaryRef fillAttrs,
00327                                                                                    AIDictionaryRef strokeAttrs);
00328 
00340         AIAPI AIErr (*SetCurrentTransparency) (AIDictionaryRef styleAttrs,
00341                                                                                    AIDictionaryRef fillAttrs,
00342                                                                                    AIDictionaryRef strokeAttrs);
00343 
00350         AIAPI AIErr (*GetFocalFillAttrs) (AIArtStyleHandle artStyle, AIDictionaryRef attrs);
00351 
00358         AIAPI AIErr (*GetFocalStrokeAttrs) (AIArtStyleHandle artStyle, AIDictionaryRef attrs);
00359 
00368         AIAPI AIErr (*SetFocalFillAttrs) (AIArtStyleHandle artStyle, AIDictionaryRef attrs,
00369                                                                                          AIArtStyleHandle* newStyle);
00370 
00379         AIAPI AIErr (*SetFocalStrokeAttrs) (AIArtStyleHandle artStyle, AIDictionaryRef attrs,
00380                                                                                            AIArtStyleHandle* newStyle );
00381 
00388         AIAPI AIBoolean (*ContainsNonIsolatedBlending) (AIArtHandle object);
00389 
00390         // New to Illustrator 11:
00391 
00398         AIAPI AIBoolean (*GetDocumentIsolated) (void);
00399 
00404         AIAPI AIErr (*SetDocumentIsolated) (AIBoolean isolated);
00405 
00411         AIAPI AIBoolean (*GetDocumentKnockout) (void);
00412 
00417         AIAPI AIErr (*SetDocumentKnockout) (AIBoolean knockout);
00418 
00419 } AIBlendStyleSuite;
00420 
00421 
00432 typedef struct {
00433 
00439         AIAPI ai::int32 (*AddRef) (AIMaskRef mask);
00446         AIAPI ai::int32 (*Release) (AIMaskRef mask);
00447 
00452         AIAPI AIErr (*GetMask) (AIArtHandle object, AIMaskRef* mask);
00453 
00459         AIAPI AIErr (*CreateMask) (AIArtHandle object);
00460 
00466         AIAPI AIErr (*DeleteMask) (AIArtHandle object);
00467 
00475         AIAPI AIBoolean (*GetLinked) (AIMaskRef mask);
00476 
00483         AIAPI AIErr (*SetLinked) (AIMaskRef mask, AIBoolean linked);
00484 
00491         AIAPI AIBoolean (*GetDisabled) (AIMaskRef mask);
00492 
00498         AIAPI AIErr (*SetDisabled) (AIMaskRef mask, AIBoolean disabled);
00499 
00506         AIAPI AIBoolean (*GetInverted) (AIMaskRef mask);
00507 
00513         AIAPI AIErr (*SetInverted) (AIMaskRef mask, AIBoolean inverted);
00514 
00519         AIAPI AIErr (*Copy) (const AIArtHandle source, AIArtHandle destination);
00520 
00526         AIAPI AIArtHandle (*GetArt) (AIMaskRef mask);
00527 
00534         AIAPI AIBoolean (*IsEditingArt) (AIMaskRef mask);
00535 
00544         AIAPI AIErr (*SetEditingArt) (AIMaskRef mask, AIBoolean isedit);
00545 
00552         AIAPI AIErr (*GetMaskedArt) (AIArtHandle mask, AIArtHandle* masked);
00553 
00559         AIAPI AIBoolean (*GetClipping) (AIMaskRef mask);
00560 
00569         AIAPI AIErr (*SetClipping) (AIMaskRef mask, AIBoolean clipping);
00570 
00571 } AIMaskSuite;
00572 
00573 
00574 #include "AIHeaderEnd.h"
00575 
00576 
00577 #endif


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2016 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks