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 "AISmoothShadingStyle.h"
00040
00041 #include "AIHeaderBegin.h"
00042
00045
00046
00047
00048
00049
00050
00051 #define kAIArtStyleParserSuite "AI Art Style Parser Suite"
00052 #define kAIArtStyleParserSuiteVersion9 AIAPI_VERSION(9)
00053 #define kAIArtStyleParserSuiteVersion kAIArtStyleParserSuiteVersion9
00054 #define kAIArtStyleParserVersion kAIArtStyleParserSuiteVersion
00055
00056
00057
00058
00059
00060
00061
00062
00063
00065 typedef struct _t_AIStyleParser* AIStyleParser;
00066
00073 typedef struct _t_AIParserLiveEffect* AIParserLiveEffect;
00074
00083 typedef struct _t_AIParserPaintField* AIParserPaintField;
00084
00088 typedef struct _t_AIParserBlendField* AIParserBlendField;
00089
00090
00091
00092
00093
00094
00095
00096
00124 struct AIArtStyleParserSuite {
00125
00129 AIAPI AIErr (*NewParser) ( AIStyleParser* parser );
00130
00134 AIAPI AIErr (*DisposeParser) ( AIStyleParser parser );
00135
00140 AIAPI AIErr (*ParseStyle) ( AIStyleParser parser, AIArtStyleHandle artStyle );
00141
00147 AIAPI AIErr (*MergeStyleIntoParser) ( AIStyleParser parser, AIArtStyleHandle artStyle );
00148
00155 AIAPI AIBoolean (*IsStyleParseable) ( AIStyleParser parser );
00156
00163 AIAPI ai::int32 (*CountPreEffects) ( AIStyleParser parser );
00164
00171 AIAPI ai::int32 (*CountPostEffects) ( AIStyleParser parser );
00172
00179 AIAPI ai::int32 (*CountPaintFields) ( AIStyleParser parser );
00180
00186 AIAPI ai::int32 (*CountEffectsOfPaintField) ( AIParserPaintField paintField );
00187
00194 AIAPI AIErr (*GetNthPreEffect) ( AIStyleParser parser, ai::int32 n, AIParserLiveEffect* effect );
00195
00202 AIAPI AIErr (*GetNthPostEffect) ( AIStyleParser parser, ai::int32 n, AIParserLiveEffect* effect );
00203
00210 AIAPI AIErr (*GetNthPaintField) ( AIStyleParser parser, ai::int32 n, AIParserPaintField* paintField );
00211
00217 AIAPI AIErr (*GetNthEffectOfPaintField) ( AIParserPaintField paintField, ai::int32 n,
00218 AIParserLiveEffect* effect );
00219
00224 AIAPI AIErr (*GetStyleBlendField) ( AIStyleParser parser, AIParserBlendField* blendField );
00225
00232 AIAPI AIErr (*InsertNthPreEffect) ( AIStyleParser parser, ai::int32 n, AIParserLiveEffect effect );
00233
00240 AIAPI AIErr (*InsertNthPostEffect) ( AIStyleParser parser, ai::int32 n, AIParserLiveEffect effect );
00241
00248 AIAPI AIErr (*InsertNthPaintField) ( AIStyleParser parser, ai::int32 n, AIParserPaintField paintField );
00249
00257 AIAPI AIErr (*InsertNthEffectOfPaintField) ( AIStyleParser parser, AIParserPaintField paintField, ai::int32 n,
00258 AIParserLiveEffect effect );
00259
00266 AIAPI AIErr (*RemovePreEffect) ( AIStyleParser parser, AIParserLiveEffect effect, AIBoolean doDelete );
00267
00274 AIAPI AIErr (*RemovePostEffect) ( AIStyleParser parser, AIParserLiveEffect effect, AIBoolean doDelete );
00275
00282 AIAPI AIErr (*RemovePaintField) ( AIStyleParser parser, AIParserPaintField paintField, AIBoolean doDelete );
00283
00291 AIAPI AIErr (*RemoveEffectOfPaintField) ( AIStyleParser parser, AIParserPaintField paintField,
00292 AIParserLiveEffect effect, AIBoolean doDelete );
00293
00297 AIAPI AIErr (*RemoveAllEffects) ( AIStyleParser parser );
00298
00306 AIAPI AIErr (*Simplify) ( AIStyleParser parser );
00307
00314 AIAPI AIErr (*GetFocusFill) ( AIStyleParser parser, AIParserPaintField* paintField );
00315
00322 AIAPI AIErr (*GetFocusStroke) ( AIStyleParser parser, AIParserPaintField* paintField );
00323
00329 AIAPI AIErr (*SetParserFocus) ( AIStyleParser parser, AIParserPaintField paintField );
00330
00340 AIAPI AIErr (*SetFocus) ( AIArtStyleHandle artStyle, AIStyleParser parser, AIParserPaintField paintField );
00341
00353 AIAPI ai::int32 (*GetGroupContentsPosition) ( AIStyleParser parser );
00354
00360 AIAPI AIErr (*MoveGroupContentsPosition) ( AIStyleParser parser, ai::int32 position );
00361
00368 AIAPI AIErr (*CreateNewStyle) ( AIStyleParser parser, AIArtStyleHandle* artStyle );
00369
00377 AIAPI AIBoolean (*IsStyleVisible) ( AIStyleParser parser );
00378
00384 AIAPI AIBoolean (*ContainsPaint) ( AIStyleParser parser );
00385
00391 AIAPI AIBoolean (*ContainsEffects) ( AIStyleParser parser );
00392
00398 AIAPI AIBoolean (*ContainsTransparency) ( AIStyleParser parser );
00399
00404 AIAPI AIErr (*GetLiveEffectHandle) ( AIParserLiveEffect effect, AILiveEffectHandle* liveEffectHandle );
00405
00410 AIAPI AIErr (*GetLiveEffectParams) ( AIParserLiveEffect effect, AILiveEffectParameters* params );
00411
00416 AIAPI AIErr (*SetLiveEffectHandle) ( AIParserLiveEffect effect, AILiveEffectHandle liveEffectHandle );
00417
00422 AIAPI AIErr (*SetLiveEffectParams) ( AIParserLiveEffect effect, AILiveEffectParameters params );
00423
00429 AIAPI AIErr (*CloneLiveEffect) ( AIParserLiveEffect effect, AIParserLiveEffect* clonedEffect );
00430
00441 AIAPI AIErr (*EditEffectParameters) ( AIArtStyleHandle artStyle, AIParserLiveEffect effect );
00442
00448 AIAPI AIBoolean (*IsFill) ( AIParserPaintField paintField );
00449
00455 AIAPI AIBoolean (*IsStroke) ( AIParserPaintField paintField );
00456
00462 AIAPI AIErr (*GetFill) ( AIParserPaintField paintField, AIFillStyle* fill, AIArtStylePaintData* paintData );
00463
00469 AIAPI AIErr (*GetStroke) ( AIParserPaintField paintField, AIStrokeStyle* stroke, AIArtStylePaintData* paintData );
00470
00476 AIAPI AIErr (*SetFill) ( AIParserPaintField paintField, AIFillStyle* fill, AIArtStylePaintData* paintData );
00477
00482 AIAPI AIErr (*SetStroke) ( AIParserPaintField paintField, AIStrokeStyle* stroke, AIArtStylePaintData* paintData );
00483
00489 AIAPI AIErr (*GetPaintBlendDictionary) ( AIParserPaintField paintField, AIDictionaryRef blendDict );
00490
00496 AIAPI AIErr (*SetPaintBlendDictionary) ( AIParserPaintField paintField, AIDictionaryRef blendDict );
00497
00501 AIAPI ai::int32 (*GetColorPosn) ( AIParserPaintField paintField );
00502
00506 AIAPI AIErr (*SetColorPosn) ( AIParserPaintField paintField, ai::int32 colorPosn );
00507
00514 AIAPI AIErr (*ClonePaintField) ( AIParserPaintField paintField, AIParserPaintField* clonedPaintField );
00515
00530 AIAPI AIErr (*GetPaintLiveEffectInfo) ( AIParserPaintField paintField, AILiveEffectHandle* liveEffectHandle,
00531 AILiveEffectParameters* params );
00532
00540 AIAPI AIErr (*SetPaintLiveEffectInfo) ( AIParserPaintField paintField, AILiveEffectHandle liveEffectHandle,
00541 AILiveEffectParameters params );
00542
00548 AIAPI AIErr (*GetBlendDictionary) ( AIParserBlendField blendField, AIDictionaryRef blendDict );
00549
00555 AIAPI AIErr (*SetBlendDictionary) ( AIParserBlendField blendField, AIDictionaryRef blendDict );
00556
00557
00558
00565 AIAPI AIErr (*GetEvenOdd) ( AIParserPaintField paintField, AIBoolean* evenodd );
00566
00572 AIAPI AIErr (*SetEvenOdd) ( AIParserPaintField paintField, AIBoolean evenodd );
00573
00581 AIAPI AIErr (*NewPaintFieldFill) ( const AIFillStyle* fill, AIBoolean evenOdd, const AIArtStylePaintData* paintData,
00582 AIParserPaintField* paintField );
00583
00589 AIAPI AIErr (*NewPaintFieldStroke) ( const AIStrokeStyle* stroke, const AIArtStylePaintData* paintData,
00590 AIParserPaintField* paintField );
00591
00597 AIAPI AIErr (*DisposePaintField) ( AIParserPaintField paintField );
00598
00606 AIAPI AIErr (*NewParserLiveEffect) ( AILiveEffectHandle liveEffectHandle, AILiveEffectParameters params,
00607 AIParserLiveEffect* effect );
00608
00613 AIAPI AIErr (*DisposeParserLiveEffect) ( AIParserLiveEffect effect );
00614
00615
00620 AIAPI AIErr (*GetCurrentArtStyle) ( AIArtStyleHandle* style );
00621
00622
00623
00634 AIAPI AIErr (*EditPaintEffectParameters) ( AIArtStyleHandle artStyle, AIParserPaintField paintField );
00635
00642 AIAPI AIBoolean (*IsNormalOpaquePaintBlend) ( AIParserPaintField paintField );
00643
00650 AIAPI AIBoolean (*IsNormalOpaqueBlend) ( AIParserBlendField blendField );
00651
00658 AIAPI AIBoolean (*IsDefaultPaintBlend) ( AIParserPaintField paintField );
00659
00664 AIAPI AIErr (*SetDefaultPaintBlend) ( AIParserPaintField paintField );
00665
00672 AIAPI AIBoolean (*IsDefaultBlend) ( AIParserBlendField blendField );
00673
00680 AIAPI AIErr (*SetDefaultBlend) ( AIParserBlendField blendField, AIBoolean knockoutOff );
00681
00688 AIAPI AIBoolean (*IsStyleSimple) ( AIStyleParser parser );
00689
00698 AIAPI AIErr (*GetLiveEffectNameAndVersion) ( AIParserLiveEffect effect, const char** name, ai::int32* major, ai::int32* minor );
00699
00710 AIAPI AIErr (*GetPaintLiveEffectNameAndVersion) ( AIParserPaintField paintField, const char** name, ai::int32* major, ai::int32* minor );
00711
00712
00713
00722 AIAPI AIBoolean (*CompareStyles) ( AIStyleParser parserStyle1, AIStyleParser parserStyle2);
00723
00729 AIAPI AIErr (*GetEffectVisible) ( AIParserLiveEffect effect, AIBoolean *visible);
00730
00738 AIAPI AIErr (*SetEffectVisible) ( AIArtStyleHandle artStyle, AIParserLiveEffect effect, AIBoolean visible );
00739
00740
00746 AIAPI AIErr (*GetPaintFieldVisible) ( AIParserPaintField paintField, AIBoolean *visible);
00747
00748
00756 AIAPI AIErr (*SetPaintFieldVisible) ( AIArtStyleHandle artStyle, AIParserPaintField paintField, AIBoolean visible );
00757
00763 AIAPI AIErr (*GetBlendFieldVisible) ( AIParserBlendField blendField, AIBoolean *visible);
00764
00765
00773 AIAPI AIErr (*SetBlendFieldVisible) ( AIArtStyleHandle artStyle, AIParserBlendField blendField, AIBoolean visible );
00774
00775
00776
00783 AIAPI AIErr (*GetPaintBlendVisible) ( AIParserPaintField paintField, AIBoolean *visible);
00784
00785
00793 AIAPI AIErr (*SetPaintBlendVisible) ( AIArtStyleHandle artStyle, AIParserPaintField paintField, AIBoolean visible );
00794
00803 AIAPI AIErr (*IntersectStyleWithParser) ( AIStyleParser parser, AIArtStyleHandle artStyle );
00804
00805
00814 AIAPI AIErr (*FindEquivalentPaintField) ( AIStyleParser parser, AIParserPaintField paintField, ai::int32 startIndex, ai::int32* index );
00815
00822 AIAPI AIErr (*GetFocusEffect) ( AIStyleParser parser, AIParserLiveEffect* effectField );
00823
00833 AIAPI AIErr (*SetFocusEffect) ( AIArtStyleHandle artStyle, AIStyleParser parser, AIParserLiveEffect effectField );
00834
00840 AIAPI AIErr (*SetParserFocusEffect) ( AIStyleParser parser, AIParserLiveEffect effectField );
00841
00851 AIAPI AIErr (*EditEffectParametersInSelection) ( AIParserLiveEffect effectField );
00852
00853
00863 AIAPI AIErr (*FindEquivalentEffect) ( AIStyleParser parser, AIParserPaintField paintField, AIParserLiveEffect effectField, AIBoolean preEffect, ai::int32 startIndex, ai::int32* index );
00864
00865
00866
00873 AIAPI AIBoolean (*StyleContainsAttributes) ( AIArtStyleHandle artStyle, AIStyleParser attributes, AIBoolean includeTransparency );
00874
00881 AIAPI AIErr (*SetParserEffectVisible) ( AIParserLiveEffect effect, AIBoolean visible);
00882
00889 AIAPI AIErr (*SetParserPaintFieldVisible) ( AIParserPaintField paintField, AIBoolean visible);
00890
00897 AIAPI AIErr (*SetParserBlendFieldVisible) ( AIParserBlendField blendField, AIBoolean visible);
00898
00905 AIAPI AIErr (*SetParserPaintBlendVisible) ( AIParserPaintField paintField, AIBoolean visible);
00906
00907
00913 AIAPI AIErr(*NewPaintFieldSmoothShading) ( AISmoothShadingStyle smoothStyle, AIParserPaintField& paintField);
00914
00920 AIAPI AIBoolean (*IsSmoothShadingStyle) ( AIParserPaintField paintField );
00921
00927 AIAPI AIErr (*GetSmoothShadingStyle)(AIParserPaintField paintField, AISmoothShadingStylePtr &outSmoothStyle);
00928
00935 AIAPI AIErr (*CloneEffectsList) (AIStyleParser parser, AIParserPaintField &fromPaintField, AIParserPaintField &toPaintField);
00936
00942 AIAPI AIErr (*SetSmoothShadingStyle) (AIParserPaintField paintField, AISmoothShadingStylePtr inSmoothShadingStyle);
00943 };
00944
00945
00946 #include "AIHeaderEnd.h"
00947
00948
00949 #endif