UNIT GRAFIK;

(* ******************************************************************** *)
(* K L A S S E : CGrafik                                                *)
(* -------------------------------------------------------------------- *)
(* Version     : 1.0                                                    *)
(*                                                                      *)
(* Autor       : S. Spolwig, OSZ Handel I, 10997 Berlin                 *)
(*                                                                      *)
(* Dateiname   : grafik.pas                                             *)
(*                                                                      *)
(* Aufgabe     : Die Unit Grafik stellt einige Objekte fuer einen ASCII-*)
(*               Bildschirm zur Verfuegung.                             *)
(*                                                                      *)
(*               XPos und YPos sind der Bezugspunkt jeweils links (oben)*)
(*                                                                      *)
(* Compiler    : MSDOS/TURBO Pascal V. 7.0                              *)
(*                                                                      *)
(* Aenderung   : V.  0.91   23-FEB-98   falsche Groessen berichtigt     *)
(*                   0.92   13-MAR-98   Loeschen, FarbeSetzen,          *)
(*                                      Flaeche ist Oberklasse:         *)
(*                                      neue Init, Attribute Farbe,     *)
(*                                      Zeichenfarbe                    *)
(*                                      CPushButton,CFrame erbt CButton *)
(*                   1.0    24-MAY-98   Farben wechselten bei erneutem  *)
(*                                      Aufrufen; jetzt ok              *)
(* ******************************************************************** *)

INTERFACE
(* ========================== Export ================================== *)

USES BILDSCHIRM;

type
   CPosition = object
                 XPos,
                 YPos : integer;
                 constructor Init (eineXPos, eineYPos : integer);
               end;


   CLinie    = object (CPosition)
                 Laenge : integer;
                 Farbe  : TFarben;

                 constructor Init (eineXpos, eineYpos, eineLaenge: integer );
                 procedure Zeigen;                             virtual;
                 procedure FarbeSetzen (eineFarbe : TFarben ); virtual;
                 procedure Loeschen;                           virtual;
               end;


   CStrich   = object (CPosition)
                 Hoehe : integer;
                 Farbe : TFarben;

                 constructor Init (eineXpos, eineYpos, eineHoehe : integer);
                 procedure Zeigen;                              virtual;
                 procedure FarbeSetzen ( eineFarbe : TFarben ); virtual;
                 procedure Loeschen;                            virtual;
               end;


   CRechteck = object (CLinie)
                 Hoehe : integer;

                 constructor Init (eineXpos, eineYpos, eineLaenge, eineHoehe: integer);
                 procedure   Zeigen;   virtual;
                 procedure   Loeschen; virtual;
               end;


   CFlaeche  = object (CRechteck)
                 Zeichen      : char;    (* um ein Muster draufzusetzen *)
                 Zeichenfarbe : TFarben;

                 constructor Init (eineXPos, eineYPos, eineLaenge, eineHoehe : integer);
                 procedure   Zeigen;                                     virtual;
                 procedure   ZeichenSetzen (einZeichen : char);          virtual;
                 procedure   ZeichenFarbeSetzen ( eineFarbe : TFarben ); virtual;
                 procedure   Loeschen;                                   virtual;
               end;


   CButton   = object (CFlaeche)
                 constructor Init (eineXPos, eineYPos, eineLaenge, eineHoehe:integer);
                 procedure   Zeigen;   virtual;
                 procedure   Loeschen; virtual;
               end;


   CPushButton = object (CButton)
                   constructor Init (eineXPos, eineYPos, eineLaenge, eineHoehe : integer);
                   procedure   Zeigen; virtual;
                 end;


   CFrame    = object (CButton)
                 constructor Init(eineXpos, eineYpos, eineLaenge, eineHoehe : integer);
                 procedure   Zeigen; virtual;
               end;


(* -------------------- B e s c h r e i b u n g -------------------------

Oberklasse    : s.o.
Bezugsklassen : BILDSCHIRM
benutze Module: -

Methoden   (FUER ALLE KLASSEN !!)
--------

Init

   Auftrag: Objekt mit den Werten fuer Position, Laenge, Hoehe versehen
   vorher : -
   nachher: Objekte haben Positionwerte, Farbe ist SCHWARZ


Zeigen

   Auftrag: Objekt auf dem Bildschirm darstellen
   vorher : ist init.
   nachher: -


FarbeSetzen ( eineFarbe : TFarben ); virtual;

   Auftrag: jeweilige Figur auf eineFarbe einstellen. Frames und Buttons
            sind nur schwarz/weiss
   vorher : ist init.
   nachher: Objekt hat eineFarbe


Loeschen

   Auftrag: jeweiliges Objekt vom Bildschirm loeschen
   vorher : -
   nachher: Objekt ist geloescht



           (FUER FLAECHE und UNTERKLASSEN )


ZeichenSetzen (einZeichen : char)  - fr Flaeche und Unterklassen

   Auftrag: der Flaeche kann ein Muster gegeben werden
   vorher : -
   nachher: Flaeche hat Zeichen als Muster


ZeichenFarbeSetzen ( eineFarbe : TFarben )

   Auftrag: Das Muster-Zeichen einfaerben
   vorher : -
   nachher: Zeichen hat eineFarbe



-------------------------------------------------------

Linie
   waagerechte Linie ab XPos, YPos nach rechts

Strich
   waagerechte Strich ab XPos, YPos nach unten


Rechteck
  ab XPos, YPos


Flaeche
  mit beliebigen Zeichen gefuellt ab links oben

Button
  schreibt einen rechteckigen Knopf ab XPos,YPos.

PushButton
  schreibt einen rechteckigen Knopf ab XPos,YPos.

Frame
  schreibt einen Reliefrahmen ab XPos,YPos

--------------------------------------------------------------------- *)

Zurück zur Startseite