home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Global Amiga Experience
/
globalamigaexperience.iso
/
compressed
/
development
/
clusterdemo.dms
/
clusterdemo.adf
/
Modules.lha
/
modules
/
txt
/
GfxShape.def
< prev
next >
Wrap
Text File
|
1994-05-25
|
5KB
|
113 lines
|##########|
|#MAGIC #|CLABLMIL
|#PROJECT #|""
|#PATHS #|"StdProject"
|#FLAGS #|xx---x--x----xx-----------------
|#USERSW #|--------------------------------
|#USERMASK#|--------------------------------
|#SWITCHES#|xx---xxxxx------
|##########|
DEFINITION MODULE GfxShape;
FROM GfxScreen IMPORT Screen;
EXCEPTION
NoShape : "File isn't a shape";
TYPE
(*----------------------------------------------------------------------------*
* Shape : Zugriff auf einen rechteckigen Bildausschnitt *
*----------------------------------------------------------------------------*)
Shape = HIDDEN;
(*----------------------------------------------------------------------------*
* AUFGABE : Holt einen Bildschirmausschnitt *
* PARAMETER : s <= Zugriff auf den Screen *
* shp => Zugriff auf das Shape *
* x1,y1 <= Obere linke Ecke *
* x2,y2 <= Untere rechte Ecke *
* BEMERKUNGEN : Die Koordinaten werden evtl. getauscht *
*----------------------------------------------------------------------------*)
PROCEDURE GetShape( s : Screen;
VAR shp : Shape;
x1,y1,
x2,y2 : INTEGER);
(*----------------------------------------------------------------------------*
* AUFGABE : Setzt ein Shape auf den Screen *
* PARAMETER : s <= Zugriff auf den Screen *
* shp <= Zugriff auf das Shape *
* x,y <= Obere linke Ecke *
* BEMERKUNGEN : -- *
*----------------------------------------------------------------------------*)
PROCEDURE PutShape(s : Screen;
shp : Shape;
x,y : INTEGER);
(*----------------------------------------------------------------------------*
* AUFGABE : Gibt den Speicher eines Shapes wieder frei *
* PARAMETER : shp <> Zugriff auf das Shape *
* BEMERKUNGEN : -- *
*----------------------------------------------------------------------------*)
PROCEDURE FreeShape(VAR shp : Shape);
(*----------------------------------------------------------------------------*
* AUFGABE : Lädt ein Shape *
* PARAMETER : shp => Zugriff auf das Shape *
* name <= Namen der Datei *
* path <= Pfad der Datei *
* BEMERKUNGEN : Die Speicherung erfolgt nicht in IFF *
*----------------------------------------------------------------------------*)
PROCEDURE LoadShape(VAR shp : Shape;
REF path : STRING);
(*----------------------------------------------------------------------------*
* AUFGABE : Speichert ein Shape ab *
* PARAMETER : shp <= Zugriff auf das Shape *
* name <= Namen der Datei *
* path <= Pfad der Datei *
* BEMERKUNGEN : Die Speicherung erfolgt nicht in IFF *
*----------------------------------------------------------------------------*)
PROCEDURE SaveShape( shp : Shape;
REF path : STRING);
(*----------------------------------------------------------------------------*
* AUFGABE : Erzeugt die Kopie eines Shapes, mit neuer Größe *
* PARAMETER : sshp <= Quellshape *
* dshp => Zielshape *
* newx <= neue Breite *
* newy <= neue Höhe *
* BEMERKUNGEN : -- *
*----------------------------------------------------------------------------*)
PROCEDURE SizeShape( sshp : Shape;
VAR dshp : Shape;
newx,
newy : INTEGER);
(*----------------------------------------------------------------------------*
* AUFGABE : wartet, bis der Kathodenstrahl den unteren Rand der Screen *
* erreichnet hat *
* PARAMETER : s <= Screen, auf die gewartet werden soll *
* BEMERKUNGEN : sollte aufgerufen werden, bevor ein Shape gesetzt wird, *
* damit kein Flackern auftritt *
*----------------------------------------------------------------------------*)
PROCEDURE Sync(s : Screen);
GROUP
All = Screen,Shape,GetShape,PutShape,FreeShape,LoadShape,SaveShape,
Sync,SizeShape;
END GfxShape.