00001 #ifndef __AITabletData__
00002 #define __AITabletData__
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 #include "AIHeaderBegin.h"
00039
00043
00044
00045
00046
00047
00048
00049 #define kAITabletDataSuite "AI TabletData Suite"
00050 #define kAITabletDataSuiteVersion AIAPI_VERSION(3)
00051 #define kAITabletDataVersion kAITabletDataSuiteVersion
00052
00053
00055 typedef enum {
00057 kTabletPressure = 0,
00059 kTabletStylusWheel,
00061 kTabletTilt,
00063 kTabletBearing,
00065 kTabletRotation,
00067 kTabletTypeCount
00068 } AITabletDataType;
00069
00070
00076 typedef struct {
00078 AIReal offset;
00080 AIReal value;
00081 } AITabletProfile;
00082
00085 #define kNotEnoughSpace '!spc'
00086
00087
00088
00089
00090
00091
00092
00100 typedef struct {
00101
00114 AIAPI AIErr (*GetTabletData) ( AIArtHandle path, AITabletProfile **profile, ai::int32 *count, AITabletDataType type );
00115
00122 AIAPI AIErr (*SetTabletData) ( AIArtHandle path, AITabletProfile *profile, ai::int32 count, AITabletDataType type );
00123
00129 AIAPI AIErr (*GetTabletDataInUse) ( AIArtHandle path, AIBoolean *inUse );
00130
00135 AIAPI AIErr (*SetTabletDataInUse) ( AIArtHandle path, AIBoolean inUse );
00136
00152 AIAPI AIErr (*SplitTabletData) ( AITabletProfile *orig, ai::int32 origCount,
00153 AITabletProfile **part1, ai::int32 *part1Count, AITabletProfile **part2, ai::int32 *part2Count,
00154 AIReal split );
00155
00166 AIAPI AIErr (*ExtendTabletData) ( AITabletProfile *orig, ai::int32 origCount,
00167 AITabletProfile **extendedProfile, ai::int32 *extendedCount, AIReal newStart, AIReal newEnd );
00168
00186 AIAPI AIErr (*JoinTabletData) ( AITabletProfile *part1, ai::int32 part1Count,
00187 AITabletProfile *part2, ai::int32 part2Count, AITabletProfile **joined, ai::int32 *joinedCount,
00188 AIReal part1Ends, AIReal part2Begins);
00189
00190 } AITabletDataSuite;
00191
00192
00193 #include "AIHeaderEnd.h"
00194
00195
00196 #endif