Update to lasso handling. Adjust scroll amount based on difference between mouse...
[AROS.git] / rom / intuition / requesters.h
blobbda93ae3a3b9f4c4730fc9f64132697e7a3b47e6
1 #ifndef _REQUESTERS_H_
2 #define _REQUESTERS_H_
4 /*
5 Copyright © 2002-2003 The MorphOS Development Team, All Rights Reserved.
6 Copyright © 2001-2003, The MorphOS Development Team. All Rights Reserved.
7 $Id$
8 */
10 #include <exec/types.h>
11 #include <aros/asmcall.h>
12 #include "intuition_intern.h"
14 #ifdef SKINS
15 struct RequesterGadget
17 LONG xpos;
18 LONG ypos;
19 LONG width;
20 LONG height;
23 struct IntRequestUserData
25 ULONG IDCMP;
26 STRPTR * GadgetLabels;
27 struct Gadget * Gadgets;
28 struct RequesterGadget * ReqGadgets;
29 struct Window * ReqWindow;
30 struct Screen * ReqScreen;
31 struct CustomButtonImage * Logo;
32 struct IntuiText * Text;
33 struct IntDrawInfo * dri;
34 struct Hook backfillhook;
35 struct HookData backfilldata;
36 UWORD NumGadgets;
37 UWORD NumLines;
38 UWORD ActiveGad;
39 BOOL freeitext;
41 LONG wwidth;
42 LONG wheight;
43 LONG gadgetswidth;
44 LONG gadgetsheight;
45 LONG gadgetsxpos;
46 LONG gadgetsypos;
47 LONG gadgetspacing;
48 LONG textboxwidth;
49 LONG textboxheight;
50 LONG textboxxpos;
51 LONG textboxypos;
52 LONG logoxpos;
53 LONG logoypos;
54 LONG textxpos;
55 LONG textypos;
57 ULONG logotype;
59 #else
60 struct IntRequestUserData
62 ULONG IDCMP;
63 STRPTR * GadgetLabels;
64 struct Gadget * Gadgets;
65 UWORD NumGadgets;
67 #endif
69 /* Miscellaneous prototypes */
70 void intrequest_freelabels(STRPTR *gadgetlabels, struct IntuitionBase *IntuitionBase);
71 void intrequest_freegadgets(struct Gadget *gadgets, struct IntuitionBase *IntuitionBase);
72 #ifdef SKINS
73 struct IntuiText *intrequest_createitext(struct IntRequestUserData *udata,STRPTR text,APTR *args,struct IntuitionBase *IntuitionBase);
74 void intrequest_freeitext(struct IntuiText *it,struct IntuitionBase *IntuitionBase);
75 void intrequest_layoutrequester(struct IntRequestUserData *udata,struct IntuitionBase *IntuitionBase);
76 BOOL intrequest_creategadgets(struct IntRequestUserData *udata,struct IntuitionBase *IntuitionBase);
77 void intrequest_drawrequester(struct IntRequestUserData *udata,struct IntuitionBase *IntuitionBase);
78 void intrequest_hilightgadget(struct IntRequestUserData *udata,LONG numgad,BOOL dohilight,struct IntuitionBase *IntuitionBase);
79 void intrequest_initeasyreq(struct IntRequestUserData *udata,struct ExtEasyStruct *ees,struct IntuitionBase *IntuitionBase);
80 #endif
81 void render_requester(struct Requester *requester, struct IntuitionBase *IntuitionBase);
83 struct RawInfo
85 int Len;
86 int Lines;
89 AROS_UFP2(void, RequesterCountChar,
90 AROS_UFPA(UBYTE, chr, D0),
91 AROS_UFPA(struct RawInfo *,RawInfo,A3)
94 AROS_UFP2(void, RequesterPutChar,
95 AROS_UFPA(UBYTE, chr, D0),
96 AROS_UFPA(UBYTE **,buffer,A3)
99 #define OUTERSPACING_X 4
100 //horiz space between win border and requester's box
101 #define OUTERSPACING_Y 4
102 //horiz space between win border and requester's box
103 #define GADGETGADGETSPACING 8
104 //space between gadgets
105 #define TEXTGADGETSPACING 4
106 //space between textbox and gadgets row
107 #define TEXTBOXBORDER_X 8
108 //min space between text and textboxborder
109 #define TEXTBOXBORDER_Y 4
110 #define BUTTONBORDER_X 8
111 //min space between gadaget text and gadget border
112 #define BUTTONBORDER_Y 4
113 #define LOGOTEXTSPACING_X 8
115 #endif /* _REQUESTERS_H_ */