Documented GVF_SAVE_VAR alongside other flags, and removed a query/doubt
[AROS.git] / rom / usb / classes / egalaxtouch / egalaxtouch.h
blob380aa2780e2eca8c92f249ef4293d09e175a3663
1 #ifndef EGALAXTOUCH_H
2 #define EGALAXTOUCH_H
4 #include <intuition/intuition.h>
5 #include <intuition/intuitionbase.h>
6 #include <libraries/mui.h>
7 #include <libraries/gadtools.h>
9 #if defined(__GNUC__)
10 # pragma pack(2)
11 #endif
13 #define ID_ABOUT 0x55555555
14 #define ID_STORE_CONFIG 0xaaaaaaaa
15 #define ID_DEF_CONFIG 0xaaaaaaab
16 #define ID_UPDATE_LIMITSMIN 0xaaaaaaac
17 #define ID_UPDATE_LIMITSMAX 0xaaaaaaad
18 #define ID_UPDATE_MIRRORROT 0xaaaaaaae
20 struct ClsDevCfg
22 ULONG cdc_ChunkID;
23 ULONG cdc_Length;
24 ULONG cdc_MinX;
25 ULONG cdc_MinY;
26 ULONG cdc_MaxX;
27 ULONG cdc_MaxY;
28 ULONG cdc_Mirror;
29 ULONG cdc_Rotate;
30 ULONG cdc_RMBDelay;
31 ULONG cdc_RMBTolerance;
32 ULONG cdc_RMBMode;
35 #if defined(__GNUC__)
36 # pragma pack()
37 #endif
39 #define RMB_IDLE 0 // do nothing
40 #define RMB_LMBDOWN 1 // lmb is down
41 #define RMB_MOVEDTOOFAR 2 // finger has been moved too far
42 #define RMB_RMBDOWN 3 // convert LMB to RMB
43 #define RMB_RMBDOWN_LMBUP 4 // finger released, continue RMB
44 #define RMB_RMBDOWN_LAST 5 // finger pushed again, continue RMB
46 struct NepClassHid
48 struct Node nch_Node; /* Node linkage */
49 struct NepHidBase *nch_ClsBase; /* Up linkage */
50 struct Library *nch_Base; /* Poseidon base */
51 struct Library *nch_HIntBase; /* Intuition base */
52 struct PsdDevice *nch_Device; /* Up linkage */
53 struct PsdInterface *nch_Interface; /* Up linkage */
54 struct PsdPipe *nch_EP0Pipe; /* Endpoint 0 pipe */
55 struct PsdEndpoint *nch_EP1; /* Endpoint 1 */
56 struct PsdPipe *nch_EP1Pipe; /* Endpoint 1 pipe */
57 IPTR nch_EP1PktSize; /* Size of EP1 packets */
58 UBYTE *nch_EP1Buf; /* Packet buffer for EP1 */
59 struct Task *nch_ReadySigTask; /* Task to send ready signal to */
60 LONG nch_ReadySignal; /* Signal to send when ready */
61 struct Task *nch_Task; /* Subtask */
62 struct MsgPort *nch_TaskMsgPort; /* Message Port of Subtask */
63 struct MsgPort *nch_InpMsgPort; /* input.device MsgPort */
64 struct IOStdReq *nch_InpIOReq; /* input.device IORequest */
65 struct InputEvent nch_FakeEvent; /* Input Event */
66 struct IENewTablet nch_TabletEvent; /* Tablet Event */
67 struct Library *nch_InputBase; /* Pointer to input.device base */
68 struct Library *nch_TimerBase; /* Pointer to timer.deivce base */
69 struct timerequest nch_TimerIOReq; /* TimerRequest */
70 IPTR nch_IfNum; /* Interface number */
71 ULONG nch_TabTags[8];
72 BOOL nch_TrackDims; /* Disable events output */
73 UWORD nch_TouchSpotX; /* Spot where LMB was activated first */
74 UWORD nch_TouchSpotY; /* Spot where LMB was activated first */
75 struct timeval nch_TouchTime; /* Time when touched */
76 UWORD nch_RMBState; /* RMB State machine activated */
77 STRPTR nch_DevIDString; /* Device ID String */
79 BOOL nch_UsingDefaultCfg;
80 struct ClsDevCfg *nch_CDC;
82 struct Library *nch_MUIBase; /* MUI master base */
83 struct Library *nch_PsdBase; /* Poseidon base */
84 struct Library *nch_IntBase; /* Intuition base */
85 struct Task *nch_GUITask; /* GUI Task */
86 struct NepClassHid *nch_GUIBinding; /* Window of binding that's open */
87 LONG nch_TrackingSignal;
89 Object *nch_App;
90 Object *nch_MainWindow;
92 Object *nch_MinXObj;
93 Object *nch_MaxXObj;
94 Object *nch_MinYObj;
95 Object *nch_MaxYObj;
96 Object *nch_MirrorObj;
97 Object *nch_RotateObj;
98 Object *nch_TrackDimsObj;
99 Object *nch_RMBModeObj;
100 Object *nch_RMBDelayObj;
101 Object *nch_RMBToleranceObj;
103 Object *nch_UseObj;
104 Object *nch_SetDefaultObj;
105 Object *nch_CloseObj;
107 Object *nch_AboutMI;
108 Object *nch_UseMI;
109 Object *nch_SetDefaultMI;
110 Object *nch_MUIPrefsMI;
113 struct NepHidBase
115 struct Library nh_Library; /* standard */
116 UWORD nh_Flags; /* various flags */
118 struct Library *nh_UtilityBase; /* Utility base */
120 struct List nh_Bindings; /* List of bindings created */
122 struct NepClassHid nh_DummyNCH; /* Dummy NCH for default config */
125 #endif /* EGALAXTOUCH_H */