Da für Fehlermeldungen und einfache Anwendungen von Stubs eine
reine Textdarstellung genügt, sollen alle Ausgaben über den
CGA Modus der Grafikkarte
erfolgen.
öffentliche Methoden:
void CGA_Screen::show (int x, int y, char c, unsigned char
attrib)
Diese Methode gibt das Zeichen c an der Position
(x,y) mit dem angegebenen Farbattribut
attrib aus. Dabei gibt x die Spalte und
y die Zeile der gewünschten Position an, wobei
gilt: 0<=x<=79
und 0<=y<=24. Die Position (0,0)
bezeichnet die linke obere Ecke des Bildschirms. Mit
attrib lassen sich Merkmale wie Hintergrundfarbe,
Vordergrundfarbe und Blinken festlegen.
void CGA_Screen::setpos (int x, int y)
Diese Methode setzt den Cursor an die angegebene Position.
void CGA_Screen::getpos (int &x, int &y)
Hiermit kann die aktuelle Position des Cursors von der
Grafikkarte abgefragt werden. x und y
sind Referenzen und dienen als Ausgabeparameter.
void CGA_Screen::print (char* text, int length, unsigned
char attrib)
Mit dieser Methode kann eine Zeichenkette text
ausgegeben werden, wobei an der aktuellen Position des Cursors
begonnen wird. Da die Zeichenkette anders als sonst bei C
üblich keine Nullterminierung zu enthalten braucht, wird
der Parameter length benötigt, der angeben
muss, aus wievielen Zeichen text besteht. Nach
Abschluss der Ausgabe soll der Cursor hinter dem zuletzt
ausgegebenen Zeichen stehen. Der gesamte text soll
einheitlich mit den durch attrib gewählten
Farben dargestellt werden.
Wenn bis zum Ende der Zeile nicht mehr genügend Platz ist,
soll die Ausgabe auf der folgenden Zeile fortgesetzt
werden. Sobald die letzte Bildschirmzeile gefüllt ist, soll
der gesamte Bildschirmbereich um eine Zeile nach oben geschoben
werden. Dadurch verschwindet die erste Zeile. Dafür kann
nun die letzte Zeile erst gelöscht und dann die Ausgabe
dort fortgesetzt werden.
Ein Zeilenumbruch muss auch erfolgen, wann immer das
Zeichen '\n' im auszugebenen Text enthalten ist.