00001 #ifndef __AIArtStyleParser__
00002 #define __AIArtStyleParser__
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 #ifndef __AIArtStyle__
00028 #include "AIArtStyle.h"
00029 #endif
00030
00031 #ifndef __AILiveEffect__
00032 #include "AILiveEffect.h"
00033 #endif
00034
00035 #ifndef __AIPathStyle__
00036 #include "AIPathStyle.h"
00037 #endif
00038
00039 #include "AIHeaderBegin.h"
00040
00043
00044
00045
00046
00047
00048
00049 #define kAIArtStyleParserSuite "AI Art Style Parser Suite"
00050 #define kAIArtStyleParserSuiteVersion8 AIAPI_VERSION(8)
00051 #define kAIArtStyleParserSuiteVersion kAIArtStyleParserSuiteVersion8
00052 #define kAIArtStyleParserVersion kAIArtStyleParserSuiteVersion
00053
00054
00055
00056
00057
00058
00059
00060
00061
00063 typedef struct _t_AIStyleParser* AIStyleParser;
00064
00071 typedef struct _t_AIParserLiveEffect* AIParserLiveEffect;
00072
00081 typedef struct _t_AIParserPaintField* AIParserPaintField;
00082
00086 typedef struct _t_AIParserBlendField* AIParserBlendField;
00087
00088
00089
00090
00091
00092
00093
00094
00122 struct AIArtStyleParserSuite {
00123
00127 AIAPI AIErr (*NewParser) ( AIStyleParser* parser );
00128
00132 AIAPI AIErr (*DisposeParser) ( AIStyleParser parser );
00133
00138 AIAPI AIErr (*ParseStyle) ( AIStyleParser parser, AIArtStyleHandle artStyle );
00139
00145 AIAPI AIErr (*MergeStyleIntoParser) ( AIStyleParser parser, AIArtStyleHandle artStyle );
00146
00153 AIAPI AIBoolean (*IsStyleParseable) ( AIStyleParser parser );
00154
00161 AIAPI ai::int32 (*CountPreEffects) ( AIStyleParser parser );
00162
00169 AIAPI ai::int32 (*CountPostEffects) ( AIStyleParser parser );
00170
00177 AIAPI ai::int32 (*CountPaintFields) ( AIStyleParser parser );
00178
00184 AIAPI ai::int32 (*CountEffectsOfPaintField) ( AIParserPaintField paintField );
00185
00192 AIAPI AIErr (*GetNthPreEffect) ( AIStyleParser parser, ai::int32 n, AIParserLiveEffect* effect );
00193
00200 AIAPI AIErr (*GetNthPostEffect) ( AIStyleParser parser, ai::int32 n, AIParserLiveEffect* effect );
00201
00208 AIAPI AIErr (*GetNthPaintField) ( AIStyleParser parser, ai::int32 n, AIParserPaintField* paintField );
00209
00215 AIAPI AIErr (*GetNthEffectOfPaintField) ( AIParserPaintField paintField, ai::int32 n,
00216 AIParserLiveEffect* effect );
00217
00222 AIAPI AIErr (*GetStyleBlendField) ( AIStyleParser parser, AIParserBlendField* blendField );
00223
00230 AIAPI AIErr (*InsertNthPreEffect) ( AIStyleParser parser, ai::int32 n, AIParserLiveEffect effect );
00231
00238 AIAPI AIErr (*InsertNthPostEffect) ( AIStyleParser parser, ai::int32 n, AIParserLiveEffect effect );
00239
00246 AIAPI AIErr (*InsertNthPaintField) ( AIStyleParser parser, ai::int32 n, AIParserPaintField paintField );
00247
00255 AIAPI AIErr (*InsertNthEffectOfPaintField) ( AIStyleParser parser, AIParserPaintField paintField, ai::int32 n,
00256 AIParserLiveEffect effect );
00257
00264 AIAPI AIErr (*RemovePreEffect) ( AIStyleParser parser, AIParserLiveEffect effect, AIBoolean doDelete );
00265
00272 AIAPI AIErr (*RemovePostEffect) ( AIStyleParser parser, AIParserLiveEffect effect, AIBoolean doDelete );
00273
00280 AIAPI AIErr (*RemovePaintField) ( AIStyleParser parser, AIParserPaintField paintField, AIBoolean doDelete );
00281
00289 AIAPI AIErr (*RemoveEffectOfPaintField) ( AIStyleParser parser, AIParserPaintField paintField,
00290 AIParserLiveEffect effect, AIBoolean doDelete );
00291
00295 AIAPI AIErr (*RemoveAllEffects) ( AIStyleParser parser );
00296
00304 AIAPI AIErr (*Simplify) ( AIStyleParser parser );
00305
00312 AIAPI AIErr (*GetFocusFill) ( AIStyleParser parser, AIParserPaintField* paintField );
00313
00320 AIAPI AIErr (*GetFocusStroke) ( AIStyleParser parser, AIParserPaintField* paintField );
00321
00327 AIAPI AIErr (*SetParserFocus) ( AIStyleParser parser, AIParserPaintField paintField );
00328
00338 AIAPI AIErr (*SetFocus) ( AIArtStyleHandle artStyle, AIStyleParser parser, AIParserPaintField paintField );
00339
00351 AIAPI ai::int32 (*GetGroupContentsPosition) ( AIStyleParser parser );
00352
00358 AIAPI AIErr (*MoveGroupContentsPosition) ( AIStyleParser parser, ai::int32 position );
00359
00366 AIAPI AIErr (*CreateNewStyle) ( AIStyleParser parser, AIArtStyleHandle* artStyle );
00367
00375 AIAPI AIBoolean (*IsStyleVisible) ( AIStyleParser parser );
00376
00382 AIAPI AIBoolean (*ContainsPaint) ( AIStyleParser parser );
00383
00389 AIAPI AIBoolean (*ContainsEffects) ( AIStyleParser parser );
00390
00396 AIAPI AIBoolean (*ContainsTransparency) ( AIStyleParser parser );
00397
00402 AIAPI AIErr (*GetLiveEffectHandle) ( AIParserLiveEffect effect, AILiveEffectHandle* liveEffectHandle );
00403
00408 AIAPI AIErr (*GetLiveEffectParams) ( AIParserLiveEffect effect, AILiveEffectParameters* params );
00409
00414 AIAPI AIErr (*SetLiveEffectHandle) ( AIParserLiveEffect effect, AILiveEffectHandle liveEffectHandle );
00415
00420 AIAPI AIErr (*SetLiveEffectParams) ( AIParserLiveEffect effect, AILiveEffectParameters params );
00421
00427 AIAPI AIErr (*CloneLiveEffect) ( AIParserLiveEffect effect, AIParserLiveEffect* clonedEffect );
00428
00439 AIAPI AIErr (*EditEffectParameters) ( AIArtStyleHandle artStyle, AIParserLiveEffect effect );
00440
00446 AIAPI AIBoolean (*IsFill) ( AIParserPaintField paintField );
00447
00453 AIAPI AIBoolean (*IsStroke) ( AIParserPaintField paintField );
00454
00460 AIAPI AIErr (*GetFill) ( AIParserPaintField paintField, AIFillStyle* fill, AIArtStylePaintData* paintData );
00461
00467 AIAPI AIErr (*GetStroke) ( AIParserPaintField paintField, AIStrokeStyle* stroke, AIArtStylePaintData* paintData );
00468
00474 AIAPI AIErr (*SetFill) ( AIParserPaintField paintField, AIFillStyle* fill, AIArtStylePaintData* paintData );
00475
00480 AIAPI AIErr (*SetStroke) ( AIParserPaintField paintField, AIStrokeStyle* stroke, AIArtStylePaintData* paintData );
00481
00487 AIAPI AIErr (*GetPaintBlendDictionary) ( AIParserPaintField paintField, AIDictionaryRef blendDict );
00488
00494 AIAPI AIErr (*SetPaintBlendDictionary) ( AIParserPaintField paintField, AIDictionaryRef blendDict );
00495
00499 AIAPI ai::int32 (*GetColorPosn) ( AIParserPaintField paintField );
00500
00504 AIAPI AIErr (*SetColorPosn) ( AIParserPaintField paintField, ai::int32 colorPosn );
00505
00512 AIAPI AIErr (*ClonePaintField) ( AIParserPaintField paintField, AIParserPaintField* clonedPaintField );
00513
00528 AIAPI AIErr (*GetPaintLiveEffectInfo) ( AIParserPaintField paintField, AILiveEffectHandle* liveEffectHandle,
00529 AILiveEffectParameters* params );
00530
00538 AIAPI AIErr (*SetPaintLiveEffectInfo) ( AIParserPaintField paintField, AILiveEffectHandle liveEffectHandle,
00539 AILiveEffectParameters params );
00540
00546 AIAPI AIErr (*GetBlendDictionary) ( AIParserBlendField blendField, AIDictionaryRef blendDict );
00547
00553 AIAPI AIErr (*SetBlendDictionary) ( AIParserBlendField blendField, AIDictionaryRef blendDict );
00554
00555
00556
00563 AIAPI AIErr (*GetEvenOdd) ( AIParserPaintField paintField, AIBoolean* evenodd );
00564
00570 AIAPI AIErr (*SetEvenOdd) ( AIParserPaintField paintField, AIBoolean evenodd );
00571
00579 AIAPI AIErr (*NewPaintFieldFill) ( const AIFillStyle* fill, AIBoolean evenOdd, const AIArtStylePaintData* paintData,
00580 AIParserPaintField* paintField );
00581
00587 AIAPI AIErr (*NewPaintFieldStroke) ( const AIStrokeStyle* stroke, const AIArtStylePaintData* paintData,
00588 AIParserPaintField* paintField );
00589
00595 AIAPI AIErr (*DisposePaintField) ( AIParserPaintField paintField );
00596
00604 AIAPI AIErr (*NewParserLiveEffect) ( AILiveEffectHandle liveEffectHandle, AILiveEffectParameters params,
00605 AIParserLiveEffect* effect );
00606
00611 AIAPI AIErr (*DisposeParserLiveEffect) ( AIParserLiveEffect effect );
00612
00613
00618 AIAPI AIErr (*GetCurrentArtStyle) ( AIArtStyleHandle* style );
00619
00620
00621
00632 AIAPI AIErr (*EditPaintEffectParameters) ( AIArtStyleHandle artStyle, AIParserPaintField paintField );
00633
00640 AIAPI AIBoolean (*IsNormalOpaquePaintBlend) ( AIParserPaintField paintField );
00641
00648 AIAPI AIBoolean (*IsNormalOpaqueBlend) ( AIParserBlendField blendField );
00649
00656 AIAPI AIBoolean (*IsDefaultPaintBlend) ( AIParserPaintField paintField );
00657
00662 AIAPI AIErr (*SetDefaultPaintBlend) ( AIParserPaintField paintField );
00663
00670 AIAPI AIBoolean (*IsDefaultBlend) ( AIParserBlendField blendField );
00671
00678 AIAPI AIErr (*SetDefaultBlend) ( AIParserBlendField blendField, AIBoolean knockoutOff );
00679
00686 AIAPI AIBoolean (*IsStyleSimple) ( AIStyleParser parser );
00687
00696 AIAPI AIErr (*GetLiveEffectNameAndVersion) ( AIParserLiveEffect effect, const char** name, ai::int32* major, ai::int32* minor );
00697
00708 AIAPI AIErr (*GetPaintLiveEffectNameAndVersion) ( AIParserPaintField paintField, const char** name, ai::int32* major, ai::int32* minor );
00709
00710
00711
00720 AIAPI AIBoolean (*CompareStyles) ( AIStyleParser parserStyle1, AIStyleParser parserStyle2);
00721
00727 AIAPI AIErr (*GetEffectVisible) ( AIParserLiveEffect effect, AIBoolean *visible);
00728
00736 AIAPI AIErr (*SetEffectVisible) ( AIArtStyleHandle artStyle, AIParserLiveEffect effect, AIBoolean visible );
00737
00738
00744 AIAPI AIErr (*GetPaintFieldVisible) ( AIParserPaintField paintField, AIBoolean *visible);
00745
00746
00754 AIAPI AIErr (*SetPaintFieldVisible) ( AIArtStyleHandle artStyle, AIParserPaintField paintField, AIBoolean visible );
00755
00761 AIAPI AIErr (*GetBlendFieldVisible) ( AIParserBlendField blendField, AIBoolean *visible);
00762
00763
00771 AIAPI AIErr (*SetBlendFieldVisible) ( AIArtStyleHandle artStyle, AIParserBlendField blendField, AIBoolean visible );
00772
00773
00774
00781 AIAPI AIErr (*GetPaintBlendVisible) ( AIParserPaintField paintField, AIBoolean *visible);
00782
00783
00791 AIAPI AIErr (*SetPaintBlendVisible) ( AIArtStyleHandle artStyle, AIParserPaintField paintField, AIBoolean visible );
00792
00801 AIAPI AIErr (*IntersectStyleWithParser) ( AIStyleParser parser, AIArtStyleHandle artStyle );
00802
00803
00812 AIAPI AIErr (*FindEquivalentPaintField) ( AIStyleParser parser, AIParserPaintField paintField, ai::int32 startIndex, ai::int32* index );
00813
00820 AIAPI AIErr (*GetFocusEffect) ( AIStyleParser parser, AIParserLiveEffect* effectField );
00821
00831 AIAPI AIErr (*SetFocusEffect) ( AIArtStyleHandle artStyle, AIStyleParser parser, AIParserLiveEffect effectField );
00832
00838 AIAPI AIErr (*SetParserFocusEffect) ( AIStyleParser parser, AIParserLiveEffect effectField );
00839
00849 AIAPI AIErr (*EditEffectParametersInSelection) ( AIParserLiveEffect effectField );
00850
00851
00861 AIAPI AIErr (*FindEquivalentEffect) ( AIStyleParser parser, AIParserPaintField paintField, AIParserLiveEffect effectField, AIBoolean preEffect, ai::int32 startIndex, ai::int32* index );
00862
00863
00864
00871 AIAPI AIBoolean (*StyleContainsAttributes) ( AIArtStyleHandle artStyle, AIStyleParser attributes, AIBoolean includeTransparency );
00872
00879 AIAPI AIErr (*SetParserEffectVisible) ( AIParserLiveEffect effect, AIBoolean visible);
00880
00887 AIAPI AIErr (*SetParserPaintFieldVisible) ( AIParserPaintField paintField, AIBoolean visible);
00888
00895 AIAPI AIErr (*SetParserBlendFieldVisible) ( AIParserBlendField blendField, AIBoolean visible);
00896
00903 AIAPI AIErr (*SetParserPaintBlendVisible) ( AIParserPaintField paintField, AIBoolean visible);
00904
00905 };
00906
00907
00908 #include "AIHeaderEnd.h"
00909
00910
00911 #endif