5 Copyright © 1995-2017, The AROS Development Team. All rights reserved.
8 Desc: Include for the gdi HIDD.
17 * GDI virtual hardware registers.
18 * !!! WARNING !!! This structure is shared between Windows-side .dll and AROS code.
19 * 64-bit versions of Windows and AROS have different alignment (Windows has 4 for backwards compatibility),
20 * and this must be taken into account. Take care when adding/removing members!
25 void *Active
; /* Set to struct gfx_data * when new display window is activated */
26 unsigned char GfxIrq
; /* IRQ number */
27 unsigned char ShowDone
; /* NOTY_SHOW completion flag */
30 unsigned short MouseEvent
;
31 unsigned short MouseX
;
32 unsigned short MouseY
;
33 unsigned short Buttons
;
34 unsigned short WheelDelta
;
35 unsigned char MouseIrq
;
39 unsigned short KbdEvent
;
40 unsigned short KeyCode
;
45 #include <exec/libraries.h>
47 #include <exec/semaphores.h>
50 #include "wingdi_hidd.h"
51 #include "gdi_hostlib.h"
53 /***** GDIMouse HIDD *******************/
56 struct pHidd_Mouse_Event
;
59 VOID (*mouse_callback
)(APTR
, struct pHidd_Mouse_Event
*);
66 #define IID_Hidd_Mouse_WinGDI "hidd.mouse.wingdi"
67 #define CLID_Hidd_Mouse_WinGDI "hidd.mouse.wingdi"
69 /***** GDIKbd HIDD *******************/
74 VOID (*kbd_callback
)(APTR
, UWORD
);
80 #define IID_Hidd_Kbd_WinGDI "hidd.kbd.wingdi"
81 #define CLID_Hidd_Kbd_WinGDI "hidd.kbd.wingdi"
84 /***** GDIGfx HIDD *******************/
89 * These two members should be in the beginning because it's exposed
90 * outside (see gdi_class.h)
93 OOP_Class
*basebm
; /* baseclass for CreateObject */
98 OOP_Class
*mouseclass
;
101 struct SignalSemaphore sema
;
102 struct Task
*showtask
;
105 OOP_Object
*mousehidd
;
108 struct GDI_Control
*ctl
;
113 struct Library library
;
115 struct gdi_staticdata xsd
;
119 #define XSD(cl) (&((struct gdiclbase *)cl->UserData)->xsd)
121 extern OOP_AttrBase HiddAttrBase
;
130 #define __aros __attribute__((sysv_abi))
137 struct MinNode
* mln_Succ
,
143 struct MinNode
* mlh_Head
,
150 #define NOTY_SHOW WM_USER
152 /* Private instance data for Gfx hidd class */
155 struct MinList bitmaps
; /* Currently shown bitmap objects */
156 void *display
; /* Windows system display object */
157 void *cursor
; /* Windows mouse cursor object */
158 void (*cb
)(void *data
, void *bm
); /* Display activation callback function */
159 void *cbdata
; /* User data for activation callback */
160 void *fbwin
; /* Display window */
163 #endif /* HIDD_GDI_H */