home *** CD-ROM | disk | FTP | other *** search
- (**************************************************************************
-
- $RCSfile: Icon.mod $
- Description: Interface to icon.library
-
- Created by: fjc (Frank Copeland)
- $Revision: 3.2 $
- $Author: fjc $
- $Date: 1994/08/08 01:12:16 $
-
- Includes Release 40.15
-
- (C) Copyright 1985-1993 Commodore-Amiga, Inc.
- All Rights Reserved
-
- Oberon-A interface Copyright © 1994, Frank Copeland.
- This file is part of the Oberon-A Interface.
- See Oberon-A.doc for conditions of use and distribution.
-
- ***************************************************************************)
-
- MODULE Icon;
-
- (*
- ** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
- ** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
- ** $V- OvflChk $Z- ZeroVars
- *)
-
- IMPORT SYS := SYSTEM, E := Exec, W := Workbench;
-
- (*
- ** $VER: icon.h 36.1 (26.10.90)
- **
- ** external declarations for icon.library
- *)
-
- CONST
-
- name * = "icon.library";
-
-
- (*-- Icon Base variable --------------------------------------------*)
-
- TYPE
-
- IconBasePtr * = CPOINTER TO IconBase;
- IconBase * = RECORD (E.Library) END;
-
- VAR
-
- base * : IconBasePtr;
-
-
- (*-- Library Functions ------------------------------------------------*)
-
- (*
- ** $VER: icon_protos.h 38.2 (16.6.93)
- *)
-
- LIBCALL (base : IconBasePtr) GetIcon*
- ( name [8] : ARRAY OF CHAR;
- icon [9] : W.DiskObjectPtr;
- freelist [10] : W.FreeListPtr )
- : LONGINT;
- -42;
- LIBCALL (base : IconBasePtr) PutIcon*
- ( name [8] : ARRAY OF CHAR;
- icon [9] : W.DiskObjectPtr )
- : BOOLEAN;
- -48;
- LIBCALL (base : IconBasePtr) FreeFreeList*
- ( freelist [8] : W.FreeListPtr );
- -54;
- LIBCALL (base : IconBasePtr) AddFreeList*
- ( freelist [8] : W.FreeListPtr;
- mem [9] : E.APTR;
- size [10] : E.ULONG )
- : BOOLEAN;
- -72;
- LIBCALL (base : IconBasePtr) GetDiskObject*
- ( name [8] : ARRAY OF CHAR )
- : W.DiskObjectPtr;
- -78;
- LIBCALL (base : IconBasePtr) PutDiskObject*
- ( name [8] : ARRAY OF CHAR;
- diskobj [9] : W.DiskObjectPtr )
- : BOOLEAN;
- -84;
- LIBCALL (base : IconBasePtr) FreeDiskObject*
- ( diskobj [8] : W.DiskObjectPtr );
- -90;
- LIBCALL (base : IconBasePtr) FindToolType*
- ( toolTypeArray [8] : E.APTR;
- typeName [9] : ARRAY OF CHAR )
- : E.STRPTR;
- -96;
- LIBCALL (base : IconBasePtr) MatchToolValue*
- ( typeString [8] : ARRAY OF CHAR;
- value [9] : ARRAY OF CHAR )
- : BOOLEAN;
- -102;
- LIBCALL (base : IconBasePtr) BumpRevision*
- ( VAR newname [8] : ARRAY OF CHAR;
- oldname [9] : ARRAY OF CHAR );
- -108;
-
- (* --- functions in V36 or higher (distributed as Release 2.0) ---*)
-
- LIBCALL (base : IconBasePtr) GetDefDiskObject*
- ( type [0] : LONGINT )
- : W.DiskObjectPtr;
- -120;
- LIBCALL (base : IconBasePtr) PutDefDiskObject*
- ( diskObject [8] : W.DiskObjectPtr )
- : BOOLEAN;
- -126;
- LIBCALL (base : IconBasePtr) GetDiskObjectNew*
- ( name [8] : ARRAY OF CHAR )
- : W.DiskObjectPtr;
- -132;
- LIBCALL (base : IconBasePtr) DeleteDiskObject*
- ( name [8] : ARRAY OF CHAR )
- : BOOLEAN;
- -138;
-
- (*-- Library Base variable --------------------------------------------*)
- (* $L- Address globals through A4 *)
-
-
- (*-----------------------------------*)
- PROCEDURE* CloseLib ();
-
- BEGIN (* CloseLib *)
- IF base # NIL THEN E.base.CloseLibrary (base) END
- END CloseLib;
-
- (*-----------------------------------*)
- PROCEDURE OpenLib * (mustOpen : BOOLEAN);
-
- BEGIN (* OpenLib *)
- IF base = NIL THEN
- base :=
- SYS.VAL
- ( IconBasePtr,
- E.base.OpenLibrary (name, E.libraryMinimum) );
- IF base # NIL THEN SYS.SETCLEANUP (CloseLib)
- ELSIF mustOpen THEN HALT (100)
- END;
- END;
- END OpenLib;
-
-
- BEGIN
- base := NIL
- END Icon.
-