4 libbasetype struct IntIntuitionBase
5 libbasetypeextern struct IntuitionBase
10 #ifndef INTUITION_CDEF_H
11 #define INTUITION_CDEF_H
12 #include <intuition/intuition.h>
13 #include <intuition/intuitionbase.h>
14 #include <intuition/screens.h>
15 #include <intuition/classes.h>
16 #include <intuition/windecorclass.h>
17 #include <intuition/scrdecorclass.h>
18 #include <intuition/menudecorclass.h>
19 #include <utility/hooks.h>
20 #include <aros/preprocessor/variadic/cast2iptr.hpp>
22 /* Prototypes for stubs in amiga.lib */
23 IPTR DoGadgetMethod (struct Gadget * gad, struct Window * win,
24 struct Requester * req, ULONG MethodID, ...);
25 IPTR SetGadgetAttrs (struct Gadget * gad, struct Window * win,
26 struct Requester * req, Tag tag1, ...);
28 #if !defined(DEFINES_INTUITION_PROTOS_H) /* Prevent name clashes */
29 IPTR SetAttrs (APTR obj, Tag tag1, ...) __stackparm;
30 IPTR SetSuperAttrs (Class * cl, Object * obj, Tag tag1, ...) __stackparm;
31 APTR NewObject (Class * classPtr, UBYTE * classID, Tag tag1, ...) __stackparm;
32 #ifndef USE_BOOPSI_STUBS
33 IPTR DoMethodA (Object * obj, Msg message);
34 IPTR DoMethod (Object * obj, STACKULONG MethodID, ...) __stackparm;
35 IPTR DoSuperMethodA (Class * cl, Object * obj, Msg message);
36 IPTR DoSuperMethod (Class * cl, Object * obj, STACKULONG MethodID, ...) __stackparm;
37 IPTR CoerceMethodA (Class * cl, Object * obj, Msg message);
38 IPTR CoerceMethod (Class * cl, Object * obj, STACKULONG MethodID, ...) __stackparm;
39 #endif /* !USE_BOOPSI_STUBS */
42 IPTR DoSuperNewTagList(Class *CLASS, Object *object, struct GadgetInfo *gadgetInfo, struct TagItem *tags);
43 IPTR DoSuperNewTags(Class *CLASS, Object *object, struct GadgetInfo *gadgetInfo, Tag tag1, ...) __stackparm;
45 #if !defined(INTUITION_NO_INLINE_STDARG) && !defined(NO_INLINE_STDARG)
46 # ifndef CLIB_INTUITION_PROTOS_H /* prevent name clashes */
47 # define SetSuperAttrsA(class, object, attrs) \
51 __ops.MethodID = OM_SET; \
52 __ops.ops_AttrList = (attrs); \
53 __ops.ops_GInfo = NULL; \
55 DoSuperMethodA((class), (object), (Msg) &__ops.MethodID); \
57 # define SetSuperAttrs(class, object, args...) \
59 IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(args) }; \
60 SetSuperAttrsA((class), (object), (struct TagItem *) __args); \
63 # ifndef USE_BOOPSI_STUBS /* prevent name clashes */
64 # define DoMethodA(object, message) \
70 (struct Hook *) OCLASS((object)), (object), (message) \
77 # define DoMethod(object, methodid, args...) \
79 IPTR __args[] = {methodid, AROS_PP_VARIADIC_CAST2IPTR(args)}; \
80 DoMethodA((object), __args); \
83 # define DoSuperMethodA(class, object, message) \
85 ((class) != NULL && (object) != NULL) ? \
88 (struct Hook *) ((Class *) (class))->cl_Super, \
95 # define DoSuperMethod(class, object, methodid, args...) \
97 IPTR __args[] = {methodid, AROS_PP_VARIADIC_CAST2IPTR(args)}; \
98 DoSuperMethodA((class), (object), __args); \
101 # define CoerceMethodA(class, object, message) \
103 ((class) != NULL && (object) != NULL) ? \
104 CALLHOOKPKT((struct Hook *) (class), (object), (message)) \
109 # define CoerceMethod(class, object, methodid, args...) \
111 IPTR __args[] = {methodid, AROS_PP_VARIADIC_CAST2IPTR(args)}; \
112 CoerceMethodA((class), (object), __args); \
114 # endif /* !USE_BOOPSI_STUBS */
115 # endif /* CLIB_INTUITION_PROTOS_H */
117 # define DoSuperNewTagList(class, object, gadgetinfo, tags) \
119 struct opSet __ops; \
121 __ops.MethodID = OM_NEW; \
122 __ops.ops_AttrList = (tags); \
123 __ops.ops_GInfo = (gadgetinfo); \
125 (class) != NULL && (object) != NULL ? \
126 DoSuperMethodA((class), (object), (Msg)&__ops.MethodID) \
131 # define DoSuperNewTags(class, object, gadgetinfo, args...) \
133 IPTR __args[] = {AROS_PP_VARIADIC_CAST2IPTR(args)}; \
136 (class), (object), (gadgetinfo), (struct TagItem *) __args \
139 #endif /* !INTUITION_NO_INLINE_STDARG && !NO_INLINE_STDARG */
141 #ifndef CLIB_BOOPSI_PROTOS_H /* Prevent name clashes */
142 IPTR CallHookA (struct Hook * hook, APTR obj, APTR param);
143 IPTR CallHook (struct Hook * hook, APTR obj, ...);
146 struct Window * OpenWindowTags (struct NewWindow * newWindow, Tag tag1, ...);
147 struct Screen * OpenScreenTags (struct NewScreen * newScreen, Tag tag1, ...);
149 LONG EasyRequest (struct Window * window, struct EasyStruct * easyStruct, ULONG * idcmpPtr, ...);
157 #include <intuition/icclass.h>
158 #include <intuition/imageclass.h>
160 #include "intuition_intern.h"
161 #include "strgadgets.h"
166 UWORD AddGadget(struct Window *window, struct Gadget *gadget, ULONG position) (A0, A1, D0)
167 BOOL ClearDMRequest(struct Window *window) (A0)
168 void ClearMenuStrip(struct Window *window) (A0)
169 void ClearPointer(struct Window *window) (A0)
170 BOOL CloseScreen(struct Screen *screen) (A0)
171 void CloseWindow(struct Window *window) (A0)
172 LONG CloseWorkBench() ()
173 void CurrentTime(ULONG *seconds, ULONG *micros) (A0, A1)
174 BOOL DisplayAlert(ULONG alertnumber, UBYTE *string, UWORD height) (D0, A0, D1)
175 void DisplayBeep(struct Screen *screen) (A0)
176 BOOL DoubleClick(ULONG sSeconds, ULONG sMicros, ULONG cSeconds, ULONG cMicros) (D0, D1, D2, D3)
177 void DrawBorder(struct RastPort *rp, struct Border *border, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
178 void DrawImage(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
179 void EndRequest(struct Requester *requester, struct Window *window) (A0, A1)
180 struct Preferences *GetDefPrefs(struct Preferences *prefbuffer, WORD size) (A0, D0)
181 struct Preferences *GetPrefs(struct Preferences *prefbuffer, WORD size) (A0, D0)
182 void InitRequester(struct Requester *requester) (A0)
183 struct MenuItem *ItemAddress(struct Menu *menustrip, UWORD menunumber) (A0, D0)
184 BOOL ModifyIDCMP(struct Window *window, ULONG flags) (A0, D0)
185 void ModifyProp(struct Gadget *gadget, struct Window *window, struct Requester *requester, ULONG flags, ULONG horizPot, ULONG vertPot, ULONG horizBody, ULONG vertBody) (A0, A1, A2, D0, D1, D2, D3, D4)
186 void MoveScreen(struct Screen *screen, LONG dx, LONG dy) (A0, D0, D1)
187 void MoveWindow(struct Window *window, LONG dx, LONG dy) (A0, D0, D1)
188 void OffGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
189 void OffMenu(struct Window *window, UWORD menunumber) (A0, D0)
190 void OnGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
191 void OnMenu(struct Window *window, UWORD menunumber) (A0, D0)
192 struct Screen *OpenScreen(struct NewScreen *newScreen) (A0)
193 struct Window *OpenWindow(struct NewWindow *newWindow) (A0)
194 IPTR OpenWorkBench() ()
195 void PrintIText(struct RastPort *rp, struct IntuiText *iText, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
196 void RefreshGadgets(struct Gadget *gadgets, struct Window *window, struct Requester *requester) (A0, A1, A2)
197 UWORD RemoveGadget(struct Window *window, struct Gadget *gadget) (A0, A1)
198 void ReportMouse(LONG flag, struct Window *window) (D0, A0)
199 BOOL Request(struct Requester *requester, struct Window *window) (A0, A1)
200 void ScreenToBack(struct Screen *screen) (A0)
201 void ScreenToFront(struct Screen *screen) (A0)
202 BOOL SetDMRequest(struct Window *window, struct Requester *dmrequest) (A0, A1)
203 BOOL SetMenuStrip(struct Window *window, struct Menu *menu) (A0, A1)
204 void SetPointer(struct Window *window, UWORD *pointer, LONG height, LONG width, LONG xOffset, LONG yOffset) (A0, A1, D0, D1, D2, D3)
205 void SetWindowTitles(struct Window *window, CONST_STRPTR windowTitle, CONST_STRPTR screenTitle) (A0, A1, A2)
206 void ShowTitle(struct Screen *screen, BOOL ShowIt) (A0, D0)
207 void SizeWindow(struct Window *window, LONG dx, LONG dy) (A0, D0, D1)
208 struct View *ViewAddress() ()
209 struct ViewPort *ViewPortAddress(struct Window *Window) (A0)
210 void WindowToBack(struct Window *window) (A0)
211 void WindowToFront(struct Window *window) (A0)
212 BOOL WindowLimits(struct Window *window, WORD MinWidth, WORD MinHeight, UWORD MaxWidth, UWORD MaxHeight) (A0, D0, D1, D2, D3)
213 struct Preferences *SetPrefs(struct Preferences *prefbuffer, LONG size, BOOL inform) (A0, D0, D1)
214 LONG IntuiTextLength(struct IntuiText *iText) (A0)
215 BOOL WBenchToBack() ()
216 BOOL WBenchToFront() ()
217 BOOL AutoRequest(struct Window *window, struct IntuiText *body, struct IntuiText *posText, struct IntuiText *negText, ULONG pFlag, ULONG nFlag, ULONG width, ULONG height) (A0, A1, A2, A3, D0, D1, D2, D3)
218 void BeginRefresh(struct Window *window) (A0)
219 struct Window *BuildSysRequest(struct Window *window, struct IntuiText *bodytext, struct IntuiText *postext, struct IntuiText *negtext, ULONG IDCMPFlags, WORD width, WORD height) (A0, A1, A2, A3, D0, D2, D3)
220 void EndRefresh(struct Window *window, BOOL complete) (A0, D0)
221 void FreeSysRequest(struct Window *window) (A0)
222 LONG MakeScreen(struct Screen *screen) (A0)
223 LONG RemakeDisplay() ()
224 LONG RethinkDisplay() ()
225 APTR AllocRemember(struct Remember **rememberKey, ULONG size, ULONG flags) (A0, D0, D1)
226 void AlohaWorkbench(struct MsgPort *wbmsgport) (A0)
227 void FreeRemember(struct Remember **rememberKey, LONG reallyForget) (A0, D0)
228 ULONG LockIBase(ULONG What) (D0)
229 void UnlockIBase(ULONG ibLock) (A0)
230 LONG GetScreenData(APTR buffer, ULONG size, ULONG type, struct Screen *screen) (A0, D0, D1, A1)
231 void RefreshGList(struct Gadget *gadgets, struct Window *window, struct Requester *requester, LONG numGad) (A0, A1, A2, D0)
232 UWORD AddGList(struct Window *window, struct Gadget *gadget, ULONG position, LONG numGad, struct Requester *requester) (A0, A1, D0, D1, A2)
233 UWORD RemoveGList(struct Window *remPtr, struct Gadget *gadget, LONG numGad) (A0, A1, D0)
234 void ActivateWindow(struct Window *window) (A0)
235 void RefreshWindowFrame(struct Window *window) (A0)
236 BOOL ActivateGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
237 void NewModifyProp(struct Gadget *gadget, struct Window *window, struct Requester *requester, ULONG flags, ULONG horizPot, ULONG vertPot, ULONG horizBody, ULONG vertBody, LONG numGad) (A0, A1, A2, D0, D1, D2, D3, D4, D5)
238 LONG QueryOverscan(ULONG displayid, struct Rectangle *rect, WORD oscantype) (A0, A1, D0)
239 void MoveWindowInFrontOf(struct Window *window, struct Window *behindwindow) (A0, A1)
240 void ChangeWindowBox(struct Window *window, LONG left, LONG top, LONG width, LONG height) (A0, D0, D1, D2, D3)
241 struct Hook *SetEditHook(struct Hook *hook) (A0)
242 LONG SetMouseQueue(struct Window *window, UWORD queuelength) (A0, D0)
243 void ZipWindow(struct Window *window) (A0)
244 struct Screen *LockPubScreen(CONST_STRPTR name) (A0)
245 void UnlockPubScreen(UBYTE *name, struct Screen *screen) (A0, A1)
246 struct List *LockPubScreenList() ()
247 void UnlockPubScreenList() ()
248 UBYTE *NextPubScreen(struct Screen *screen, UBYTE *namebuff) (A0, A1)
249 void SetDefaultPubScreen(UBYTE *name) (A0)
250 UWORD SetPubScreenModes(UWORD modes) (D0)
251 UWORD PubScreenStatus(struct Screen *Scr, UWORD StatusFlags) (A0, D0)
252 struct RastPort *ObtainGIRPort(struct GadgetInfo *gInfo) (A0)
253 void ReleaseGIRPort(struct RastPort *rp) (A0)
254 void GadgetMouse(struct Gadget *gadget, struct GadgetInfo *ginfo, WORD *mousepoint) (A0, A1, A2)
255 ULONG SetIPrefs(APTR data, ULONG length, ULONG type) (A0, D0, D1)
256 struct Screen *GetDefaultPubScreen(UBYTE *nameBuffer) (A0)
257 LONG EasyRequestArgs(struct Window *window, struct EasyStruct *easyStruct, ULONG *IDCMP_ptr, APTR argList) (A0, A1, A2, A3)
258 struct Window *BuildEasyRequestArgs(struct Window *RefWindow, struct EasyStruct *easyStruct, ULONG IDCMP, APTR Args) (A0, A1, D0, A3)
259 LONG SysReqHandler(struct Window *window, ULONG *IDCMPFlagsPtr, BOOL WaitInput) (A0, A1, D0)
260 struct Window *OpenWindowTagList(struct NewWindow *newWindow, struct TagItem *tagList) (A0, A1)
261 struct Screen *OpenScreenTagList(struct NewScreen *newScreen, struct TagItem *tagList) (A0, A1)
262 void DrawImageState(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset, ULONG state, struct DrawInfo *drawInfo) (A0, A1, D0, D1, D2, A2)
263 BOOL PointInImage(ULONG point, struct Image *image) (D0, A0)
264 void EraseImage(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
265 APTR NewObjectA(struct IClass *classPtr, UBYTE *classID, struct TagItem *tagList) (A0, A1, A2)
266 void DisposeObject(APTR object) (A0)
267 IPTR SetAttrsA(APTR object, struct TagItem *tagList) (A0, A1)
268 ULONG GetAttr(ULONG attrID, Object *object, IPTR *storagePtr) (D0, A0, A1)
269 IPTR SetGadgetAttrsA(struct Gadget *gadget, struct Window *window, struct Requester *requester, struct TagItem *tagList) (A0, A1, A2, A3)
270 APTR NextObject(APTR objectPtrPtr) (A0)
271 struct IClass *FindClass(ClassID classID) (A0)
272 struct IClass *MakeClass(ClassID classID, ClassID superClassID, struct IClass *superClassPtr, ULONG instanceSize, ULONG flags) (A0, A1, A2, D0, D1)
273 void AddClass(struct IClass *classPtr) (A0)
274 struct DrawInfo *GetScreenDrawInfo(struct Screen *screen) (A0)
275 void FreeScreenDrawInfo(struct Screen *screen, struct DrawInfo *drawInfo) (A0, A1)
276 BOOL ResetMenuStrip(struct Window *window, struct Menu *menu) (A0, A1)
277 void RemoveClass(struct IClass *classPtr) (A0)
278 BOOL FreeClass(struct IClass *iclass) (A0)
280 struct ScreenBuffer *AllocScreenBuffer(struct Screen *screen, struct BitMap *bitmap, ULONG flags) (A0, A1, D0)
281 void FreeScreenBuffer(struct Screen *screen, struct ScreenBuffer *screenbuffer) (A0, A1)
282 ULONG ChangeScreenBuffer(struct Screen *screen, struct ScreenBuffer *screenbuffer) (A0, A1)
283 void ScreenDepth(struct Screen *screen, ULONG flags, APTR reserved) (A0, D0, A1)
284 void ScreenPosition(struct Screen *screen, ULONG flags, LONG x1, LONG y1, LONG x2, LONG y2) (A0, D0, D1, D2, D3, D4)
285 void ScrollWindowRaster(struct Window *win, WORD dx, WORD dy, WORD xmin, WORD ymin, WORD xmax, WORD ymax) (A1, D0, D1, D2, D3, D4, D5)
286 void LendMenus(struct Window *fromwindow, struct Window *towindow) (A0, A1)
287 IPTR DoGadgetMethodA(struct Gadget *gad, struct Window *win, struct Requester *req, Msg msg) (A0, A1, A2, A3)
288 void SetWindowPointerA(struct Window *window, struct TagItem *taglist) (A0, A1)
289 BOOL TimedDisplayAlert(ULONG alertnumber, UBYTE *string, UWORD height, ULONG time) (D0, A0, D1, A1)
290 void HelpControl(struct Window *window, ULONG flags) (A0, D0)
291 LONG IsWindowVisible(struct Window *window) (A0)
292 void ShowWindow(struct Window *window) (A0)
293 void HideWindow(struct Window *window) (A0)
295 struct Region *ChangeWindowShape(struct Window *window, struct Region *newshape, struct Hook *callback) (A0, A1, A2)
296 void SetDefaultScreenFont(struct TextFont *textfont) (A0)
297 IPTR DoNotify(Class *cl, Object *o, struct ICData *ic, struct opUpdate *msg) (A0, A1, A2, A3)
298 void FreeICData(struct ICData *icdata) (A0)
300 struct IntuiMessage *AllocIntuiMessage(struct Window *window) (A0)
301 void FreeIntuiMessage(struct IntuiMessage *imsg) (A0)
302 BOOL LateIntuiInit(APTR data) (A0)
303 void SendIntuiMessage(struct Window *window, struct IntuiMessage *imsg) (A0, A1)
305 void ChangeDecoration(ULONG ID, struct NewDecorator *decor) (D0, A0)
307 void WindowAction(struct Window *window, ULONG action, struct TagItem *tags) (A0, D0, A1)
309 void ScrollWindowRasterNoFill(struct Window *win, WORD dx, WORD dy, WORD xmin, WORD ymin, WORD xmax, WORD ymax) (A1, D0, D1, D2, D3, D4, D5)
310 ULONG SetPointerBounds(struct Screen *screen, struct Rectangle *rect, ULONG reserved, struct TagItem *tags) (A0, A1, D0, A2)
311 IPTR StartScreenNotifyTagList(struct TagItem *tags) (A0)
312 BOOL EndScreenNotify(IPTR notify) (A0)
321 classdatatype struct ICData
344 classdatatype struct ModelData
363 classdatatype struct Image
383 classdatatype struct FrameIData
401 classdatatype struct SysIData
414 basename FillRectClass
416 classid FILLRECTCLASS
418 classdatatype struct FillRectData
439 # IM_DRAWFRAME (not implemented)
449 classdatatype struct GadgetData
460 .function GadgetClass__One
464 .function GadgetClass__Zero
467 .function GadgetClass_NoReuse
478 basename ButtonGClass
498 basename FrButtonClass
499 classid FRBUTTONCLASS
500 superclass BUTTONGCLASS
519 classdatatype struct PropGData
540 classdatatype struct StrGData
562 classdatatype struct GroupGData
582 basename DragBarClass
586 classptr_field dragbarclass
587 classdatatype struct dragbar_data
595 .function DragBarClass__NOP
605 basename SizeButtonClass
609 classptr_field sizebuttonclass
610 classdatatype struct sizebutton_data
617 .function DragBarClass__NOP
626 basename MenuBarLabelClass
628 classid MENUBARLABELCLASS
630 classdatatype struct MenuBarLabelData
643 basename PointerClass
646 classptr_field pointerclass
647 classdatatype struct PointerData
659 basename WinDecorClass
661 classid WINDECORCLASS
663 classdatatype struct windecor_data
669 WDM_GETDEFSIZE_SYSIMAGE
672 WDM_LAYOUT_BORDERGADGETS
673 WDM_DRAW_BORDERPROPBACK
674 WDM_DRAW_BORDERPROPKNOB
683 basename ScrDecorClass
685 classid SCRDECORCLASS
687 classdatatype struct scrdecor_data
695 SDM_GETDEFSIZE_SYSIMAGE
698 SDM_LAYOUT_SCREENGADGETS
704 basename MenuDecorClass
706 classid MENUDECORCLASS
708 classdatatype struct menudecor_data
714 MDM_GETDEFSIZE_SYSIMAGE