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 */
26 IPTR DoGadgetMethod (struct Gadget * gad, struct Window * win,
27 struct Requester * req, ULONG MethodID, ...);
28 IPTR SetGadgetAttrs (struct Gadget * gad, struct Window * win,
29 struct Requester * req, Tag tag1, ...);
31 #if !defined(DEFINES_INTUITION_PROTOS_H) /* Prevent name clashes */
32 IPTR SetAttrs (APTR obj, Tag tag1, ...) __stackparm;
33 IPTR SetSuperAttrs (Class * cl, Object * obj, Tag tag1, ...) __stackparm;
34 APTR NewObject (Class * classPtr, UBYTE * classID, Tag tag1, ...) __stackparm;
35 #ifndef USE_BOOPSI_STUBS
36 IPTR DoMethodA (Object * obj, Msg message);
37 IPTR DoMethod (Object * obj, STACKULONG MethodID, ...) __stackparm;
38 IPTR DoSuperMethodA (Class * cl, Object * obj, Msg message);
39 IPTR DoSuperMethod (Class * cl, Object * obj, STACKULONG MethodID, ...) __stackparm;
40 IPTR CoerceMethodA (Class * cl, Object * obj, Msg message);
41 IPTR CoerceMethod (Class * cl, Object * obj, STACKULONG MethodID, ...) __stackparm;
42 #endif /* !USE_BOOPSI_STUBS */
45 IPTR DoSuperNewTagList(Class *CLASS, Object *object, struct GadgetInfo *gadgetInfo, struct TagItem *tags);
46 IPTR DoSuperNewTags(Class *CLASS, Object *object, struct GadgetInfo *gadgetInfo, Tag tag1, ...) __stackparm;
48 #if !defined(INTUITION_NO_INLINE_STDARG) && !defined(NO_INLINE_STDARG)
49 # ifndef CLIB_INTUITION_PROTOS_H /* prevent name clashes */
50 # define SetSuperAttrsA(class, object, attrs) \
54 __ops.MethodID = OM_SET; \
55 __ops.ops_AttrList = (attrs); \
56 __ops.ops_GInfo = NULL; \
58 DoSuperMethodA((class), (object), (Msg) &__ops.MethodID); \
60 # define SetSuperAttrs(class, object, args...) \
62 IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(args) }; \
63 SetSuperAttrsA((class), (object), (struct TagItem *) __args); \
66 # ifndef USE_BOOPSI_STUBS /* prevent name clashes */
67 # define DoMethodA(object, message) \
73 (struct Hook *) OCLASS((object)), (object), (message) \
80 # define DoMethod(object, methodid, args...) \
82 IPTR __args[] = {methodid, AROS_PP_VARIADIC_CAST2IPTR(args)}; \
83 DoMethodA((object), __args); \
86 # define DoSuperMethodA(class, object, message) \
88 ((class) != NULL && (object) != NULL) ? \
91 (struct Hook *) ((Class *) (class))->cl_Super, \
98 # define DoSuperMethod(class, object, methodid, args...) \
100 IPTR __args[] = {methodid, AROS_PP_VARIADIC_CAST2IPTR(args)}; \
101 DoSuperMethodA((class), (object), __args); \
104 # define CoerceMethodA(class, object, message) \
106 ((class) != NULL && (object) != NULL) ? \
107 CALLHOOKPKT((struct Hook *) (class), (object), (message)) \
112 # define CoerceMethod(class, object, methodid, args...) \
114 IPTR __args[] = {methodid, AROS_PP_VARIADIC_CAST2IPTR(args)}; \
115 CoerceMethodA((class), (object), __args); \
117 # endif /* !USE_BOOPSI_STUBS */
118 # endif /* CLIB_INTUITION_PROTOS_H */
120 # define DoSuperNewTagList(class, object, gadgetinfo, tags) \
122 struct opSet __ops; \
124 __ops.MethodID = OM_NEW; \
125 __ops.ops_AttrList = (tags); \
126 __ops.ops_GInfo = (gadgetinfo); \
128 (class) != NULL && (object) != NULL ? \
129 DoSuperMethodA((class), (object), (Msg)&__ops.MethodID) \
134 # define DoSuperNewTags(class, object, gadgetinfo, args...) \
136 IPTR __args[] = {AROS_PP_VARIADIC_CAST2IPTR(args)}; \
139 (class), (object), (gadgetinfo), (struct TagItem *) __args \
142 #endif /* !INTUITION_NO_INLINE_STDARG && !NO_INLINE_STDARG */
144 #ifndef CLIB_BOOPSI_PROTOS_H /* Prevent name clashes */
145 IPTR CallHookA (struct Hook * hook, APTR obj, APTR param);
146 IPTR CallHook (struct Hook * hook, APTR obj, ...);
149 struct Window * OpenWindowTags (struct NewWindow * newWindow, Tag tag1, ...);
150 struct Screen * OpenScreenTags (struct NewScreen * newScreen, Tag tag1, ...);
152 LONG EasyRequest (struct Window * window, struct EasyStruct * easyStruct, ULONG * idcmpPtr, ...);
163 #include <intuition/icclass.h>
164 #include <intuition/imageclass.h>
165 #include <intuition/monitorclass.h>
167 #include "intuition_intern.h"
168 #include "monitorclass_intern.h"
169 #include "monitorclass_private.h"
170 #include "strgadgets.h"
175 UWORD AddGadget(struct Window *window, struct Gadget *gadget, ULONG position) (A0, A1, D0)
176 BOOL ClearDMRequest(struct Window *window) (A0)
177 void ClearMenuStrip(struct Window *window) (A0)
178 void ClearPointer(struct Window *window) (A0)
179 BOOL CloseScreen(struct Screen *screen) (A0)
180 void CloseWindow(struct Window *window) (A0)
181 LONG CloseWorkBench() ()
182 void CurrentTime(ULONG *seconds, ULONG *micros) (A0, A1)
183 BOOL DisplayAlert(ULONG alertnumber, UBYTE *string, UWORD height) (D0, A0, D1)
184 void DisplayBeep(struct Screen *screen) (A0)
185 BOOL DoubleClick(ULONG sSeconds, ULONG sMicros, ULONG cSeconds, ULONG cMicros) (D0, D1, D2, D3)
186 void DrawBorder(struct RastPort *rp, struct Border *border, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
187 void DrawImage(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
188 void EndRequest(struct Requester *requester, struct Window *window) (A0, A1)
189 struct Preferences *GetDefPrefs(struct Preferences *prefbuffer, WORD size) (A0, D0)
190 struct Preferences *GetPrefs(struct Preferences *prefbuffer, WORD size) (A0, D0)
191 void InitRequester(struct Requester *requester) (A0)
192 struct MenuItem *ItemAddress(struct Menu *menustrip, UWORD menunumber) (A0, D0)
193 BOOL ModifyIDCMP(struct Window *window, ULONG flags) (A0, D0)
194 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)
195 void MoveScreen(struct Screen *screen, LONG dx, LONG dy) (A0, D0, D1)
196 void MoveWindow(struct Window *window, LONG dx, LONG dy) (A0, D0, D1)
197 void OffGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
198 void OffMenu(struct Window *window, UWORD menunumber) (A0, D0)
199 void OnGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
200 void OnMenu(struct Window *window, UWORD menunumber) (A0, D0)
201 struct Screen *OpenScreen(struct NewScreen *newScreen) (A0)
202 struct Window *OpenWindow(struct NewWindow *newWindow) (A0)
203 IPTR OpenWorkBench() ()
204 void PrintIText(struct RastPort *rp, struct IntuiText *iText, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
205 void RefreshGadgets(struct Gadget *gadgets, struct Window *window, struct Requester *requester) (A0, A1, A2)
206 UWORD RemoveGadget(struct Window *window, struct Gadget *gadget) (A0, A1)
207 void ReportMouse(LONG flag, struct Window *window) (D0, A0)
208 BOOL Request(struct Requester *requester, struct Window *window) (A0, A1)
209 void ScreenToBack(struct Screen *screen) (A0)
210 void ScreenToFront(struct Screen *screen) (A0)
211 BOOL SetDMRequest(struct Window *window, struct Requester *dmrequest) (A0, A1)
212 BOOL SetMenuStrip(struct Window *window, struct Menu *menu) (A0, A1)
213 void SetPointer(struct Window *window, UWORD *pointer, LONG height, LONG width, LONG xOffset, LONG yOffset) (A0, A1, D0, D1, D2, D3)
214 void SetWindowTitles(struct Window *window, CONST_STRPTR windowTitle, CONST_STRPTR screenTitle) (A0, A1, A2)
215 void ShowTitle(struct Screen *screen, BOOL ShowIt) (A0, D0)
216 void SizeWindow(struct Window *window, LONG dx, LONG dy) (A0, D0, D1)
217 struct View *ViewAddress() ()
218 struct ViewPort *ViewPortAddress(struct Window *Window) (A0)
219 void WindowToBack(struct Window *window) (A0)
220 void WindowToFront(struct Window *window) (A0)
221 BOOL WindowLimits(struct Window *window, WORD MinWidth, WORD MinHeight, UWORD MaxWidth, UWORD MaxHeight) (A0, D0, D1, D2, D3)
222 struct Preferences *SetPrefs(struct Preferences *prefbuffer, LONG size, BOOL inform) (A0, D0, D1)
223 LONG IntuiTextLength(struct IntuiText *iText) (A0)
224 BOOL WBenchToBack() ()
225 BOOL WBenchToFront() ()
226 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)
227 void BeginRefresh(struct Window *window) (A0)
228 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)
229 void EndRefresh(struct Window *window, BOOL complete) (A0, D0)
230 void FreeSysRequest(struct Window *window) (A0)
231 LONG MakeScreen(struct Screen *screen) (A0)
232 LONG RemakeDisplay() ()
233 LONG RethinkDisplay() ()
234 APTR AllocRemember(struct Remember **rememberKey, ULONG size, ULONG flags) (A0, D0, D1)
235 void AlohaWorkbench(struct MsgPort *wbmsgport) (A0)
236 void FreeRemember(struct Remember **rememberKey, LONG reallyForget) (A0, D0)
237 ULONG LockIBase(ULONG What) (D0)
238 void UnlockIBase(ULONG ibLock) (A0)
239 LONG GetScreenData(APTR buffer, ULONG size, ULONG type, struct Screen *screen) (A0, D0, D1, A1)
240 void RefreshGList(struct Gadget *gadgets, struct Window *window, struct Requester *requester, LONG numGad) (A0, A1, A2, D0)
241 UWORD AddGList(struct Window *window, struct Gadget *gadget, ULONG position, LONG numGad, struct Requester *requester) (A0, A1, D0, D1, A2)
242 UWORD RemoveGList(struct Window *remPtr, struct Gadget *gadget, LONG numGad) (A0, A1, D0)
243 void ActivateWindow(struct Window *window) (A0)
244 void RefreshWindowFrame(struct Window *window) (A0)
245 BOOL ActivateGadget(struct Gadget *gadget, struct Window *window, struct Requester *requester) (A0, A1, A2)
246 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)
247 LONG QueryOverscan(ULONG displayid, struct Rectangle *rect, WORD oscantype) (A0, A1, D0)
248 void MoveWindowInFrontOf(struct Window *window, struct Window *behindwindow) (A0, A1)
249 void ChangeWindowBox(struct Window *window, LONG left, LONG top, LONG width, LONG height) (A0, D0, D1, D2, D3)
250 struct Hook *SetEditHook(struct Hook *hook) (A0)
251 LONG SetMouseQueue(struct Window *window, UWORD queuelength) (A0, D0)
252 void ZipWindow(struct Window *window) (A0)
253 struct Screen *LockPubScreen(CONST_STRPTR name) (A0)
254 void UnlockPubScreen(UBYTE *name, struct Screen *screen) (A0, A1)
255 struct List *LockPubScreenList() ()
256 void UnlockPubScreenList() ()
257 UBYTE *NextPubScreen(struct Screen *screen, UBYTE *namebuff) (A0, A1)
258 void SetDefaultPubScreen(UBYTE *name) (A0)
259 UWORD SetPubScreenModes(UWORD modes) (D0)
260 UWORD PubScreenStatus(struct Screen *Scr, UWORD StatusFlags) (A0, D0)
261 struct RastPort *ObtainGIRPort(struct GadgetInfo *gInfo) (A0)
262 void ReleaseGIRPort(struct RastPort *rp) (A0)
263 void GadgetMouse(struct Gadget *gadget, struct GadgetInfo *ginfo, WORD *mousepoint) (A0, A1, A2)
264 ULONG SetIPrefs(APTR data, ULONG length, ULONG type) (A0, D0, D1)
265 struct Screen *GetDefaultPubScreen(UBYTE *nameBuffer) (A0)
266 LONG EasyRequestArgs(struct Window *window, struct EasyStruct *easyStruct, ULONG *IDCMP_ptr, APTR argList) (A0, A1, A2, A3)
267 struct Window *BuildEasyRequestArgs(struct Window *RefWindow, struct EasyStruct *easyStruct, ULONG IDCMP, APTR Args) (A0, A1, D0, A3)
268 LONG SysReqHandler(struct Window *window, ULONG *IDCMPFlagsPtr, BOOL WaitInput) (A0, A1, D0)
269 struct Window *OpenWindowTagList(struct NewWindow *newWindow, struct TagItem *tagList) (A0, A1)
270 struct Screen *OpenScreenTagList(struct NewScreen *newScreen, struct TagItem *tagList) (A0, A1)
271 void DrawImageState(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset, ULONG state, struct DrawInfo *drawInfo) (A0, A1, D0, D1, D2, A2)
272 BOOL PointInImage(ULONG point, struct Image *image) (D0, A0)
273 void EraseImage(struct RastPort *rp, struct Image *image, LONG leftOffset, LONG topOffset) (A0, A1, D0, D1)
274 APTR NewObjectA(struct IClass *classPtr, UBYTE *classID, struct TagItem *tagList) (A0, A1, A2)
275 void DisposeObject(APTR object) (A0)
276 IPTR SetAttrsA(APTR object, struct TagItem *tagList) (A0, A1)
277 ULONG GetAttr(ULONG attrID, Object *object, IPTR *storagePtr) (D0, A0, A1)
278 IPTR SetGadgetAttrsA(struct Gadget *gadget, struct Window *window, struct Requester *requester, struct TagItem *tagList) (A0, A1, A2, A3)
279 APTR NextObject(APTR objectPtrPtr) (A0)
280 struct IClass *FindClass(ClassID classID) (A0)
281 struct IClass *MakeClass(ClassID classID, ClassID superClassID, struct IClass *superClassPtr, ULONG instanceSize, ULONG flags) (A0, A1, A2, D0, D1)
282 void AddClass(struct IClass *classPtr) (A0)
283 struct DrawInfo *GetScreenDrawInfo(struct Screen *screen) (A0)
284 void FreeScreenDrawInfo(struct Screen *screen, struct DrawInfo *drawInfo) (A0, A1)
285 BOOL ResetMenuStrip(struct Window *window, struct Menu *menu) (A0, A1)
286 void RemoveClass(struct IClass *classPtr) (A0)
287 BOOL FreeClass(struct IClass *iclass) (A0)
289 struct ScreenBuffer *AllocScreenBuffer(struct Screen *screen, struct BitMap *bitmap, ULONG flags) (A0, A1, D0)
290 void FreeScreenBuffer(struct Screen *screen, struct ScreenBuffer *screenbuffer) (A0, A1)
291 ULONG ChangeScreenBuffer(struct Screen *screen, struct ScreenBuffer *screenbuffer) (A0, A1)
292 void ScreenDepth(struct Screen *screen, ULONG flags, APTR reserved) (A0, D0, A1)
293 void ScreenPosition(struct Screen *screen, ULONG flags, LONG x1, LONG y1, LONG x2, LONG y2) (A0, D0, D1, D2, D3, D4)
294 void ScrollWindowRaster(struct Window *win, WORD dx, WORD dy, WORD xmin, WORD ymin, WORD xmax, WORD ymax) (A1, D0, D1, D2, D3, D4, D5)
295 void LendMenus(struct Window *fromwindow, struct Window *towindow) (A0, A1)
296 IPTR DoGadgetMethodA(struct Gadget *gad, struct Window *win, struct Requester *req, Msg msg) (A0, A1, A2, A3)
297 void SetWindowPointerA(struct Window *window, struct TagItem *taglist) (A0, A1)
298 BOOL TimedDisplayAlert(ULONG alertnumber, UBYTE *string, UWORD height, ULONG time) (D0, A0, D1, A1)
299 void HelpControl(struct Window *window, ULONG flags) (A0, D0)
300 LONG IsWindowVisible(struct Window *window) (A0)
301 void ShowWindow(struct Window *window) (A0)
302 void HideWindow(struct Window *window) (A0)
304 struct Region *ChangeWindowShape(struct Window *window, struct Region *newshape, struct Hook *callback) (A0, A1, A2)
305 void SetDefaultScreenFont(struct TextFont *textfont) (A0)
306 IPTR DoNotify(Class *cl, Object *o, struct ICData *ic, struct opUpdate *msg) (A0, A1, A2, A3)
307 void FreeICData(struct ICData *icdata) (A0)
309 struct IntuiMessage *AllocIntuiMessage(struct Window *window) (A0)
310 void FreeIntuiMessage(struct IntuiMessage *imsg) (A0)
312 void SendIntuiMessage(struct Window *window, struct IntuiMessage *imsg) (A0, A1)
314 void ChangeDecoration(ULONG ID, struct NewDecorator *decor) (D0, A0)
316 void WindowAction(struct Window *window, ULONG action, struct TagItem *tags) (A0, D0, A1)
318 void ScrollWindowRasterNoFill(struct Window *win, WORD dx, WORD dy, WORD xmin, WORD ymin, WORD xmax, WORD ymax) (A1, D0, D1, D2, D3, D4, D5)
319 ULONG SetPointerBounds(struct Screen *screen, struct Rectangle *rect, ULONG reserved, struct TagItem *tags) (A0, A1, D0, A2)
320 IPTR StartScreenNotifyTagList(struct TagItem *tags) (A0)
321 BOOL EndScreenNotify(IPTR notify) (A0)
322 Object **GetMonitorList(struct TagItem *tags) (A1)
323 void FreeMonitorList(Object **list) (A1)
332 classdatatype struct ICData
355 classdatatype struct ModelData
374 classdatatype struct Image
394 classdatatype struct FrameIData
412 classdatatype struct SysIData
425 basename FillRectClass
427 classid FILLRECTCLASS
429 classdatatype struct FillRectData
450 # IM_DRAWFRAME (not implemented)
460 classdatatype struct GadgetData
471 .function GadgetClass__One
475 .function GadgetClass__Zero
478 .function GadgetClass_NoReuse
489 basename ButtonGClass
509 basename FrButtonClass
510 classid FRBUTTONCLASS
511 superclass BUTTONGCLASS
530 classdatatype struct PropGData
551 classdatatype struct StrGData
573 classdatatype struct GroupGData
593 basename DragBarClass
597 classptr_field dragbarclass
598 classdatatype struct dragbar_data
606 .function DragBarClass__NOP
616 basename SizeButtonClass
620 classptr_field sizebuttonclass
621 classdatatype struct sizebutton_data
628 .function DragBarClass__NOP
637 basename MenuBarLabelClass
639 classid MENUBARLABELCLASS
641 classdatatype struct MenuBarLabelData
654 basename PointerClass
657 classptr_field pointerclass
658 classdatatype struct PointerData
670 basename WinDecorClass
672 classid WINDECORCLASS
674 classdatatype struct windecor_data
680 WDM_GETDEFSIZE_SYSIMAGE
683 WDM_LAYOUT_BORDERGADGETS
684 WDM_DRAW_BORDERPROPBACK
685 WDM_DRAW_BORDERPROPKNOB
694 basename ScrDecorClass
696 classid SCRDECORCLASS
698 classdatatype struct scrdecor_data
706 SDM_GETDEFSIZE_SYSIMAGE
709 SDM_LAYOUT_SCREENGADGETS
715 basename MenuDecorClass
717 classid MENUDECORCLASS
719 classdatatype struct menudecor_data
725 MDM_GETDEFSIZE_SYSIMAGE
736 basename MonitorClass
740 classptr_field monitorclass
741 classdatatype struct MonitorData
751 MM_GetDefaultGammaTables
752 MM_GetDefaultPixelFormat
755 MM_EnterPowerSaveMode
757 MM_SetDefaultGammaTables
758 MM_GetCompositionFlags