1 #ifndef CLIB_MUIMASTER_PROTOS_H 2 #define CLIB_MUIMASTER_PROTOS_H 3 4 /* 5 muimaster.library C prototypes 6 7 Copyright © 2002-2020 Stefan Stuntz & The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #if defined(__ixemul__) && !defined(__IXEMUL_EXEC_MIXING_ALLOWED) 11 # error "Mixing ixemul and native library calls is not supported. Native application should be built with -noixemul" 12 #endif 13 14 #ifndef EXEC_TYPES_H 15 #include <exec/types.h> 16 #endif 17 #ifndef INTUITION_CLASSES_H 18 #include <intuition/classes.h> 19 #endif 20 #ifndef UTILITY_TAGITEM_H 21 #include <utility/tagitem.h> 22 #endif 23 #ifndef LIBRARIES_MUI_H 24 #include <libraries/mui.h> 25 #endif 26 27 #ifdef __cplusplus 28 extern "C" { 29 #endif 30 31 /****************************************/ 32 /* functions to be used in applications */ 33 /****************************************/ 34 35 Boopsiobject *MUI_NewObjectA (char *classname,struct TagItem *tags); 36 #if !defined(USE_INLINE_STDARG) 37 Boopsiobject *MUI_NewObject (char *classname,Tag tag1,...); 38 #endif 39 Boopsiobject *MUI_MakeObjectA (LONG type,ULONG *params); 40 #if !defined(USE_INLINE_STDARG) 41 Boopsiobject *MUI_MakeObject (LONG type,...); 42 #endif 43 VOID MUI_DisposeObject (Boopsiobject *obj); 44 LONG MUI_RequestA (APTR app,APTR win,LONGBITS flags,char *title,char *gadgets,char *format,APTR params); 45 LONG MUI_RequestObjectA (APTR app,APTR win,LONGBITS flags,char *title,char *gadgets,Boopsiobject *obj,char *format,APTR params); 46 #if !defined(USE_INLINE_STDARG) 47 LONG MUI_Request (APTR app,APTR win,LONGBITS flags,char *title,char *gadgets,char *format,...); 48 LONG MUI_RequestObject (APTR app,APTR win,LONGBITS flags,char *title,char *gadgets,Boopsiobject *obj,char *format,...); 49 #endif 50 LONG MUI_Error (VOID); 51 APTR MUI_AllocAslRequest (unsigned long reqType, struct TagItem *tagList); 52 #if !defined(USE_INLINE_STDARG) 53 APTR MUI_AllocAslRequestTags(unsigned long reqType, Tag Tag1, ...); 54 #endif 55 VOID MUI_FreeAslRequest (APTR requester ); 56 BOOL MUI_AslRequest (APTR requester, struct TagItem *tagList); 57 #if !defined(USE_INLINE_STDARG) 58 BOOL MUI_AslRequestTags (APTR requester, Tag Tag1, ...); 59 #endif 60 61 /******************************************/ 62 /* functions to be used in custom classes */ 63 /******************************************/ 64 65 LONG MUI_SetError (LONG num); 66 struct IClass * MUI_GetClass (char *classname); 67 VOID MUI_FreeClass (struct IClass *classptr); 68 VOID MUI_RequestIDCMP (Boopsiobject *obj,ULONG flags); 69 VOID MUI_RejectIDCMP (Boopsiobject *obj,ULONG flags); 70 VOID MUI_Redraw (Boopsiobject *obj,ULONG flags); 71 APTR MUI_AddClipping (struct MUI_RenderInfo *mri,WORD left,WORD top,WORD width,WORD height); 72 VOID MUI_RemoveClipping (struct MUI_RenderInfo *mri,APTR handle); 73 APTR MUI_AddClipRegion (struct MUI_RenderInfo *mri,struct Region *r); 74 VOID MUI_RemoveClipRegion (struct MUI_RenderInfo *mri,APTR handle); 75 BOOL MUI_BeginRefresh (struct MUI_RenderInfo *mri,ULONG flags); 76 VOID MUI_EndRefresh (struct MUI_RenderInfo *mri,ULONG flags); 77 struct MUI_CustomClass *MUI_CreateCustomClass(struct Library *base,char *supername,struct MUI_CustomClass *supermcc,int datasize,APTR dispatcher); 78 BOOL MUI_DeleteCustomClass(struct MUI_CustomClass *mcc); 79 LONG MUI_ObtainPen (struct MUI_RenderInfo *mri,struct MUI_PenSpec *spec,ULONG flags); 80 VOID MUI_ReleasePen (struct MUI_RenderInfo *mri,LONG pen); 81 LONG MUI_GetRGBColor (const struct MUI_RenderInfo *mri, const struct MUI_PenSpec *spec, ULONG *color); 82 83 /*************************************************************/ 84 /* layout function, use only in custom layout callback hook! */ 85 /*************************************************************/ 86 87 BOOL MUI_Layout(Boopsiobject *obj,LONG left,LONG top,LONG width,LONG height,ULONG flags); 88 89 #ifdef __cplusplus 90 } 91 #endif 92 93 #endif /* CLIB_MUIMASTER_PROTOS_H */