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 >
Text File  |  1994-05-25  |  5KB  |  113 lines

  1. |##########|
  2. |#MAGIC   #|CLABLMIL
  3. |#PROJECT #|""
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x--x----xx-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. DEFINITION MODULE GfxShape;
  11.  
  12. FROM GfxScreen IMPORT Screen;
  13.  
  14. EXCEPTION
  15.   NoShape   : "File isn't a shape";
  16.  
  17.  
  18. TYPE
  19. (*----------------------------------------------------------------------------*
  20.  * Shape  : Zugriff auf einen rechteckigen Bildausschnitt                     *
  21.  *----------------------------------------------------------------------------*)
  22.  
  23.    Shape     = HIDDEN;
  24.  
  25. (*----------------------------------------------------------------------------*
  26.  * AUFGABE     : Holt einen Bildschirmausschnitt                              *
  27.  * PARAMETER   : s     <= Zugriff auf den Screen                              *
  28.  *               shp   => Zugriff auf das Shape                               *
  29.  *               x1,y1 <= Obere linke Ecke                                    *
  30.  *               x2,y2 <= Untere rechte Ecke                                  *
  31.  * BEMERKUNGEN : Die Koordinaten werden evtl. getauscht                       *
  32.  *----------------------------------------------------------------------------*)
  33.  
  34. PROCEDURE GetShape(    s      : Screen;
  35.                    VAR shp    : Shape;
  36.                        x1,y1,
  37.                        x2,y2  : INTEGER);
  38.  
  39. (*----------------------------------------------------------------------------*
  40.  * AUFGABE     : Setzt ein Shape auf den Screen                               *
  41.  * PARAMETER   : s     <= Zugriff auf den Screen                              *
  42.  *               shp   <= Zugriff auf das Shape                               *
  43.  *               x,y   <= Obere linke Ecke                                    *
  44.  * BEMERKUNGEN : --                                                           *
  45.  *----------------------------------------------------------------------------*)
  46.  
  47. PROCEDURE PutShape(s    : Screen;
  48.                    shp  : Shape;
  49.                    x,y  : INTEGER);
  50.  
  51. (*----------------------------------------------------------------------------*
  52.  * AUFGABE     : Gibt den Speicher eines Shapes wieder frei                   *
  53.  * PARAMETER   : shp   <> Zugriff auf das Shape                               *
  54.  * BEMERKUNGEN : --                                                           *
  55.  *----------------------------------------------------------------------------*)
  56.  
  57. PROCEDURE FreeShape(VAR shp : Shape);
  58.  
  59.  
  60. (*----------------------------------------------------------------------------*
  61.  * AUFGABE     : Lädt ein Shape                                               *
  62.  * PARAMETER   : shp   => Zugriff auf das Shape                               *
  63.  *               name  <= Namen der Datei                                     *
  64.  *               path  <= Pfad der Datei                                      *
  65.  * BEMERKUNGEN : Die Speicherung erfolgt nicht in IFF                         *
  66.  *----------------------------------------------------------------------------*)
  67.  
  68. PROCEDURE LoadShape(VAR shp   : Shape;
  69.                     REF path  : STRING);
  70.  
  71. (*----------------------------------------------------------------------------*
  72.  * AUFGABE     : Speichert ein Shape ab                                       *
  73.  * PARAMETER   : shp   <= Zugriff auf das Shape                               *
  74.  *               name  <= Namen der Datei                                     *
  75.  *               path  <= Pfad der Datei                                      *
  76.  * BEMERKUNGEN : Die Speicherung erfolgt nicht in IFF                         *
  77.  *----------------------------------------------------------------------------*)
  78.  
  79. PROCEDURE SaveShape(    shp  : Shape;
  80.                     REF path : STRING);
  81.  
  82.  
  83. (*----------------------------------------------------------------------------*
  84.  * AUFGABE     : Erzeugt die Kopie eines Shapes, mit neuer Größe              *
  85.  * PARAMETER   : sshp  <= Quellshape                                          *
  86.  *               dshp  => Zielshape                                           *
  87.  *               newx  <= neue Breite                                         *
  88.  *               newy  <= neue Höhe                                           *
  89.  * BEMERKUNGEN : --                                                           *
  90.  *----------------------------------------------------------------------------*)
  91.  
  92. PROCEDURE SizeShape(    sshp : Shape;
  93.                     VAR dshp : Shape;
  94.                         newx,
  95.                         newy : INTEGER);
  96.  
  97. (*----------------------------------------------------------------------------*
  98.  * AUFGABE     : wartet, bis der Kathodenstrahl den unteren Rand der Screen   *
  99.  *               erreichnet hat                                               *
  100.  * PARAMETER   : s     <= Screen, auf die gewartet werden soll                *
  101.  * BEMERKUNGEN : sollte aufgerufen werden, bevor ein Shape gesetzt wird,      *
  102.  *               damit kein Flackern auftritt                                 *
  103.  *----------------------------------------------------------------------------*)
  104.  
  105. PROCEDURE Sync(s : Screen);
  106.  
  107.  
  108. GROUP
  109.   All  = Screen,Shape,GetShape,PutShape,FreeShape,LoadShape,SaveShape,
  110.          Sync,SizeShape;
  111.  
  112. END GfxShape.
  113.