1 #ifndef CLIB_WB_PROTOS_H 2 #define CLIB_WB_PROTOS_H 3 4 /* 5 workbench.library C prototypes 6 7 Copyright © 2002-2016 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef EXEC_TYPES_H 11 # include <exec/types.h> 12 #endif 13 14 #ifndef DOS_DOS_H 15 # include <dos/dos.h> 16 #endif 17 18 #ifndef DOS_DOSEXTENS_H 19 # include <dos/dosextens.h> 20 #endif 21 22 #ifndef WORKBENCH_WORKBENCH_H 23 # include <workbench/workbench.h> 24 #endif 25 26 #ifndef INTUITION_INTUITION_H 27 # include <intuition/intuition.h> 28 #endif 29 30 #ifndef UTILITY_TAGITEM_H 31 # include <utility/tagitem.h> 32 #endif 33 34 35 #ifdef __cplusplus 36 extern "C" { 37 #endif /* __cplusplus */ 38 39 struct AppWindow *AddAppWindowA( ULONG id, ULONG userdata, struct Window *window, struct MsgPort *msgport, struct TagItem *taglist ); 40 #if !defined(USE_INLINE_STDARG) 41 struct AppWindow *AddAppWindow( ULONG id, ULONG userdata, struct Window *window, struct MsgPort *msgport, Tag tag1, ... ); 42 #endif 43 44 BOOL RemoveAppWindow( struct AppWindow *appWindow ); 45 46 struct AppIcon *AddAppIconA( ULONG id, ULONG userdata, UBYTE *text, struct MsgPort *msgport, BPTR lock, struct DiskObject *diskobj, struct TagItem *taglist ); 47 #if !defined(USE_INLINE_STDARG) 48 struct AppIcon *AddAppIcon( ULONG id, ULONG userdata, UBYTE *text, struct MsgPort *msgport, BPTR lock, struct DiskObject *diskobj, Tag tag1, ... ); 49 #endif 50 51 BOOL RemoveAppIcon( struct AppIcon *appIcon ); 52 53 struct AppMenuItem *AddAppMenuItemA( ULONG id, ULONG userdata, UBYTE *text, struct MsgPort *msgport, struct TagItem *taglist ); 54 #if !defined(USE_INLINE_STDARG) 55 struct AppMenuItem *AddAppMenuItem( ULONG id, ULONG userdata, UBYTE *text, struct MsgPort *msgport, Tag tag1, ... ); 56 #endif 57 58 BOOL RemoveAppMenuItem( struct AppMenuItem *appMenuItem ); 59 60 VOID WBInfo( BPTR lock, STRPTR name, struct Screen *screen ); 61 62 /*** V44 ***/ 63 64 BOOL OpenWorkbenchObjectA( STRPTR name, struct TagItem *tags ); 65 #if !defined(USE_INLINE_STDARG) 66 BOOL OpenWorkbenchObject( STRPTR name, ... ); 67 #endif 68 BOOL CloseWorkbenchObjectA( STRPTR name, struct TagItem *tags ); 69 #if !defined(USE_INLINE_STDARG) 70 BOOL CloseWorkbenchObject( STRPTR name, ... ); 71 #endif 72 BOOL WorkbenchControlA( STRPTR name, struct TagItem *tags ); 73 #if !defined(USE_INLINE_STDARG) 74 BOOL WorkbenchControl( STRPTR name, ... ); 75 #endif 76 struct AppWindowDropZone *AddAppWindowDropZoneA( struct AppWindow *aw, ULONG id, ULONG userdata, struct TagItem *tags ); 77 #if !defined(USE_INLINE_STDARG) 78 struct AppWindowDropZone *AddAppWindowDropZone( struct AppWindow *aw, ULONG id, ULONG userdata, ... ); 79 #endif 80 BOOL RemoveAppWindowDropZone( struct AppWindow *aw, struct AppWindowDropZone *dropZone ); 81 BOOL ChangeWorkbenchSelectionA( STRPTR name, struct Hook *hook, struct TagItem *tags ); 82 #if !defined(USE_INLINE_STDARG) 83 BOOL ChangeWorkbenchSelection( STRPTR name, struct Hook *hook, ... ); 84 #endif 85 BOOL MakeWorkbenchObjectVisibleA( STRPTR name, struct TagItem *tags ); 86 #if !defined(USE_INLINE_STDARG) 87 BOOL MakeWorkbenchObjectVisible( STRPTR name, ... ); 88 #endif 89 90 BOOL ManageDesktopObjectA(CONST_STRPTR name, LONG action, const struct TagItem *tags); 91 92 #if !defined(USE_INLINE_STDARG) 93 BOOL ManageDesktopObjectTags(CONST_STRPTR name, LONG action, ...); 94 #endif 95 96 BOOL CreateDrawerA(CONST_STRPTR drawer, const struct TagItem *tags); 97 BOOL CreateIconA(CONST_STRPTR name, const struct TagItem *tags); 98 99 #if !defined(USE_INLINE_STDARG) 100 BOOL CreateDrawerTags(CONST_STRPTR drawer, ...); 101 BOOL CreateIconTags(CONST_STRPTR name, ...); 102 #endif 103 104 /* These are private to Ambient. Do not use. 105 */ 106 struct AppWindow *AppWindowObtain(struct Window *win); 107 VOID AppWindowRelease(VOID); 108 109 #ifdef __cplusplus 110 } 111 #endif /* __cplusplus */ 112 113 114 #endif /* CLIB_WB_PROTOS_H */