00001 #ifndef __AIClipboard__
00002 #define __AIClipboard__
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 #include "AIHeaderBegin.h"
00035
00039
00040
00041
00042
00043
00044
00045 #define kAIClipboardSuite "AI Clipboard Suite"
00046 #define kAIClipboardSuiteVersion5 AIAPI_VERSION(5) // In AI 20.1
00047
00048 #define kAIClipboardSuiteVersion kAIClipboardSuiteVersion5
00049 #define kAIClipboardVersion kAIClipboardSuiteVersion
00050
00053 #define kCallerAIClipboard "AI Clipboard"
00054
00067 #define kSelectorAIGoClipboard "AI Go"
00068
00069
00074 #define kSelectorAICanCopyClipboard "AI Can Copy"
00075
00081 #define kSelectorAICloneClipboard "AI Clone"
00082
00085 #define kSelectorAIDisposeClipboard "AI Dispose"
00086
00091 enum AIClipboardFormatOptions {
00093 kClipboardCopy = (1<<1),
00095 kClipboardPaste = (1<<2),
00102 kClipboardCannotCopy = (1<<3)
00103 };
00104
00107 #define kCantCopyErr 'CLP?'
00108
00109
00110
00111
00112
00113
00114
00115
00117 typedef struct _t_AIClipboardOpaque *AIClipboardHandle;
00118
00120 typedef ai::uint32 DDType;
00121
00124 typedef struct {
00126 const char* clipboardName;
00128 ai::int32 OleType;
00133 DDType uniqueType;
00134 } AIClipboardData;
00135
00138 typedef struct {
00140 SPMessageData d;
00142 AIClipboardHandle Clipboard;
00144 AIStream ClipboardData;
00147 ai::int32 option;
00148 } AIClipboardMessage;
00149
00150
00151
00152
00153
00154
00155
00171 typedef struct {
00172
00180 AIAPI AIErr (*AddClipboard) ( SPPluginRef self, AIClipboardData *data,
00181 ai::int32 options, AIClipboardHandle *Clipboard );
00185 AIAPI AIErr (*RemoveClipboard) (AIClipboardHandle Clipboard);
00186
00191 AIAPI AIErr (*GetClipboardName) (AIClipboardHandle Clipboard, const char* *name);
00192
00197 AIAPI AIErr (*GetClipboardOleType) (AIClipboardHandle Clipboard, ai::int32* OleType);
00198
00203 AIAPI AIErr (*GetClipboardPlugin) (AIClipboardHandle Clipboard, SPPluginRef *plugin);
00204
00209 AIAPI AIErr (*GetClipboardType) (AIClipboardHandle Clipboard, DDType *uniqueType);
00210
00216 AIAPI AIErr (*GetClipboardOptions) (AIClipboardHandle Clipboard, ai::int32 *options);
00217
00223 AIAPI AIErr (*SetClipboardOptions) (AIClipboardHandle Clipboard, ai::int32 options);
00224
00229 AIAPI AIErr (*CountClipboards) (ai::int32 *count);
00230
00235 AIAPI AIErr (*GetNthClipboard) (ai::int32 n, AIClipboardHandle *Clipboard);
00236
00237 } AIClipboardSuite;
00238
00239 #include "AIHeaderEnd.h"
00240
00241
00242 #endif