home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
dev
/
oberon-a-1.4ß.lha
/
Oberon-A
/
source
/
amiga
/
Layers.mod
< prev
next >
Wrap
Text File
|
1994-08-08
|
6KB
|
239 lines
(**************************************************************************
$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.