home *** CD-ROM | disk | FTP | other *** search
- (**************************************************************************
-
- $RCSfile: Layers.mod $
- Description: Interface to layers.library
-
- Created by: fjc (Frank Copeland)
- $Revision: 3.2 $
- $Author: fjc $
- $Date: 1994/08/08 01:08:52 $
-
- $VER: layers_protos.h 38.7 (26.3.92)
- 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 Layers;
-
- (*
- ** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
- ** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
- ** $V- OvflChk $Z- ZeroVars
- *)
-
- IMPORT U := Utility, E := Exec, G := Graphics, SYS := SYSTEM;
-
-
- (*-- Library Base variable --------------------------------------------*)
-
- TYPE
-
- LayersBasePtr * = CPOINTER TO LayersBase;
- LayersBase * = RECORD (E.Library) END;
-
- CONST
-
- name * = "layers.library";
-
- VAR
-
- base * : LayersBasePtr;
-
-
- (*-- Library Functions ------------------------------------------------*)
-
-
- LIBCALL (base : LayersBasePtr) InitLayers* (* ** OBSOLETE ** *)
- ( li [8] : G.LayerInfoPtr );
- -30;
- LIBCALL (base : LayersBasePtr) CreateUpfrontLayer*
- ( li [8] : G.LayerInfoPtr;
- bm [9] : G.BitMapPtr;
- x0 [0] : LONGINT;
- y0 [1] : LONGINT;
- x1 [2] : LONGINT;
- y1 [3] : LONGINT;
- flags [4] : E.WSET;
- bm2 [10] : G.BitMapPtr )
- : G.LayerPtr;
- -36;
- LIBCALL (base : LayersBasePtr) CreateBehindLayer*
- ( li [8] : G.LayerInfoPtr;
- bm [9] : G.BitMapPtr;
- x0 [0] : LONGINT;
- y0 [1] : LONGINT;
- x1 [2] : LONGINT;
- y1 [3] : LONGINT;
- flags [4] : E.WSET;
- bm2 [10] : G.BitMapPtr )
- : G.LayerPtr;
- -42;
- LIBCALL (base : LayersBasePtr) UpfrontLayer*
- ( layer [9] : G.LayerPtr )
- : BOOLEAN;
- -48;
- LIBCALL (base : LayersBasePtr) BehindLayer*
- ( layer [9] : G.LayerPtr )
- : BOOLEAN;
- -54;
- LIBCALL (base : LayersBasePtr) MoveLayer*
- ( layer [9] : G.LayerPtr;
- dx [0] : LONGINT;
- dy [1] : LONGINT )
- : BOOLEAN;
- -60;
- LIBCALL (base : LayersBasePtr) SizeLayer*
- ( layer [9] : G.LayerPtr;
- dx [0] : LONGINT;
- dy [1] : LONGINT )
- : BOOLEAN;
- -66;
- LIBCALL (base : LayersBasePtr) ScrollLayer*
- ( layer [9] : G.LayerPtr;
- dx [0] : LONGINT;
- dy [1] : LONGINT );
- -72;
- LIBCALL (base : LayersBasePtr) BeginUpdate*
- ( l [8] : G.LayerPtr )
- : BOOLEAN;
- -78;
- LIBCALL (base : LayersBasePtr) EndUpdate*
- ( layer [8] : G.LayerPtr;
- flag [0] : E.LONGBOOL );
- -84;
- LIBCALL (base : LayersBasePtr) DeleteLayer*
- ( layer [9] : G.LayerPtr )
- : BOOLEAN;
- -90;
- LIBCALL (base : LayersBasePtr) LockLayer*
- ( layer [9] : G.LayerPtr );
- -96;
- LIBCALL (base : LayersBasePtr) UnlockLayer*
- ( layer [8] : G.LayerPtr );
- -102;
- LIBCALL (base : LayersBasePtr) LockLayers*
- ( li [8] : G.LayerInfoPtr );
- -108;
- LIBCALL (base : LayersBasePtr) UnlockLayers*
- ( li [8] : G.LayerInfoPtr );
- -114;
- LIBCALL (base : LayersBasePtr) LockLayerInfo*
- ( li [8] : G.LayerInfoPtr );
- -120;
- LIBCALL (base : LayersBasePtr) SwapBitsRastPortClipRect*
- ( rp [8] : G.RastPortPtr;
- VAR cr [9] : G.ClipRect );
- -126;
- LIBCALL (base : LayersBasePtr) WhichLayer*
- ( li [8] : G.LayerInfoPtr;
- x [0] : LONGINT;
- y [1] : LONGINT )
- : G.LayerPtr;
- -132;
- LIBCALL (base : LayersBasePtr) UnlockLayerInfo*
- ( VAR li [8] : G.LayerInfo );
- -138;
- LIBCALL (base : LayersBasePtr) NewLayerInfo* ()
- : G.LayerInfoPtr;
- -144;
- LIBCALL (base : LayersBasePtr) DisposeLayerInfo*
- ( li [8] : G.LayerInfoPtr );
- -150;
- LIBCALL (base : LayersBasePtr) FattenLayerInfo* (* ** OBSOLETE ** *)
- ( li [8] : G.LayerInfoPtr );
- -156;
- LIBCALL (base : LayersBasePtr) ThinLayerInfo* (* ** OBSOLETE ** *)
- ( li [8] : G.LayerInfoPtr );
- -162;
- LIBCALL (base : LayersBasePtr) MoveLayerInFrontOf*
- ( layertomove [8] : G.LayerPtr;
- VAR otherlayer [9] : G.LayerPtr )
- : BOOLEAN;
- -168;
- LIBCALL (base : LayersBasePtr) InstallClipRegion*
- ( layer [8] : G.LayerPtr;
- region [9] : G.RegionPtr )
- : G.RegionPtr;
- -174;
- LIBCALL (base : LayersBasePtr) MoveSizeLayer*
- ( layer [8] : G.LayerPtr;
- dx [0] : LONGINT;
- dy [1] : LONGINT;
- dw [2] : LONGINT;
- dh [3] : LONGINT )
- : BOOLEAN;
- -180;
- LIBCALL (base : LayersBasePtr) CreateUpfrontHookLayer*
- ( li [8] : G.LayerInfoPtr;
- bm [9] : G.BitMapPtr;
- x0 [0] : LONGINT;
- y0 [1] : LONGINT;
- x1 [2] : LONGINT;
- y1 [3] : LONGINT;
- flags [4] : E.WSET;
- hook [11] : U.HookPtr;
- bm2 [10] : G.BitMapPtr )
- : G.LayerPtr;
- -186;
- LIBCALL (base : LayersBasePtr) CreateBehindHookLayer*
- ( li [8] : G.LayerInfoPtr;
- bm [9] : G.BitMapPtr;
- x0 [0] : LONGINT;
- y0 [1] : LONGINT;
- x1 [2] : LONGINT;
- y1 [3] : LONGINT;
- flags [4] : E.WSET;
- hook [11] : U.HookPtr;
- bm2 [10] : G.BitMapPtr )
- : G.LayerPtr;
- -192;
- LIBCALL (base : LayersBasePtr) InstallLayerHook*
- ( layer [8] : G.LayerPtr;
- hook [9] : U.HookPtr )
- : U.HookPtr;
- -198;
-
- (*--- functions in V39 or higher (Release 3) ---*)
-
- LIBCALL (base : LayersBasePtr) InstallLayerInfoHook *
- ( li [8] : G.LayerInfoPtr;
- hook [9] : U.HookPtr )
- : U.HookPtr;
- -204;
- LIBCALL (base : LayersBasePtr) SortLayerCR *
- ( layer [8] : G.LayerPtr;
- dx [0] : LONGINT;
- dy [1] : LONGINT );
- -210;
- LIBCALL (base : LayersBasePtr) DoHookClipRects *
- ( hook [8] : U.HookPtr;
- rport [9] : G.RastPortPtr;
- rect [10] : G.RectanglePtr );
- -216;
-
- (*-- Library Base variable --------------------------------------------*)
- (* $L- Address globals through A4 *)
-
-
- PROCEDURE* Close ();
-
- BEGIN (* Close *)
- IF base # NIL THEN E.base.CloseLibrary (base) END
- END Close;
-
- BEGIN (* Layers *)
- base :=
- SYS.VAL
- ( LayersBasePtr,
- E.base.OpenLibrary (name, E.libraryMinimum));
- IF base = NIL THEN HALT (100) END;
- SYS.SETCLEANUP (Close)
- END Layers.
-