fs_app_r.h
Go to the documentation of this file.
1 
23 #ifndef _FSCRT_APP_R_H_
24 #define _FSCRT_APP_R_H_
25 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50 
51 /******************************************************************************/
52 /* Note definitions - message & event */
53 /* */
54 /* Virtual key codes, note flags, note types, cursor types, note structure */
55 /******************************************************************************/
56 #ifndef _FSCRT_DEF_VKEY_
57 #define _FSCRT_DEF_VKEY_
58 
63 #define FSCRT_VKEY_UNKNOWN 0x00
64 #define FSCRT_VKEY_BACK 0x08
65 #define FSCRT_VKEY_TAB 0x09
66 #define FSCRT_VKEY_RETURN 0x0D
67 #define FSCRT_VKEY_SHIFT 0x10
68 #define FSCRT_VKEY_CONTROL 0x11
69 #define FSCRT_VKEY_MENU 0x12
70 #define FSCRT_VKEY_PAUSE 0x13
71 #define FSCRT_VKEY_ESCAPE 0x1B
72 #define FSCRT_VKEY_SPACE 0x20
73 #define FSCRT_VKEY_PRIOR 0x21
74 #define FSCRT_VKEY_NEXT 0x22
75 #define FSCRT_VKEY_END 0x23
76 #define FSCRT_VKEY_HOME 0x24
77 #define FSCRT_VKEY_LEFT 0x25
78 #define FSCRT_VKEY_UP 0x26
79 #define FSCRT_VKEY_RIGHT 0x27
80 #define FSCRT_VKEY_DOWN 0x28
81 #define FSCRT_VKEY_PRINT 0x2A
82 #define FSCRT_VKEY_SNAPSHOT 0x2C
83 #define FSCRT_VKEY_INSERT 0x2D
84 #define FSCRT_VKEY_DELETE 0x2E
85 #define FSCRT_VKEY_HELP 0x2F
86 #define FSCRT_VKEY_0 0x30
87 #define FSCRT_VKEY_1 0x31
88 #define FSCRT_VKEY_2 0x32
89 #define FSCRT_VKEY_3 0x33
90 #define FSCRT_VKEY_4 0x34
91 #define FSCRT_VKEY_5 0x35
92 #define FSCRT_VKEY_6 0x36
93 #define FSCRT_VKEY_7 0x37
94 #define FSCRT_VKEY_8 0x38
95 #define FSCRT_VKEY_9 0x39
96 #define FSCRT_VKEY_A 0x41
97 #define FSCRT_VKEY_B 0x42
98 #define FSCRT_VKEY_C 0x43
99 #define FSCRT_VKEY_D 0x44
100 #define FSCRT_VKEY_E 0x45
101 #define FSCRT_VKEY_F 0x46
102 #define FSCRT_VKEY_G 0x47
103 #define FSCRT_VKEY_H 0x48
104 #define FSCRT_VKEY_I 0x49
105 #define FSCRT_VKEY_J 0x4A
106 #define FSCRT_VKEY_K 0x4B
107 #define FSCRT_VKEY_L 0x4C
108 #define FSCRT_VKEY_M 0x4D
109 #define FSCRT_VKEY_N 0x4E
110 #define FSCRT_VKEY_O 0x4F
111 #define FSCRT_VKEY_P 0x50
112 #define FSCRT_VKEY_Q 0x51
113 #define FSCRT_VKEY_R 0x52
114 #define FSCRT_VKEY_S 0x53
115 #define FSCRT_VKEY_T 0x54
116 #define FSCRT_VKEY_U 0x55
117 #define FSCRT_VKEY_V 0x56
118 #define FSCRT_VKEY_W 0x57
119 #define FSCRT_VKEY_X 0x58
120 #define FSCRT_VKEY_Y 0x59
121 #define FSCRT_VKEY_Z 0x5A
122 #define FSCRT_VKEY_NUMPAD0 0x60
123 #define FSCRT_VKEY_NUMPAD1 0x61
124 #define FSCRT_VKEY_NUMPAD2 0x62
125 #define FSCRT_VKEY_NUMPAD3 0x63
126 #define FSCRT_VKEY_NUMPAD4 0x64
127 #define FSCRT_VKEY_NUMPAD5 0x65
128 #define FSCRT_VKEY_NUMPAD6 0x66
129 #define FSCRT_VKEY_NUMPAD7 0x67
130 #define FSCRT_VKEY_NUMPAD8 0x68
131 #define FSCRT_VKEY_NUMPAD9 0x69
132 #define FSCRT_VKEY_MULTIPLY 0x6A
133 #define FSCRT_VKEY_ADD 0x6B
134 #define FSCRT_VKEY_SEPARATOR 0x6C
135 #define FSCRT_VKEY_SUBTRACT 0x6D
136 #define FSCRT_VKEY_DECIMAL 0x6E
137 #define FSCRT_VKEY_DIVIDE 0x6F
138 #define FSCRT_VKEY_F1 0x70
139 #define FSCRT_VKEY_F2 0x71
140 #define FSCRT_VKEY_F3 0x72
141 #define FSCRT_VKEY_F4 0x73
142 #define FSCRT_VKEY_F5 0x74
143 #define FSCRT_VKEY_F6 0x75
144 #define FSCRT_VKEY_F7 0x76
145 #define FSCRT_VKEY_F8 0x77
146 #define FSCRT_VKEY_F9 0x78
147 #define FSCRT_VKEY_F10 0x79
148 #define FSCRT_VKEY_F11 0x7A
149 #define FSCRT_VKEY_F12 0x7B
153 #endif /* _FSCRT_DEF_VKEY_ */
154 
155 #ifndef _FSCRT_DEF_NOTEFLAG_
156 #define _FSCRT_DEF_NOTEFLAG_
157 
162 #define FSCRT_NOTEFLAG_SHIFTKEY 0x0001
163 #define FSCRT_NOTEFLAG_CONTROLKEY 0x0002
164 #define FSCRT_NOTEFLAG_ALTKEY 0x0004
165 #define FSCRT_NOTEFLAG_METAKEY 0x0008
166 #define FSCRT_NOTEFLAG_KEYPAD 0x0010
167 #define FSCRT_NOTEFLAG_AUTOREPEAT 0x0020
168 #define FSCRT_NOTEFLAG_LEFTBUTTONDOWN 0x0040
169 #define FSCRT_NOTEFLAG_MIDDLEBUTTONDOWN 0x0080
170 #define FSCRT_NOTEFLAG_RIGHTBUTTONDOWN 0x0100
173 #endif /* _FSCRT_DEF_NOTEFLAG_ */
174 
175 #ifndef _FSCRT_DEF_NOTETYPE_
176 #define _FSCRT_DEF_NOTETYPE_
177 
182 #define FSCRT_NOTETYPE_KEYDOWN 1
183 #define FSCRT_NOTETYPE_KEYUP 2
184 #define FSCRT_NOTETYPE_CHAR 3
185 #define FSCRT_NOTETYPE_LBUTTONDOWN 4
186 #define FSCRT_NOTETYPE_LBUTTONUP 5
187 #define FSCRT_NOTETYPE_LBUTTONDBLCLK 6
188 #define FSCRT_NOTETYPE_RBUTTONDOWN 7
189 #define FSCRT_NOTETYPE_RBUTTONUP 8
190 #define FSCRT_NOTETYPE_RBUTTONDBLCLK 9
191 #define FSCRT_NOTETYPE_MBUTTONDOWN 10
192 #define FSCRT_NOTETYPE_MBUTTONUP 11
193 #define FSCRT_NOTETYPE_MBUTTONDBLCLK 12
194 #define FSCRT_NOTETYPE_MOUSEMOVE 13
195 #define FSCRT_NOTETYPE_MOUSEENTER 14
196 #define FSCRT_NOTETYPE_MOUSEHOVER 15
197 #define FSCRT_NOTETYPE_MOUSELEAVE 16
198 #define FSCRT_NOTETYPE_MOUSEWHEEL 17
199 #define FSCRT_NOTETYPE_PAGEUP 18
200 #define FSCRT_NOTETYPE_PAGEDOWN 19
201 #define FSCRT_NOTETYPE_KILLFOCUS 20
204 #endif /* _FSCRT_DEF_NOTETYPE_*/
205 
206 #ifndef _FSCRT_CURSOR_TYPE_
207 #define _FSCRT_CURSOR_TYPE_
208 
213 #define FSCRT_CURSOR_ARROW 0
214 #define FSCRT_CURSOR_NESW 1
215 #define FSCRT_CURSOR_NWSE 2
216 #define FSCRT_CURSOR_VBEAM 3
217 #define FSCRT_CURSOR_HBEAM 4
218 #define FSCRT_CURSOR_HAND 5
221 #endif /* _FSCRT_CURSOR_TYPE_*/
222 
223 #ifndef _FSCRT_DEF_NOTEDATA_KEY_
224 #define _FSCRT_DEF_NOTEDATA_KEY_
225 
230 typedef struct _FSCRT_NOTEDATA_KEY
231 {
237 
238 #endif /* _FSCRT_DEF_NOTEDATA_KEY_ */
239 
240 #ifndef _FSCRT_DEF_NOTEDATA_CHAR_
241 #define _FSCRT_DEF_NOTEDATA_CHAR_
242 
247 typedef struct _FSCRT_NOTEDATA_CHAR
248 {
254 
255 #endif /* _FSCRT_DEF_NOTEDATA_CHAR_ */
256 
257 #ifndef _FSCRT_DEF_NOTEDATA_MOUSE_
258 #define _FSCRT_DEF_NOTEDATA_MOUSE_
259 
264 typedef struct _FSCRT_NOTEDATA_MOUSE
265 {
275 
276 #endif /* _FSCRT_DEF_NOTEDATA_MOUSE_ */
277 
278 
279 #ifndef _FSCRT_DEF_CALLBACK_TIMER_
280 #define _FSCRT_DEF_CALLBACK_TIMER_
281 
289 typedef void (*FSCRT_CALLBACK_TIMER)(FS_INT32 timer);
290 
291 #endif /* _FSCRT_DEF_CALLBACK_TIMER_ */
292 
293 
294 #ifndef _FSCRT_DEF_EVENT_
295 #define _FSCRT_DEF_EVENT_
296 
301 #define FSCRT_EVENT_KEYDOWN FSCRT_NOTETYPE_KEYDOWN
302 #define FSCRT_EVENT_KEYUP FSCRT_NOTETYPE_KEYUP
303 #define FSCRT_EVENT_CHAR FSCRT_NOTETYPE_CHAR
304 #define FSCRT_EVENT_LBUTTONDOWN FSCRT_NOTETYPE_LBUTTONDOWN
305 #define FSCRT_EVENT_LBUTTONUP FSCRT_NOTETYPE_LBUTTONUP
306 #define FSCRT_EVENT_LBUTTONDBLCLK FSCRT_NOTETYPE_LBUTTONDBLCLK
307 #define FSCRT_EVENT_RBUTTONDOWN FSCRT_NOTETYPE_RBUTTONDOWN
308 #define FSCRT_EVENT_RBUTTONUP FSCRT_NOTETYPE_RBUTTONUP
309 #define FSCRT_EVENT_RBUTTONDBLCLK FSCRT_NOTETYPE_RBUTTONDBLCLK
310 #define FSCRT_EVENT_MBUTTONDOWN FSCRT_NOTETYPE_MBUTTONDOWN
311 #define FSCRT_EVENT_MBUTTONUP FSCRT_NOTETYPE_MBUTTONUP
312 #define FSCRT_EVENT_MBUTTONDBLCLK FSCRT_NOTETYPE_MBUTTONDBLCLK
313 #define FSCRT_EVENT_MOUSEMOVE FSCRT_NOTETYPE_MOUSEMOVE
314 #define FSCRT_EVENT_MOUSEENTER FSCRT_NOTETYPE_MOUSEENTER
315 #define FSCRT_EVENT_MOUSEHOVER FSCRT_NOTETYPE_MOUSEHOVER
316 #define FSCRT_EVENT_MOUSELEAVE FSCRT_NOTETYPE_MOUSELEAVE
317 #define FSCRT_EVENT_MOUSEWHEEL FSCRT_NOTETYPE_MOUSEWHEEL
318 #define FSCRT_EVENT_PAGEUP FSCRT_NOTETYPE_PAGEUP
319 #define FSCRT_EVENT_PAGEDOWN FSCRT_NOTETYPE_PAGEDOWN
320 #define FSCRT_EVENT_KILLFOCUS FSCRT_NOTETYPE_KILLFOCUS
323 #endif /* _FSCRT_DEF_EVENT_ */
324 
325 /******************************************************************************/
326 /* PSI event definition */
327 /******************************************************************************/
328 #ifndef _FSCRT_DEF_EVENT_PSI_
329 #define _FSCRT_DEF_EVENT_PSI_
330 
332 #define FSCRT_EVENT_PSI_INVALIDATE ((FSCRT_OBJECTTYPE_PSI << 16) | 0)
333 
334 #endif /* _FSCRT_DEF_EVENT_PSI_ */
335 
336 /******************************************************************************/
337 /* Application definitions */
338 /* */
339 /* Application handler */
340 /******************************************************************************/
341 #ifndef _FSCRT_DEF_APPHANDLER_
342 #define _FSCRT_DEF_APPHANDLER_
343 
350 typedef struct _FSCRT_APPHANDLER
351 {
358 
374  FS_RESULT (*CallFunction)(FS_LPVOID clientData, FSCRT_DOCUMENT document, FS_INT32 function, FSCRT_VAR* parameters, FS_INT32 count, FSCRT_VAR* ret);
375 
396  FS_RESULT (*OnEvent)(FS_LPVOID clientData, FS_LPVOID senderObject, FS_DWORD senderObjectType, FS_DWORD eventType, FS_LPVOID eventData);
397 
408  void (*OnOutOfMemory)(FS_LPVOID clientData);
409 
428  FS_RESULT (*OnRecover)(FS_LPVOID clientData, FS_LPVOID senderObject, FS_DWORD senderObjectType);
430 
431 #endif /* _FSCRT_DEF_APPHANDLER_ */
432 
453 
481 FS_RESULT FSCRT_Library_OOMRecover(FS_LPVOID senderObject, FS_DWORD senderObjectType);
482 
509 FS_RESULT FSCRT_Library_TriggerRecover(FS_LPVOID senderObject, FS_DWORD senderObjectType);
510 
511 #ifdef __cplusplus
512 };
513 #endif
514  /* group FSAPP */
516 
517 #endif /* _FSCRT_APP_R_H_ */
518 
FS_DWORD code
Key code. Please refer to macro definitions FSCRT_VKEY_XXX and this can be one or combination of thes...
Definition: fs_app_r.h:235
FS_DWORD code
Char code. It should be encoded as a UTF16-LE character code.
Definition: fs_app_r.h:252
Structure for note mouse.
Definition: fs_app_r.h:264
float FS_FLOAT
32-bit floating-point number, single precision.
Definition: fs_base_r.h:148
FS_FLOAT deltaX
Mouse wheel.
Definition: fs_app_r.h:272
FS_FLOAT deltaY
Mouse wheel.
Definition: fs_app_r.h:273
FS_FLOAT x
Mouse position.
Definition: fs_app_r.h:270
void(* FSCRT_CALLBACK_TIMER)(FS_INT32 timer)
Declares a pointer type for the callback function for the FSPDF_FORMFILL_INFO::SetTimer method...
Definition: fs_app_r.h:289
unsigned int FS_DWORD
32-bit unsigned integer.
Definition: fs_base_r.h:142
int FS_INT32
32-bit signed integer.
Definition: fs_base_r.h:175
FS_DWORD flags
Key flags. Please refer to macro definitions FSCRT_NOTEFLAG_XXX and this should be one of these macro...
Definition: fs_app_r.h:233
Structure for note key.
Definition: fs_app_r.h:230
FS_RESULT FSCRT_Library_SetAppHandler(FSCRT_APPHANDLER *appHandler)
Set a handler to Foxit PDF SDK library to support extension functions and events. ...
FS_LPVOID clientData
User-defined data.
Definition: fs_app_r.h:357
Structure for variant definitions.
Definition: fs_base_r.h:369
FS_FLOAT y
Mouse position.
Definition: fs_app_r.h:271
void * FS_LPVOID
A pointer to any types.
Definition: fs_base_r.h:127
Structure for a application handler.
Definition: fs_app_r.h:350
FS_RESULT FSCRT_Library_OOMRecover(FS_LPVOID senderObject, FS_DWORD senderObjectType)
Trigger the user operation for recovery from out of memory. Only used for OOM handling.
FS_RESULT FSCRT_Library_TriggerRecover(FS_LPVOID senderObject, FS_DWORD senderObjectType)
Trigger a recovery for handle of non-PDF module. Only used for OOM handling.
FS_DWORD flags
The note flags. Please refer to macro definitions FSCRT_NOTEFLAG_XXX and this should be one of these ...
Definition: fs_app_r.h:269
FS_DWORD flags
Flags. Please refer to macro definitions FSCRT_NOTEFLAG_XXX and this should be one of these macros...
Definition: fs_app_r.h:250
int FS_RESULT
Result code for functions in Foxit PDF SDK.
Definition: fs_base_r.h:160
Structure for character code.
Definition: fs_app_r.h:247

Foxit Corporation