/* Routines to create various types of gadgets, menus, etc Could do with a few comments and some documentation ... This code is placed in the public domain. David Gay, 1989. */ #ifndef GADGETS_H #define GADGETS_H typedef long boolean; struct Memory *NewMemory(void); void Free(struct Memory *); void ModSys(long, long, long, struct TextAttr *); void SetDepth(long); struct Requester *InitReq(long, long, long, long, struct Memory *); boolean SetReqBorder(struct Requester *, long, struct Memory *); void SetReqGadgets(struct Requester *, struct Gadget *); void SetReqText(struct Requester *, struct IntuiText *); struct Gadget *AddBox(struct Gadget **, long, char *, long, long, long, long, l ong, long, long, struct Memory *); struct Gadget *AddOption(struct Gadget **, long, char *, long, long, long, long , long, long, long, struct Memory *); struct Gadget *AddRadio(struct Gadget **, long, char *, long, long, long, long, long, long, long, long, struct Memory *); struct Gadget *AddText(struct Gadget **gl, long id, char *text, long above, cha r *buf, long maxlen, long undo, long flags, long act, long x, long y, long w, long h, long noborder, struct Me mory *mem); struct Gadget *AddSlider(struct Gadget **gl, long id, long act, long x, long y, long w, long h, long vert, long knobsize, struct Memory *mem); struct ListInfo *AddList(struct Gadget **gl, long id, char *text, struct List * list, char *buf, long len, long flags, long act, long x, long y, long w, long h, long noborder, struct Memory *mem); long ModifyList(struct Gadget *gg, struct Requester *req, struct Window *win, l ong up); long ChangeList(struct ListInfo *li, struct List *list, struct Requester *req, struct Window *win); struct Gadget *ListStr(struct ListInfo *li); void AppendGadget(struct Gadget **, struct Gadget *); struct IntuiText *AddIntuiText(struct IntuiText **, char *, long, long, struct Memory *); void AppendText(struct IntuiText **, struct IntuiText *); struct Border *AddLineBorder(struct Border **, long, long, long, long, struct M emory *); struct Border *AddRectBorder(struct Border **, long, long, long, long, struct M emory *); void AppendBorder(struct Border **, struct Border *); void DrawRect(struct RastPort *, long, long, long, long); void DrawRoundedRect(struct RastPort *, long, long, long, long); void FillRoundedRect(struct RastPort *, long, long, long, long); struct Menu *AddMenu(struct Menu **ml, struct Screen *scr, char *text, long fla gs, struct Memory *mem); struct MenuItem *AddItem(struct Menu *menu, char *text, long flags, long mutex, long cmd, long sub, struct Memory *mem); struct MenuItem *AddRule(struct Menu *menu, struct Memory *mem); struct MenuItem *AddSub(struct MenuItem *item, char *text, long flags, long mut ex, long cmd, struct Memory *mem); #endif