home *** CD-ROM | disk | FTP | other *** search
- (**************************************************************************
-
- $RCSfile: Layers.mod $
- Description: Interface to layers.library
-
- Created by: fjc (Frank Copeland)
- $Revision: 3.8 $
- $Author: fjc $
- $Date: 1995/06/04 23:13:14 $
-
- $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-1995, Frank Copeland.
- This file is part of the Oberon-A Interface.
- See Oberon-A.doc for conditions of use and distribution.
-
- ***************************************************************************)
-
- <* STANDARD- *>
-
- MODULE [2] Layers;
-
- IMPORT
- SYS := SYSTEM, Kernel, u := Utility, e := Exec, gfx := Graphics,
- s := Sets;
-
-
- (*-- Library Base variable --------------------------------------------*)
-
- CONST
-
- layersName * = "layers.library";
-
- VAR
-
- base * : e.LibraryPtr;
-
-
- (*-- Library Functions ------------------------------------------------*)
-
- TYPE
- LONGBOOL * = e.LONGBOOL;
-
- CONST
- LTRUE * = e.LTRUE;
- LFALSE * = e.LFALSE;
-
-
- PROCEDURE InitLayers* [base,-30] (* ** OBSOLETE ** *)
- ( li [8] : gfx.LayerInfoPtr );
- PROCEDURE CreateUpfrontLayer* [base,-36]
- ( li [8] : gfx.LayerInfoPtr;
- bm [9] : gfx.BitMapPtr;
- x0 [0] : LONGINT;
- y0 [1] : LONGINT;
- x1 [2] : LONGINT;
- y1 [3] : LONGINT;
- flags [4] : s.SET16;
- bm2 [10] : gfx.BitMapPtr )
- : gfx.LayerPtr;
- PROCEDURE CreateBehindLayer* [base,-42]
- ( li [8] : gfx.LayerInfoPtr;
- bm [9] : gfx.BitMapPtr;
- x0 [0] : LONGINT;
- y0 [1] : LONGINT;
- x1 [2] : LONGINT;
- y1 [3] : LONGINT;
- flags [4] : s.SET16;
- bm2 [10] : gfx.BitMapPtr )
- : gfx.LayerPtr;
- PROCEDURE UpfrontLayer* [base,-48]
- ( layer [9] : gfx.LayerPtr )
- : BOOLEAN;
- PROCEDURE BehindLayer* [base,-54]
- ( layer [9] : gfx.LayerPtr )
- : BOOLEAN;
- PROCEDURE MoveLayer* [base,-60]
- ( layer [9] : gfx.LayerPtr;
- dx [0] : LONGINT;
- dy [1] : LONGINT )
- : BOOLEAN;
- PROCEDURE SizeLayer* [base,-66]
- ( layer [9] : gfx.LayerPtr;
- dx [0] : LONGINT;
- dy [1] : LONGINT )
- : BOOLEAN;
- PROCEDURE ScrollLayer* [base,-72]
- ( layer [9] : gfx.LayerPtr;
- dx [0] : LONGINT;
- dy [1] : LONGINT );
- PROCEDURE BeginUpdate* [base,-78]
- ( l [8] : gfx.LayerPtr )
- : BOOLEAN;
- PROCEDURE EndUpdate* [base,-84]
- ( layer [8] : gfx.LayerPtr;
- flag [0] : LONGBOOL );
- PROCEDURE DeleteLayer* [base,-90]
- ( layer [9] : gfx.LayerPtr )
- : BOOLEAN;
- PROCEDURE LockLayer* [base,-96]
- ( layer [9] : gfx.LayerPtr );
- PROCEDURE UnlockLayer* [base,-102]
- ( layer [8] : gfx.LayerPtr );
- PROCEDURE LockLayers* [base,-108]
- ( li [8] : gfx.LayerInfoPtr );
- PROCEDURE UnlockLayers* [base,-114]
- ( li [8] : gfx.LayerInfoPtr );
- PROCEDURE LockLayerInfo* [base,-120]
- ( li [8] : gfx.LayerInfoPtr );
- PROCEDURE SwapBitsRastPortClipRect* [base,-126]
- ( rp [8] : gfx.RastPortPtr;
- VAR cr [9] : gfx.ClipRect );
- PROCEDURE WhichLayer* [base,-132]
- ( li [8] : gfx.LayerInfoPtr;
- x [0] : LONGINT;
- y [1] : LONGINT )
- : gfx.LayerPtr;
- PROCEDURE UnlockLayerInfo* [base,-138]
- ( VAR li [8] : gfx.LayerInfo );
- PROCEDURE NewLayerInfo* [base,-144] ()
- : gfx.LayerInfoPtr;
- PROCEDURE DisposeLayerInfo* [base,-150]
- ( li [8] : gfx.LayerInfoPtr );
- PROCEDURE FattenLayerInfo* [base,-156] (* ** OBSOLETE ** *)
- ( li [8] : gfx.LayerInfoPtr );
- PROCEDURE ThinLayerInfo* [base,-162] (* ** OBSOLETE ** *)
- ( li [8] : gfx.LayerInfoPtr );
- PROCEDURE MoveLayerInFrontOf* [base,-168]
- ( layertomove [8] : gfx.LayerPtr;
- VAR otherlayer [9] : gfx.LayerPtr )
- : BOOLEAN;
- PROCEDURE InstallClipRegion* [base,-174]
- ( layer [8] : gfx.LayerPtr;
- region [9] : gfx.RegionPtr )
- : gfx.RegionPtr;
- PROCEDURE MoveSizeLayer* [base,-180]
- ( layer [8] : gfx.LayerPtr;
- dx [0] : LONGINT;
- dy [1] : LONGINT;
- dw [2] : LONGINT;
- dh [3] : LONGINT )
- : BOOLEAN;
- PROCEDURE CreateUpfrontHookLayer* [base,-186]
- ( li [8] : gfx.LayerInfoPtr;
- bm [9] : gfx.BitMapPtr;
- x0 [0] : LONGINT;
- y0 [1] : LONGINT;
- x1 [2] : LONGINT;
- y1 [3] : LONGINT;
- flags [4] : s.SET16;
- hook [11] : u.HookBasePtr;
- bm2 [10] : gfx.BitMapPtr )
- : gfx.LayerPtr;
- PROCEDURE CreateBehindHookLayer* [base,-192]
- ( li [8] : gfx.LayerInfoPtr;
- bm [9] : gfx.BitMapPtr;
- x0 [0] : LONGINT;
- y0 [1] : LONGINT;
- x1 [2] : LONGINT;
- y1 [3] : LONGINT;
- flags [4] : s.SET16;
- hook [11] : u.HookBasePtr;
- bm2 [10] : gfx.BitMapPtr )
- : gfx.LayerPtr;
- PROCEDURE InstallLayerHook* [base,-198]
- ( layer [8] : gfx.LayerPtr;
- hook [9] : u.HookBasePtr )
- : u.HookPtr;
-
- (*--- functions in V39 or higher (Release 3) ---*)
-
- PROCEDURE InstallLayerInfoHook* [base,-204]
- ( li [8] : gfx.LayerInfoPtr;
- hook [9] : u.HookBasePtr )
- : u.HookPtr;
- PROCEDURE SortLayerCR* [base,-210]
- ( layer [8] : gfx.LayerPtr;
- dx [0] : LONGINT;
- dy [1] : LONGINT );
- PROCEDURE DoHookClipRects* [base,-216]
- ( hook [8] : u.HookBasePtr;
- rport [9] : gfx.RastPortPtr;
- rect [10] : gfx.RectanglePtr );
-
- (*-- Library Base variable --------------------------------------------*)
-
- <*$LongVars-*>
-
- PROCEDURE* [0] Close (VAR rc : LONGINT);
-
- BEGIN (* Close *)
- IF base # NIL THEN e.CloseLibrary (base) END
- END Close;
-
- BEGIN (* Layers *)
- base := e.OpenLibrary (layersName, e.libraryMinimum);
- IF base = NIL THEN HALT (100) END;
- Kernel.SetCleanup (Close)
- END Layers.
-