home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / GfxScreen.def < prev    next >
Text File  |  1994-05-25  |  11KB  |  217 lines

  1. |##########|
  2. |#MAGIC   #|CLABLMGF
  3. |#PROJECT #|""
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x--x----xx-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. DEFINITION MODULE GfxScreen;
  11.  
  12. (* 16.08.90 UlSi *)
  13.  
  14. TYPE
  15.  
  16. (*----------------------------------------------------------------------------*
  17.  * Screen : Zugriff auf einen Intuition-Screen.                               *
  18.  *                                                                            *
  19.  * Eine Screen ist ein virtueller Bildschirm, der unabhängig von anderen      *
  20.  * Screens bearbeitet werden kann.                                            *
  21.  *----------------------------------------------------------------------------*)
  22.  
  23.   Screen    = DEFERRED POINTER BasicGfx.ScreenPtr;
  24.  
  25. (*----------------------------------------------------------------------------*
  26.  * ColorRGB : Farbkomponenten                                                 *
  27.  * Color    : Feld, das die Farbkomponenten einer Farbe enthält               *
  28.  * Palette  : Zusammenfassung mehrerer Farben                                 *
  29.  *----------------------------------------------------------------------------*)
  30.  
  31.   ColorRGB  = (red,green,blue);
  32.   Color     = ARRAY ColorRGB OF SHORTINT;
  33.   Palette   = ARRAY OF Color;
  34.  
  35. CONST
  36.   Black     = Color:( 0, 0, 0);
  37.   White     = Color:(15,15,15);
  38.   Red       = Color:(15, 0, 0);
  39.   Green     = Color:( 0,15, 0);
  40.   Blue      = Color:( 0, 0,15);
  41.   Cyan      = Color:( 0,12,12);
  42.   Purple    = Color:(12, 0,12);
  43.   Yellow    = Color:(15,15, 0);
  44.  
  45. (*---------------------------------------------------------------------------*
  46.  * AUFGABE     : Öffnet eine Screen mit den agegebenen Parametern            *
  47.  * PARAMETER   : s     => Zugriff auf den Screen                             *
  48.  *               depth <= Anzahl der Bitplanes der Screen, die Zahl der      *
  49.  *                        möglichen Farben der Screen ist 2^depth            *
  50.  *               hires <= gibt an, daß die Screen hochauflösend ist          *
  51.  *               lace  <= schaltet Interlace ein                             *
  52.  * BEMERKUNGEN : Kann die Screen nicht geöffnet werden, wird ein Laufzeit-   *
  53.  *               fehler erzeugt.                                             *
  54.  *---------------------------------------------------------------------------*)
  55.  
  56. PROCEDURE OpenScreen(VAR s : Screen;depth : INTEGER;hires,lace : BOOLEAN);
  57.  
  58. (*---------------------------------------------------------------------------*
  59.  * AUFGABE     : Liefert die Höhe eines Screens                              *
  60.  * PARAMETER   : s     => Zugriff auf den Screen                             *
  61.  *                     <= Die Höhe des Screens                               *
  62.  * BEMERKUNGEN : --                                                          *
  63.  *---------------------------------------------------------------------------*)
  64.  
  65. PROCEDURE ScreenHeight(s : Screen):INTEGER;
  66.  
  67. (*---------------------------------------------------------------------------*
  68.  * AUFGABE     : Schließt eine mit OpenScreen oder LoadScreen geladene       *
  69.  *               Screen wieder.                                              *
  70.  * PARAMETER   : s     <> Zugriff auf den Screen                             *
  71.  * BEMERKUNGEN : Auf die Screen darf danach nicht mehr zugegriffen werden    *
  72.  *---------------------------------------------------------------------------*)
  73.  
  74. PROCEDURE CloseScreen(VAR s : Screen);
  75.  
  76.  
  77. (*---------------------------------------------------------------------------*
  78.  * AUFGABE     : Bringt die angegebene Screen in den Bildvordergrund         *
  79.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  80.  * BEMERKUNGEN : --                                                          *
  81.  *---------------------------------------------------------------------------*)
  82.  
  83. PROCEDURE ScreenToFront(s : Screen);
  84.  
  85. (*---------------------------------------------------------------------------*
  86.  * AUFGABE     : Bringt die angegeben Screen in den Hintergrund              *
  87.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  88.  * BEMERKUNGEN : --                                                          *
  89.  *---------------------------------------------------------------------------*)
  90.  
  91. PROCEDURE ScreenToBack(s : Screen);
  92.  
  93. (*---------------------------------------------------------------------------*
  94.  * AUFGABE     : Setzt die Angegebene Palette für die Screen                 *
  95.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  96.  *               color <= Palette, die verwendet werden soll                 *
  97.  * BEMERKUNGEN : Es werden soviele Farben gesetzt, wie in der Palette        *
  98.  *               enthalten ist                                               *
  99.  *---------------------------------------------------------------------------*)
  100.  
  101.  
  102. GROUP
  103.   ScreenGrp   = Screen,OpenScreen,ScreenHeight,CloseScreen,
  104.                 ScreenToFront,ScreenToBack;
  105.  
  106.  
  107.  
  108. PROCEDURE SetPalette(s : Screen;VAR color : Palette);
  109.  
  110. (*---------------------------------------------------------------------------*
  111.  * AUFGABE     : Setzt einen Teil der Palette einer Screen neu               *
  112.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  113.  *               reg   <= Farbe, ab der geändert werden soll                 *
  114.  *               color <= Palette, die verwendet wird                        *
  115.  * BEMERKUNGEN : Es werden soviele Farben gesetzt, wie in der Palette        *
  116.  *               vorhanden sind.                                             *
  117.  *---------------------------------------------------------------------------*)
  118.  
  119. PROCEDURE SetPalettePart(s : Screen;reg : INTEGER;VAR color : Palette);
  120.  
  121. (*---------------------------------------------------------------------------*
  122.  * AUFGABE     : Setzt eine Farbe der Screen neu                             *
  123.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  124.  *               reg   <= Farbe, die geändert wird                           *
  125.  *               color <= Farbkombination, die eingetragen wird              *
  126.  * BEMERKUNGEN : --                                                          *
  127.  *---------------------------------------------------------------------------*)
  128.  
  129. PROCEDURE SetColor(s : Screen;reg : INTEGER;color : Color);
  130.  
  131. (*---------------------------------------------------------------------------*
  132.  * AUFGABE     : Setzt eine Farbe der Screen in Komponenten neu              *
  133.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  134.  *               reg   <= Farbe, die geändert wird                           *
  135.  *               red   <= Rotanteil,                                         *
  136.  *               green <= Grünanteil,                                        *
  137.  *               blue  <= Blauanteil der neuen Farbkombination               *
  138.  * BEMERKUNGEN : --                                                          *
  139.  *---------------------------------------------------------------------------*)
  140.  
  141. PROCEDURE SetRGB(s : Screen;reg,red,green,blue : INTEGER);
  142.  
  143. (*---------------------------------------------------------------------------*
  144.  * AUFGABE     : Holt die Farben einer Screen                                *
  145.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  146.  *               color => Palette, in die die Farbwerte eingetragen werden   *
  147.  * BEMERKUNGEN : Es werden nur soviele Farben geholt, wie color Elemente     *
  148.  *               enthält                                                     *
  149.  *---------------------------------------------------------------------------*)
  150.  
  151. PROCEDURE GetPalette(s : Screen;VAR color : Palette);
  152.  
  153. (*---------------------------------------------------------------------------*
  154.  * AUFGABE     : Holt einen Ausschnitt der Screenfarben                      *
  155.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  156.  *               reg   <= Farbe, ab der geholt werden soll                   *
  157.  *               color => Palette, in die die Werte eingetragen werden       *
  158.  * BEMERKUNGEN : Es werden nur soviele Farben geholt, wie color Elemente     *
  159.  *               enthält                                                     *
  160.  *---------------------------------------------------------------------------*)
  161.  
  162. PROCEDURE GetPalettePart(s : Screen;reg : INTEGER;VAR color : Palette);
  163.  
  164. (*---------------------------------------------------------------------------*
  165.  * AUFGABE     : Holt eine Farbe einer Screen                                *
  166.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  167.  *               reg   <= Farbe, deren Werte geholt werden sollen            *
  168.  *                     => Farbwerte                                          *
  169.  * BEMERKUNGEN : --                                                          *
  170.  *---------------------------------------------------------------------------*)
  171.  
  172. PROCEDURE GetColor(s : Screen;reg : INTEGER):Color;
  173.  
  174. (*---------------------------------------------------------------------------*
  175.  * AUFGABE     : Holt eine Komponente einer Farbe der Screen                 *
  176.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  177.  *               reg   <= Farbnummer                                         *
  178.  *               color <= Farbkomponente                                     *
  179.  *                     => Intensität der Komponente                          *
  180.  * BEMERKUNGEN : --                                                          *
  181.  *---------------------------------------------------------------------------*)
  182.  
  183. PROCEDURE GetRGB(s : Screen;reg : INTEGER;color : ColorRGB):INTEGER;
  184.  
  185. (*---------------------------------------------------------------------------*
  186.  * AUFGABE     : Blendet einen Bildschirm von schwarz aus ein                *
  187.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  188.  *               color <= Palette, die die Screen nachher haben soll         *
  189.  *               time  <= Gesamtdauer der Einblendung                        *
  190.  * BEMERKUNGEN : Die Zeit wird in 50tel Sekunden angegeben                   *
  191.  *---------------------------------------------------------------------------*)
  192.  
  193.  
  194. GROUP
  195.   ColorGrp =  ColorRGB,Color,Palette,Black,White,Red,Green,Blue,Cyan,Purple,
  196.               Yellow,SetPalette,SetPalettePart,SetColor,SetRGB,GetPalette,
  197.               GetPalettePart,GetColor,GetRGB;
  198.  
  199.  
  200. PROCEDURE FadeIn(s : Screen;VAR color : Palette;time : INTEGER);
  201.  
  202. (*---------------------------------------------------------------------------*
  203.  * AUFGABE     : Blendet eine Screen langsam nach schwarz aus                *
  204.  * PARAMETER   : s     <= Zugriff auf den Screen                             *
  205.  *               time  <= Zeit, die der Vorgang dauern soll.                 *
  206.  * BEMERKUNGEN : Die Zeit wird in 50tel Sekunden angegeben                   *
  207.  *---------------------------------------------------------------------------*)
  208.  
  209. PROCEDURE FadeOut(s : Screen;time : INTEGER);
  210.  
  211.  
  212. GROUP
  213.   All  = ScreenGrp,ColorGrp,FadeIn,FadeOut;
  214.  
  215. END GfxScreen.
  216.  
  217.