00001 #ifndef __AIMask__
00002 #define __AIMask__
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 __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
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
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
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
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
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