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 */