home *** CD-ROM | disk | FTP | other *** search
- |##########|
- |#MAGIC #|CLABLMGF
- |#PROJECT #|""
- |#PATHS #|"StdProject"
- |#FLAGS #|xx---x--x----xx-----------------
- |#USERSW #|--------------------------------
- |#USERMASK#|--------------------------------
- |#SWITCHES#|xx---xxxxx------
- |##########|
- DEFINITION MODULE GfxScreen;
-
- (* 16.08.90 UlSi *)
-
- TYPE
-
- (*----------------------------------------------------------------------------*
- * Screen : Zugriff auf einen Intuition-Screen. *
- * *
- * Eine Screen ist ein virtueller Bildschirm, der unabhängig von anderen *
- * Screens bearbeitet werden kann. *
- *----------------------------------------------------------------------------*)
-
- Screen = DEFERRED POINTER BasicGfx.ScreenPtr;
-
- (*----------------------------------------------------------------------------*
- * ColorRGB : Farbkomponenten *
- * Color : Feld, das die Farbkomponenten einer Farbe enthält *
- * Palette : Zusammenfassung mehrerer Farben *
- *----------------------------------------------------------------------------*)
-
- ColorRGB = (red,green,blue);
- Color = ARRAY ColorRGB OF SHORTINT;
- Palette = ARRAY OF Color;
-
- CONST
- Black = Color:( 0, 0, 0);
- White = Color:(15,15,15);
- Red = Color:(15, 0, 0);
- Green = Color:( 0,15, 0);
- Blue = Color:( 0, 0,15);
- Cyan = Color:( 0,12,12);
- Purple = Color:(12, 0,12);
- Yellow = Color:(15,15, 0);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Öffnet eine Screen mit den agegebenen Parametern *
- * PARAMETER : s => Zugriff auf den Screen *
- * depth <= Anzahl der Bitplanes der Screen, die Zahl der *
- * möglichen Farben der Screen ist 2^depth *
- * hires <= gibt an, daß die Screen hochauflösend ist *
- * lace <= schaltet Interlace ein *
- * BEMERKUNGEN : Kann die Screen nicht geöffnet werden, wird ein Laufzeit- *
- * fehler erzeugt. *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE OpenScreen(VAR s : Screen;depth : INTEGER;hires,lace : BOOLEAN);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Liefert die Höhe eines Screens *
- * PARAMETER : s => Zugriff auf den Screen *
- * <= Die Höhe des Screens *
- * BEMERKUNGEN : -- *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE ScreenHeight(s : Screen):INTEGER;
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Schließt eine mit OpenScreen oder LoadScreen geladene *
- * Screen wieder. *
- * PARAMETER : s <> Zugriff auf den Screen *
- * BEMERKUNGEN : Auf die Screen darf danach nicht mehr zugegriffen werden *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE CloseScreen(VAR s : Screen);
-
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Bringt die angegebene Screen in den Bildvordergrund *
- * PARAMETER : s <= Zugriff auf den Screen *
- * BEMERKUNGEN : -- *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE ScreenToFront(s : Screen);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Bringt die angegeben Screen in den Hintergrund *
- * PARAMETER : s <= Zugriff auf den Screen *
- * BEMERKUNGEN : -- *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE ScreenToBack(s : Screen);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Setzt die Angegebene Palette für die Screen *
- * PARAMETER : s <= Zugriff auf den Screen *
- * color <= Palette, die verwendet werden soll *
- * BEMERKUNGEN : Es werden soviele Farben gesetzt, wie in der Palette *
- * enthalten ist *
- *---------------------------------------------------------------------------*)
-
-
- GROUP
- ScreenGrp = Screen,OpenScreen,ScreenHeight,CloseScreen,
- ScreenToFront,ScreenToBack;
-
-
-
- PROCEDURE SetPalette(s : Screen;VAR color : Palette);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Setzt einen Teil der Palette einer Screen neu *
- * PARAMETER : s <= Zugriff auf den Screen *
- * reg <= Farbe, ab der geändert werden soll *
- * color <= Palette, die verwendet wird *
- * BEMERKUNGEN : Es werden soviele Farben gesetzt, wie in der Palette *
- * vorhanden sind. *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE SetPalettePart(s : Screen;reg : INTEGER;VAR color : Palette);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Setzt eine Farbe der Screen neu *
- * PARAMETER : s <= Zugriff auf den Screen *
- * reg <= Farbe, die geändert wird *
- * color <= Farbkombination, die eingetragen wird *
- * BEMERKUNGEN : -- *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE SetColor(s : Screen;reg : INTEGER;color : Color);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Setzt eine Farbe der Screen in Komponenten neu *
- * PARAMETER : s <= Zugriff auf den Screen *
- * reg <= Farbe, die geändert wird *
- * red <= Rotanteil, *
- * green <= Grünanteil, *
- * blue <= Blauanteil der neuen Farbkombination *
- * BEMERKUNGEN : -- *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE SetRGB(s : Screen;reg,red,green,blue : INTEGER);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Holt die Farben einer Screen *
- * PARAMETER : s <= Zugriff auf den Screen *
- * color => Palette, in die die Farbwerte eingetragen werden *
- * BEMERKUNGEN : Es werden nur soviele Farben geholt, wie color Elemente *
- * enthält *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE GetPalette(s : Screen;VAR color : Palette);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Holt einen Ausschnitt der Screenfarben *
- * PARAMETER : s <= Zugriff auf den Screen *
- * reg <= Farbe, ab der geholt werden soll *
- * color => Palette, in die die Werte eingetragen werden *
- * BEMERKUNGEN : Es werden nur soviele Farben geholt, wie color Elemente *
- * enthält *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE GetPalettePart(s : Screen;reg : INTEGER;VAR color : Palette);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Holt eine Farbe einer Screen *
- * PARAMETER : s <= Zugriff auf den Screen *
- * reg <= Farbe, deren Werte geholt werden sollen *
- * => Farbwerte *
- * BEMERKUNGEN : -- *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE GetColor(s : Screen;reg : INTEGER):Color;
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Holt eine Komponente einer Farbe der Screen *
- * PARAMETER : s <= Zugriff auf den Screen *
- * reg <= Farbnummer *
- * color <= Farbkomponente *
- * => Intensität der Komponente *
- * BEMERKUNGEN : -- *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE GetRGB(s : Screen;reg : INTEGER;color : ColorRGB):INTEGER;
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Blendet einen Bildschirm von schwarz aus ein *
- * PARAMETER : s <= Zugriff auf den Screen *
- * color <= Palette, die die Screen nachher haben soll *
- * time <= Gesamtdauer der Einblendung *
- * BEMERKUNGEN : Die Zeit wird in 50tel Sekunden angegeben *
- *---------------------------------------------------------------------------*)
-
-
- GROUP
- ColorGrp = ColorRGB,Color,Palette,Black,White,Red,Green,Blue,Cyan,Purple,
- Yellow,SetPalette,SetPalettePart,SetColor,SetRGB,GetPalette,
- GetPalettePart,GetColor,GetRGB;
-
-
- PROCEDURE FadeIn(s : Screen;VAR color : Palette;time : INTEGER);
-
- (*---------------------------------------------------------------------------*
- * AUFGABE : Blendet eine Screen langsam nach schwarz aus *
- * PARAMETER : s <= Zugriff auf den Screen *
- * time <= Zeit, die der Vorgang dauern soll. *
- * BEMERKUNGEN : Die Zeit wird in 50tel Sekunden angegeben *
- *---------------------------------------------------------------------------*)
-
- PROCEDURE FadeOut(s : Screen;time : INTEGER);
-
-
- GROUP
- All = ScreenGrp,ColorGrp,FadeIn,FadeOut;
-
- END GfxScreen.
-
-