1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _INC_TABFLICKS
7 #define _INC_TABFLICKS
8 #if (_WIN32_WINNT >= 0x0600)
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 typedef enum FLICKACTION_COMMANDCODE {
14   FLICKACTION_COMMANDCODE_NULL          = 0,
15   FLICKACTION_COMMANDCODE_SCROLL        = 1,
16   FLICKACTION_COMMANDCODE_APPCOMMAND    = 2,
17   FLICKACTION_COMMANDCODE_CUSTOMKEY     = 3,
18   FLICKACTION_COMMANDCODE_KEYMODIFIER   = 4
19 } FLICKACTION_COMMANDCODE;
20 
21 typedef enum FLICKDIRECTION {
22   FLICKDIRECTION_RIGHT       = 0,
23   FLICKDIRECTION_UPRIGHT     = 1,
24   FLICKDIRECTION_UP          = 2,
25   FLICKDIRECTION_UPLEFT      = 3,
26   FLICKDIRECTION_LEFT        = 4,
27   FLICKDIRECTION_DOWN        = 6,
28   FLICKDIRECTION_DOWNRIGHT   = 7,
29   FLICKDIRECTION_INVALID     = 8
30 } FLICKDIRECTION;
31 
32 typedef enum FLICKMODE {
33   FLICKMODE_OFF   = 0,
34   FLICKMODE_ON    = 1
35 } FLICKMODE;
36 
37 typedef enum KEYMODIFIER {
38   KEYMODIFIER_CONTROL   = 1,
39   KEYMODIFIER_MENU      = 2,
40   KEYMODIFIER_SHIFT     = 4,
41   KEYMODIFIER_WIN       = 8,
42   KEYMODIFIER_ALTGR     = 16,
43   KEYMODIFIER_EXT       = 32
44 } KEYMODIFIER;
45 
46 typedef enum SCROLLDIRECTION {
47   SCROLLDIRECTION_UP     = 0,
48   SCROLLDIRECTION_DOWN   = 1
49 } SCROLLDIRECTION;
50 
51 typedef struct FLICK_DATA {
52   FLICKACTION_COMMANDCODE iFlickActionCommandCode  :5;
53   FLICKDIRECTION          iFlickDirection  :3;
54   WINBOOL                 fControlModifier  :1;
55   WINBOOL                 fMenuModifier  :1;
56   WINBOOL                 fAltGRModifier  :1;
57   WINBOOL                 fWinModifier  :1;
58   WINBOOL                 fShiftModifier  :1;
59   INT                     iReserved  :2;
60   WINBOOL                 fOnInkingSurface  :1;
61   INT                     iActionArgument  :16;
62 } FLICK_DATA;
63 
64 typedef struct FLICK_POINT {
65   INT x  :16;
66   INT y  :16;
67 } FLICK_POINT;
68 
69 #ifdef __cplusplus
70 }
71 #endif
72 #endif /*(_WIN32_WINNT >= 0x0600)*/
73 #endif /* _INC_TABFLICKS */
74