Port of r41743 from ABI_V0 branch:
[AROS.git] / rom / intuition / inputhandler_support.h
blob15c4050f4e0e762dd5c0ddf75ee2fabf0a73cdc6
1 #ifndef INPUTHANDLER_SUPPORT_H
2 #define INPUTHANDLER_SUPPORT_H
4 /*
5 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
6 Copyright © 2001-2003, The MorphOS Development Team. All Rights Reserved.
7 $Id$
8 */
10 struct IIHData;
12 struct gpInput;
14 void notify_mousemove_screensandwindows(struct IntuitionBase * IntuitionBase);
16 void notify_newprefs(struct IntuitionBase * IntuitionBase);
18 /*********************************************************************/
20 void send_intuimessage(struct IntuiMessage *imsg,
21 struct Window *w,
22 struct IntuitionBase *IntuitionBase);
24 void free_intuimessage(struct IntuiMessage *imsg,
25 struct IntuitionBase *IntuitionBase);
27 struct IntuiMessage *alloc_intuimessage(struct Window *w,
28 struct IntuitionBase *IntuitionBase);
30 BOOL fire_intuimessage(struct Window *w,
31 ULONG Class,
32 UWORD Code,
33 APTR IAddress,
34 struct IntuitionBase *IntuitionBase);
36 /* use ih_fire_intuimessage if A) the inputevent because of which
37 you call this function might have to be eaten or modified
38 by Intuition or B) an inputevent might have to be created
39 by Intuition because of a deferred action */
41 BOOL ih_fire_intuimessage(struct Window *w,
42 ULONG Class,
43 UWORD Code,
44 APTR IAddress,
45 struct IntuitionBase *IntuitionBase);
47 /*********************************************************************/
49 IPTR Locked_DoMethodA (struct Window *w,
50 struct Gadget *g,
51 Msg message,
52 struct IntuitionBase *IntuitionBase);
55 /*********************************************************************/
57 void NotifyDepthArrangement(struct Window *w,
58 struct IntuitionBase *IntuitionBase);
60 /*********************************************************************/
62 void PrepareGadgetInfo(struct GadgetInfo *gi, struct Screen *scr, struct Window *win,
63 struct Requester *req);
65 void SetGadgetInfoGadget(struct GadgetInfo *gi, struct Gadget *gad,
66 struct IntuitionBase *IntuitionBase);
68 void SetGPIMouseCoords(struct gpInput *gpi, struct Gadget *gad);
70 void HandleSysGadgetVerify(struct GadgetInfo *gi, struct Gadget *gadget,
71 struct IntuitionBase *IntuitionBase);
73 struct Gadget *HandleCustomGadgetRetVal(IPTR retval, struct GadgetInfo *gi,
74 struct Gadget *gadget,
75 ULONG termination,
76 BOOL *reuse_event, struct IntuitionBase *IntuitionBase);
78 struct Gadget *DoGPInput(struct GadgetInfo *gi, struct Gadget *gadget,
79 struct InputEvent *ie, STACKULONG methodid,
80 BOOL *reuse_event, struct IntuitionBase *IntuitionBase);
82 struct Gadget * FindGadget (struct Screen *scr, struct Window * window,
83 struct Requester *req, int x, int y,
84 struct GadgetInfo * gi, BOOL sysonly,
85 struct IntuitionBase *IntuitionBase);
87 struct Gadget * FindHelpGadget (struct Window * window, int x, int y,
88 struct IntuitionBase *IntuitionBase);
90 BOOL InsideGadget(struct Screen *scr, struct Window *win, struct Requester *req,
91 struct Gadget *gad, WORD x, WORD y);
93 struct Gadget *DoActivateGadget(struct Window *win, struct Requester *req,
94 struct Gadget *gad, struct IntuitionBase *IntuitionBase);
96 struct Gadget *FindCycleGadget(struct Window *win, struct Requester *req,
97 struct Gadget *gad, WORD direction);
99 /*********************************************************************/
101 void FixWindowCoords(struct Window *win, LONG *left, LONG *top, LONG *width, LONG *height,struct IntuitionBase *IntuitionBase);
103 /*********************************************************************/
105 void WindowNeedsRefresh(struct Window * w, struct IntuitionBase * IntuitionBase );
107 struct Screen *FindHighestScreen(struct IntuitionBase *IntuitionBase);
109 struct Screen *FindActiveScreen(struct IntuitionBase *IntuitionBase);
111 struct Window *FindActiveWindow(struct InputEvent *ie, struct Screen *scr, ULONG *stitlebarhit,
112 struct IntuitionBase *IntuitionBase);
114 struct Window *FindDesktopWindow(struct Screen *screen,struct IntuitionBase *IntuitionBase);
116 /*********************************************************************/
118 struct InputEvent *AllocInputEvent(struct IIHData *iihdata);
119 void FreeGeneratedInputEvents(struct IIHData *iihdata);
121 /*********************************************************************/
123 BOOL FireMenuMessage(WORD code, struct Window *win,
124 struct InputEvent *ie, struct IntuitionBase *IntuitionBase);
126 /*********************************************************************/
128 LONG Gad_BeginUpdate(struct Layer *layer, struct IntuitionBase *IntuitionBase);
129 void Gad_EndUpdate(struct Layer *layer, UWORD flag, struct IntuitionBase *IntuitionBase);
131 /*********************************************************************/
133 #endif /* INPUTHANDLER_SUPPORT_H */