1 #ifndef CLIB_ICON_PROTOS_H
    2 #define CLIB_ICON_PROTOS_H
    3 
    4 /*
    5 	icon.library C prototypes
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef WORKBENCH_WORKBENCH_H
   11 # include <workbench/workbench.h>
   12 #endif
   13 
   14 #ifndef DATATYPES_PICTURECLASS_H
   15 # include <datatypes/pictureclass.h>
   16 #endif
   17 
   18 
   19 #ifdef __cplusplus
   20 extern "C" {
   21 #endif /* __cplusplus */
   22 
   23 VOID FreeFreeList( struct FreeList *freelist );
   24 BOOL AddFreeList( struct FreeList *freelist, CONST APTR mem, ULONG size );
   25 struct DiskObject *GetDiskObject( CONST STRPTR name );
   26 BOOL PutDiskObject( CONST STRPTR name, CONST struct DiskObject *diskobj );
   27 VOID FreeDiskObject( struct DiskObject *diskobj );
   28 UBYTE *FindToolType( CONST STRPTR *toolTypeArray, CONST STRPTR typeName );
   29 BOOL MatchToolValue( CONST STRPTR typeString, CONST STRPTR value );
   30 STRPTR BumpRevision( STRPTR newname, CONST STRPTR oldname );
   31 struct DiskObject *GetDefDiskObject( LONG type );
   32 BOOL PutDefDiskObject( CONST struct DiskObject *diskObject );
   33 struct DiskObject *GetDiskObjectNew( CONST STRPTR name );
   34 BOOL DeleteDiskObject( CONST STRPTR name );
   35 
   36 /*** V44 ***/
   37 
   38 struct DiskObject *DupDiskObjectA( CONST struct DiskObject *diskObject, CONST struct TagItem *tags );
   39 #if !defined(USE_INLINE_STDARG)
   40 struct DiskObject *DupDiskObject( CONST struct DiskObject *diskObject, ... );
   41 #endif
   42 ULONG IconControlA( struct DiskObject *icon, CONST struct TagItem *tags );
   43 #if !defined(USE_INLINE_STDARG)
   44 ULONG IconControl( struct DiskObject *icon, ... );
   45 #endif
   46 VOID DrawIconStateA( struct RastPort *rp, CONST struct DiskObject *icon, CONST STRPTR label, LONG leftOffset, LONG topOffset, ULONG state, CONST struct TagItem *tags );
   47 #if !defined(USE_INLINE_STDARG)
   48 VOID DrawIconState( struct RastPort *rp, CONST struct DiskObject *icon, CONST STRPTR label, LONG leftOffset, LONG topOffset, ULONG state, ... );
   49 #endif
   50 BOOL GetIconRectangleA( struct RastPort *rp, CONST struct DiskObject *icon, CONST STRPTR label, struct Rectangle *rect, CONST struct TagItem *tags );
   51 #if !defined(USE_INLINE_STDARG)
   52 BOOL GetIconRectangle( struct RastPort *rp, CONST struct DiskObject *icon, CONST STRPTR label, struct Rectangle *rect, ... );
   53 #endif
   54 struct DiskObject *NewDiskObject( LONG type );
   55 struct DiskObject *GetIconTagList( CONST STRPTR name, CONST struct TagItem *tags );
   56 #if !defined(USE_INLINE_STDARG)
   57 struct DiskObject *GetIconTags( CONST STRPTR name, ... );
   58 #endif
   59 BOOL PutIconTagList( CONST STRPTR name, CONST struct DiskObject *icon, CONST struct TagItem *tags );
   60 #if !defined(USE_INLINE_STDARG)
   61 BOOL PutIconTags( CONST STRPTR name, CONST struct DiskObject *icon, ... );
   62 #endif
   63 BOOL LayoutIconA( struct DiskObject *icon, struct Screen *screen, struct TagItem *tags );
   64 #if !defined(USE_INLINE_STDARG)
   65 BOOL LayoutIcon( struct DiskObject *icon, struct Screen *screen, ... );
   66 #endif
   67 VOID ChangeToSelectedIconColor( struct ColorRegister *cr );
   68 
   69 #ifdef __cplusplus
   70 }
   71 #endif /* __cplusplus */
   72 
   73 
   74 #endif /* CLIB_ICON_PROTOS_H */