home *** CD-ROM | disk | FTP | other *** search
- GRAPHIC-POWER 2.1
-
- Copyright (c) 8/1990 bei Sven Rösner,
- Carl-Orff-Str.22,
- 8221 Traunwalchen
-
- 01.08.90 : GRAPHIC POWER 1.0 ist eine TURBO-PASCAL-UNIT, die es
- ermöglicht, im MCGA-Modus (320x200 mit 256 Farben)
- einer VGA-Karte direkt zu programmieren.
-
- 23.08.90 : GRAPHIC POWER 2.0 stellt zusätzlich auch Routinen zur
- Verfügung, mit denen es möglich ist, auf jeder
- VGA-Karte in einer Auflösung von 320x400 mit 256
- Farben zu programmieren.
-
- 23.09.90 : GRAPHIC POWER 2.11 stellt neue Routinen zur Verfügung:
-
- - FillBox_Hi
- - Box_3d
- - Box_3d_Hi
-
- Außerdem wurde die Anleitung leicht verändert.
-
- Hardwarevoraussetzung: VGA-Karte oder MCGA-Karte
- Softwarevoraussetzung: GRAPHIC-POWER wurde unter Turbo Pascal 5.5
- entwickelt, da es aber kein OOPS verwendet
- läuft es auch mit Turbo Pascal 5.0,
- wahrscheinlich auch mit Turbo Pascal 4.0
-
-
- GRAPHIC POWER ist ein SHAREWARE-Produkt. Das bedeutet, daß Sie
- GRAPHIC POWER zu Testzwecken kopieren und anwenden dürfen.
- Falls Sie GRAPHICS POWER regelmäßig benutzen wollen, müssen Sie
- sich registrieren lassen.
- Als registrierter User dürfen Sie GRAPHIC POWER auch verändern.
- Eine Weitergabe einer veränderten Version von GRAPHIC POWER ist
- jedoch verboten.
- Die einmalige Registriergebühr für GRAPHIC-POWER 2.1 beträgt
- 29 DM inkl. MwSt. und Porto.
-
- Registrierte User erhalten eine Original-Version von GRAPHIC
- POWER mit deutscher Anleitung und den Source-Code des VGA-DEMOS
- und der Unit GRAPHIC POWER 2.1.
- Außerdem erhalten registrierte User schriftliche Unterstützung
- bei Problemen und Fragen bezüglich der Unit.
-
-
-
- Kurzes Beispiel-Programm:
-
- program TEST;
-
- uses power,crt;
-
- var c:char;
-
- BEGIN
-
- init; {Schaltet in den MCGA-MODUS}
- line(20,20,300,180,1,1); {Zeichnet bunte Linie quer über den Bildschirm}
- c := readkey; {Wartet auf Tasten-Druck}
- exit; {Schaltet zurück in den Text-Modus}
-
- END.
-
-
-
- Folgende Prozeduren stellt GRAPHIC POWER 2.0 zur Verfügung:
-
-
- Alle Prozeduren, die mit "_Hi" enden, sind für den Spezial-Modus
- mit der Auflösung von 320x400 mit 256 Farben.
- Alle anderen Prozeduren funktionieren nur im "normalen" VGA-Modus
- mit der Auflösung von 320x200 mit 256 Farben.
- Ausnahme hierfür sind alle Befehle, die die Palette betreffen:
-
- SetColor,
- ReadColor,
- SetPalette,
- ReadPalette,
- Animate
-
- und außerdem der Befehl:
-
- Exit
-
- Diese Befehle funktionieren in beiden Modi.
-
- Kurz-Übersicht nach Funktionen geordnet:
-
-
- Prozeduren:
-
- Init; Schaltet in den MCGA-MODUS 320x200 mit 256 Farben
- Init_Hi; Schaltet in den MCGA-MODUS 320x400 mit 256 Farben
- nur für den 320x400x256-Modus
- Exit; Verläßt den MCGA-Modus mit 256 Farben
-
- Box_3d Erzeugt räumlichen Quader
- Box_3d_Hi Erzeugt Quader im 320x400x256-Modus
- ColorBox Erzeugt mehrfarbiges Rechteck
- ColorBox_Hi Erzeugt mehrfarbiges Rechteck im 320x400x256-Modus
- DrawBox Zeichenet ein Rechteck
- DrawBox_Hi Zeichenet ein Rechteck im 320x400x256-Modus
- FillBox Erzeugt einfarbiges Rechteck
- FillBox_Hi Erzeugt einfarbiges Rechteck im 320x400x256-Modus
-
- Locate Setzt Cursor an Stelle x,y
- Line Zeichnet eine Linie
- Line_Hi Zeichnet eine Linie im 320x400x256-Modus
- Plot Zeichnet einen Punkt
- Plot_Hi Zeichnet einen Punkt im 320x400x256-Modus
- Circle Erzeugt Kreis
- Circle_Hi Erzeugt Kreis im 320x400x256-Modus
-
- Print Schreibt Text auf Grafik-Bildschirm
- Cls Löscht Bildschirm, Füllt Birldschirm mit einer Farbe
- Cls_Hi Löscht Bildschirm, Füllt Birldschirm mit einer Farbe
-
- CopyBox Kopiert Bildschirminhalte
- MoveBox Verschiebt Bildschirminhalte
- LoadScreen Liest Bildschirminhalt von Diskette
- SaveScreen Speichert Bildschirminhalt auf Diskette ab
-
- ReadColor Liest Farbwerte eine Farbe
- ReadPalette Speichert die ganze Palette in einer Puffervariablen
- SetColor Setzt Farbwerte einer Farbe
- SetPalette Setzt neue Palette
- Animate Erzeugt Farbverläufe / Animationen
-
- Funktionen:
-
- Check Liefert TRUE, wenn VGA-Karte installiert
- Liefert FALSE, wenn keine VGA-Karte installiert ist
- CursorX Liefert X-Koordinate des Cursors
- CursorY Liefert Y-Koordinate des Cursors
- Getcolor Liefert Farbewert an X,Y
-
-
-
- PROCEDURE Animate (start, ende);
-
- START: Erstes Farb-Register
- ENDE : Letztes Farb-Register
-
- Die Inhalte der Farbregister zwischen START und ENDE werden
- jeweils um 1 verschoben, so daß alle Farben durchwechseln.
- Dadurch kommt es zu einer fließenden Bewegung. Der Vorgang
- wird dann abgebrochen, wenn eine Taste gedrückt wurde.
-
- PROCEDURE Bar_3d (x1,y1,x2,y1,col,flag : word);
-
- Zeichnet einen dreidimensionalen Quader.
-
- X1,Y1 : Linke, obere Ecke
- X2,Y2 : Rechte, untere Ecke
- COL : Farbe
- FLAG = 0 : Quader ist einförmig;
- = 1 : Quader mehrfarbig mit senkrechten Linien
- = 2 : Quader mehrfarbig mit waagrechten Linien
-
- PROCEDURE Bar_3d_Hi (x1,y1,x2,y1,col,flag : word);
-
- Siehe Bar_3d_Hi, für den hochauflösenden Modus 320x400
-
-
- PROCEDURE Circle(x,y,rx,ry,col,flag : word);
-
- Zeichnet einen Kreis.
-
- X,Y : Kreismittelpunkt
- RX : Radius in X-Richtung
- RY : Radius in Y-Rechtung
- FLAG = 0: Der Kreis wird einfarbig in der Farbe COL
- gezeichnet.
- FLAG = 1: Der Kreis wird mehrfarbig. Es wird mit der Farbe
- COL begonnen. Die Farbe wird dann immer um 1
- erhöht.
-
-
- PROCEDURE Circle_Hi(x,y,rx,ry,col,flag : word);
-
- Siehe Circle, für den hochauflösenden Modus 320x400
-
-
- PROCEDURE Cls (col : byte);
-
- Füllt den Bildschirm mit der angegebenen Farb-Nummer.
-
-
- PROCEDURE Cls_Hi (col : byte);
-
- Siehe CLS, für den hochauflösenden Modus 320x400
-
-
- PROCEDURE ColorBox(x1,y1,x2,y2,col,sw : word);
-
- Zeichnet ein Rechteck und füllt dieses mehrfarbig. Es wird
- mit der Farbe COL begonnen. Dann wird der Farbwert immer um
- 1 erhöht.
-
- SW = 0: senkrechte Linien
- SW = 1: waagrechte Linien
- X1,Y1 : linke, obere Ecke
- X2,Y2 : rechte, untere Ecke
- COL : erster Farbwert
-
-
- PROCEDURE ColorBox_Hi(x1,y1,x2,y2,col,sw : word);
-
- Siehe ColorBox, für den hochauflösenden Modus 320x400
-
-
- PROCEDURE CopyBox (sx,sy,b,h,dx,dy : word);
-
- Kopiert einen rechteckigen Bildschirmausschnitt.
-
- SX,SY : X,Y-Koordinate des Bildschirmausschnittes
- B,H : Breite und Höhe des Bildschirmausschnittes
- DX,DY : Zielkoordinaten
-
-
- PROCEDURE DrawBox (x1,y1,x2,y2,col,flag : word);
-
- Zeichnet ein Rechteck.
-
- X1,Y1 : linke, obere Ecke
- X2,Y2 : rechte, untere Ecke
- COL : Farbe
- FLAG : Wie bei der PROZEDURE Line.
-
-
- PROCEDURE DrawBox_Hi (x1,y1,x2,y2,col,flag : word);
-
- Siehe Line, für den hochauflösenden Modus 320x400
-
-
- PROCEDURE Exit;
-
- Schaltet zurück in den Text-Modus.
-
-
- PROCEDURE FillBox (x1,y1,x2,y2,col : word);
-
- Zeichnet ein Rechteck und füllt dieses mit der Farbe COL
- aus.
-
- X1,Y1 : linke, obere Ecke
- X2,Y2 : rechte, untere Ecke
- COL : Farbe
-
- PROCEDURE FillBox_Hi (x1,y1,x2,y2,col : word);
-
- Siehe FILLBOX_HI, für den hochauflösenden Modus 320x400
-
-
- PROCEDURE Init;
-
- Schaltet in den MCGA-Modus (320x200x256);
-
- In der Share-Version erscheint hier immer ein Titel-Screen.
- Dieser Titel-Screen ist bei der Voll-Version nicht mehr
- vorhanden.
-
- PROCEDURE Init_Hi;
-
- Schaltet in den Spezial MCGA-Modus (320x400x256);
-
- In der Share-Version erscheint hier immer ein Titel-Screen.
- Dieser Titel-Screen ist bei der Voll-Version nicht mehr
- vorhanden.
-
-
- PROCEDURE Line (x1,y1,x2,y2,col,flag : word);
-
- Zeichnet eine Linie von X1,Y1 nach X2,Y2.
-
- X1,Y2: Anfangskoodrdinaten
- X2,Y2: Endkoordinaten
- COL : Farbe
- FLAG : Wird hier 0 angegeben, so wird die ganze Linie in der
- Farbe COL gezeichnet.
- Wird hier 1 angegeben, so wird die Linie bunt. Die
- Linie wird mit der Farbe COL begonnen. Dann wird bei
- jedem gezeichnetem Einzelpunkt der Linie die Farbe um
- 1 erhöht.
-
-
- PROCEDURE Line_Hi (x1,y2,x2,y2,col,flag : byte);
-
- Siehe Line, für den hochauflösenden Modus 320x400
-
-
- PROCEDURE LoadScreen (Name : string);
-
- NAME: Name der Datei
-
- Lädt den abgespeicherten Bildschirm-Inhalt von Diskette.
-
-
- PROCEDURE Locate (X,Y : byte);
-
- Setzt den Cursor an die Bildschirmposition x,y.
-
- X: 0-79
- Y: 0-24
-
-
- PROCEDURE MoveBox (sx,sy,b,h,dx,dy : word);
-
- Wie COPYBOX, nur hier wird der ursprüngliche
- Bildschirmausschnitt gelöscht.
-
-
- PROCEDURE Plot (x,y : word; col : byte);
-
- Setzt an der Position X,Y einen Punkt in der Farbe COL.
-
- x : 0 - 319
- y : 0 - 199
- col : 0 - 255
-
-
- PROCEDURE Plot_Hi (x,y : word; col : byte);
-
- Siehe Plot, für den hochauflösenden Modus 320x400
-
-
- PROCEDURE Print (text : string; col,flag : byte);
-
- Druckt den String TEXT auf dem Bildschirm aus. Wird FLAG auf
- 0 gesetzt, wird der ganze Text in der Farbe COL ausgegeben.
- Wird FLAG auf 1 gesetzt, wird nach jedem Buchstaben der
- Farbewert um 1 erhöht.
-
-
- PROCEDURE ReadColor (nr : word; var red,green,blue : word);
-
- Liest Farbwerte eine Farbe.
-
- NR : Nummer der Farbe, die gelesen werden soll.
- RED,GREEN und BLUE enthalten nach dem Aufruf dann die
- Farbwerte der Farbe.
-
-
- PROCEDURE ReadPalette (startnr : integer;
- var buf : colorregister;
- nr : integer);
-
- Liest aktuelle Palette und speichert sie in der Variablen
- BUF.
-
- STARTNR : Start-Nummer.
- NR : Anzahl der Farben.
-
-
- PROCEDURE SaveScreen (Name : string);
-
- NAME: Name der Datei
-
- Speichert den Bildschirm-Inhalt auf Diskette ab.
-
-
- PROCEDURE SetColor (nr,red,green,blue : word);
-
- Setzt Farbwerte einer Farbe neu.
-
- NR : Nummer der Farbe, die geändert werden soll.
- RED : Rot--Anteil der Farbe (0 - 63)
- GREEN: Grün-Anteil (0 - 63)
- BLUE : Blau-Anteil (0 - 63)
-
-
- PROCEDURE SetPalette (startnr : integer;
- buf : colorregister;
- nr : integer);
-
- Setzt die in BUF gespeicherte Palette.
-
- STARTNR : Start-Nummer.
- NR : Anzahl der Farben.
-
-
-
-
- Folgende Funktionen stellt GRAPHIC POWER 2.0 zur Verfügung:
-
- FUNCTION Ceck : byte;
-
- Liefert TRUE, wenn eine VGA-Karte im Computer installiert
- ist.
- Liefert FALSE, wenn keine VGA-Karte vorhanden ist.
-
-
- FUNCTION CursorX : byte;
-
- Liefert X-Koordinate des Cursors.
-
-
- FUNCTION CursorY : byte;
-
- Liefert Y-Koordinate des Cursors.
-
-
- FUNCTION Getcolor (x,y : integer) : integer;
-
- Liefert Farbwert des Punktes mit den Koordinaten X,Y.
-
-
-
-
-
-
-
-
-
-