5 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
6 Copyright © 2001-2003, The MorphOS Development Team. All Rights Reserved.
10 #ifndef AROS_ASMCALL_H
11 # include <aros/asmcall.h>
14 #ifndef INTUITION_CGHOOKS_H
15 # include <intuition/cghooks.h>
18 // FIXME: cannot enable PROPHACK on AROS because of MOS-specific code
23 struct IntuitionBase
*IntuitionBase
;
24 struct MsgPort
*IntuiReplyPort
;
25 struct MinList IntuiActionQueue
;
26 /* Inputevents allocated from the input.device task but outside our
27 * handler are not sent in the input chain until the next time our
28 * handler exits. So they must not be freed at the start of our handler.
29 * Thus we maintain two lists of allocated input events. The 'New' list
30 * contains events that have not yet been propagated, and the other one
31 * contains those that have. At the beginning of our handler, the second
32 * list is freed. At the end, the first one is transfered in the second.
33 * When an event is allocated, it is put in the first list.
35 struct MinList NewAllocatedInputEventList
;
36 struct MinList AllocatedInputEventList
;
37 struct Gadget
*ActiveGadget
;
38 struct Gadget
*ActiveSysGadget
;
39 struct Gadget
*MasterDragGadget
;
40 struct Gadget
*MasterSizeGadget
;
41 struct GadgetInfo GadgetInfo
;
42 struct GadgetInfo BoxGadgetInfo
;
43 struct RastPort GadgetInfoRastPort
;
44 struct InputEvent
*FreeInputEvents
;
45 struct InputEvent
*ReturnInputEvent
;
46 struct InputEvent
**EndInputEventChain
;
47 struct Task
*InputDeviceTask
;
48 struct Window
*MenuWindow
; /* The window for which the menus are actually active (on screen) */
49 struct Window
*NewActWindow
;
50 struct IENewTablet
*ActEventTablet
; /* not cacheable, valid when processing a single event */
52 struct Task
*PropTask
;
54 APTR InputEventMemPool
;
58 WORD DeltaMouseX_Correction
;
59 WORD DeltaMouseY_Correction
;
60 BOOL MouseBoundsActiveFlag
;
61 WORD MouseBoundsKillTimer
;
64 LONG MouseBoundsRight
;
65 LONG MouseBoundsBottom
;
67 UWORD PrevKeyMouseState
;
68 UWORD ActKeyMouseState
;
69 struct Gadget
*LastHelpGadget
;
70 struct Window
*LastHelpWindow
;
71 UQUAD HelpGadgetFindTime
;
72 UQUAD TitlebarAppearTime
;
74 BOOL MouseWasInsideBoolGadget
;
75 struct Screen
*ScreenDrag
;
76 WORD ScreenDragPointX
;
77 WORD ScreenDragPointY
;
81 struct GeneratedInputEvent
87 struct Interrupt
*InitIIH(struct IntuitionBase
*IntuitionBase
);
88 VOID
CleanupIIH(struct Interrupt
*iihandler
, struct IntuitionBase
*IntuitionBase
);
91 AROS_UFP2(struct InputEvent
*, IntuiInputHandler
,
92 AROS_UFPA(struct InputEvent
*, oldchain
, A0
),
93 AROS_UFPA(struct IIHData
*, iihdata
, A1
)
96 #endif /* INPUTHANDLER_H */