00001 #ifndef __AIPattern__
00002 #define __AIPattern__
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 #ifndef __AITypes__
00030 #include "AITypes.h"
00031 #endif
00032
00033 #ifndef __AIArt__
00034 #include "AIArt.h"
00035 #endif
00036
00037 #ifndef __AIColor__
00038 #include "AIColor.h"
00039 #endif
00040
00041 #ifndef __AIPathStyle__
00042 #include "AIPathStyle.h"
00043 #endif
00044
00045
00046 #include "AIHeaderBegin.h"
00047
00048
00051
00052
00053
00054
00055
00056
00057 #define kAIPatternSuite "AI Pattern Suite"
00058 #define kAIPatternSuiteVersion10 AIAPI_VERSION(10)
00059 #define kAIPatternSuiteVersion kAIPatternSuiteVersion10
00060 #define kAIPatternVersion kAIPatternSuiteVersion
00061
00064 #define kAIArtPatternChangedNotifier "AI Art Pattern Changed Notifier"
00065
00066
00067
00068
00069
00070
00071
00072
00078 typedef void (*AIPatternProcPtr)(AIArtHandle art);
00079
00081 typedef AIPatternProcPtr AIPatternUPP;
00082
00084 #define CallAIPatternProc(userRoutine, art) \
00085 (*(userRoutine))((art))
00086
00096 #define NewAIPatternProc(userRoutine) \
00097 (AIPatternUPP)(userRoutine)
00098
00099
00100
00101
00102
00103
00104
00105
00128 typedef struct {
00129
00134 AIAPI AIErr (*NewPattern) ( AIPatternHandle *newPattern );
00135
00140 AIAPI AIErr (*DeletePattern) ( AIPatternHandle pattern );
00141
00150 AIAPI AIErr (*GetPattern) ( AIPatternHandle pattern );
00151
00162 AIAPI AIErr (*SetPattern) ( AIPatternHandle pattern );
00163
00168 AIAPI AIErr (*CountPatterns) ( ai::int32 *count );
00169
00176 AIAPI AIErr (*GetNthPattern) ( ai::int32 n, AIPatternHandle *pattern );
00177
00183 AIAPI AIErr (*GetPatternArt) ( AIPatternHandle pattern, AIArtHandle *art );
00184
00192 AIAPI AIErr (*SetPatternArt) ( AIPatternHandle pattern, AIArtHandle art );
00193
00198 AIAPI AIErr (*GetPatternName) ( AIPatternHandle pattern, ai::UnicodeString& name );
00199
00206 AIAPI AIErr (*SetPatternName) ( AIPatternHandle pattern, const ai::UnicodeString& name );
00207
00214 AIAPI AIErr (*GetPatternByName) ( const ai::UnicodeString& name, AIPatternHandle *pattern );
00215
00224 AIAPI AIErr (*IteratePattern) ( AIArtHandle art, AIPathStyle *style, AIPatternProcPtr proc );
00225
00232 AIAPI AIErr (*NewPatternName) ( ai::UnicodeString& newName );
00233
00238 AIAPI AIErr (*GetPatternTileBounds) ( AIPatternHandle pattern, AIRealRectPtr bounds );
00239
00246 AIAPI AIBoolean (*ValidatePattern) ( AIPatternHandle pattern );
00247
00248 AIAPI AIErr (*EnterPatternEditMode) (AIPatternHandle pattern);
00249
00250 AIAPI AIErr (*EndPatternEditMode) ( AIPatternHandle pattern, AIBoolean updatePattern );
00251
00265 AIAPI AIBoolean (*GetPatternEditMode) ( AIPatternHandle *patternUnderEdit, AIArtHandle *isolatedPatternArt );
00266
00267
00268 } AIPatternSuite;
00269
00270
00271 #include "AIHeaderEnd.h"
00272
00273
00274 #endif