5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
8 Desc: Include for the touchscreen HIDD.
12 #ifndef EXEC_LIBRARIES_H
13 # include <exec/libraries.h>
20 #ifndef EXEC_SEMAPHORES_H
21 # include <exec/semaphores.h>
24 #ifndef EXEC_INTERRUPTS_H
25 # include <exec/interrupts.h>
28 #include <exec/types.h>
29 #include <aros/libcall.h>
30 #include <aros/asmcall.h>
33 #include <hidd/mouse.h>
35 /***** Touchscreen HIDD *******************/
38 #define IID_Hidd_DBmouse "hidd.touchscreen.db"
39 #define CLID_Hidd_DBmouse "hidd.touchscreen.db"
44 moHidd_Mouse_HandleEvent
47 struct pHidd_Mouse_HandleEvent
53 VOID
Hidd_Mouse_HandleEvent(OOP_Object
*o
, ULONG event
);
57 struct mouse_staticdata
59 struct SignalSemaphore sema
; /* Protexting this whole struct */
61 struct Library
*oopbase
;
62 struct Library
*utilitybase
;
63 struct ExecBase
*sysbase
;
65 OOP_AttrBase hiddMouseAB
;
67 OOP_Class
*mouseclass
;
69 OOP_Object
*mousehidd
;
76 VOID (*mouse_callback
)(APTR
, struct pHidd_Mouse_Event
*);
83 HIDDT_IRQ_Handler
*irq
;
84 struct pHidd_Mouse_Event me
;
85 UBYTE state
; //see below
89 struct Interrupt VBlank
;
98 /****************************************************************************************/
101 OOP_Class
*_init_mouseclass ( struct mouse_staticdata
* );
102 VOID
_free_mouseclass ( struct mouse_staticdata
* );
104 #define TSD(cl) ((struct mouse_staticdata *)cl->UserData)
106 #define OOPBase ((struct Library *)TSD(cl)->oopbase)
107 #define UtilityBase ((struct Library *)TSD(cl)->utilitybase)
108 #define SysBase (TSD(cl)->sysbase)
111 void touchscreen_int(HIDDT_IRQ_Handler
* irq
, HIDDT_IRQ_HwInfo
*hw
);
113 AROS_UFP4(ULONG
, tsVBlank
,
114 AROS_UFPA(ULONG
, dummy
, A0
),
115 AROS_UFPA(void *, _data
, A1
),
116 AROS_UFPA(ULONG
, dummy2
, A5
),
117 AROS_UFPA(struct ExecBase
*, SysBase
, A6
));
119 #endif /* _TOUCHSCREEN_H */