Topic : TOS - das Betriebssystem
Author :
Version : tos.hyp (5. März 2013)
Subject : Programmieren/Atari
Nodes : 3001
Index Size : 93602
HCP-Version : 5
Compiled on : Atari
@charset : atarist
@lang :
@default : Titel
@help :
@options : +g -i -s +x +zz -t4
@width : 70
View Ref-File15.12 Virtual-Screen-Protokoll TOSEin echtes Problem bei Benutzung einer Großbildschirm-Emulation ist,
daß Dialog- und Alertboxen oft außerhalb des sichtbaren
Bildschirmausschnitts erscheinen. Daran können auch Programme wie
BigScreen nichts ändern. Als Lösung bietet sich eine Möglichkeit an,
mit der man sich darüber informieren kann, welcher Teil des
Bildschirms zur Zeit sichtbar ist.
Dazu wird der Cookie-Jar benutzt, der genau für solche Zwecke
vorgesehen ist. In unserem Fall heißt der Cookie VSCR, was für
Virtual-Screen steht. Er zeigt auf eine Struktur, die insbesondere
Informationen über den dargestellten Bildschirmausschnitt enthält.
Anwendungsprogramme können diese Information beispielsweise dazu
benutzen, um Dialogboxen auf dem tatsächlich sichtbaren Teil des
Bildschirms zu zentrieren. Die Struktur ist wie folgt definiert:
typedef struct
{
int32_t cookie; /* muß 'VSCR' sein */
int32_t product; /* Analog zur XBRA-Kennung */
int16_t version; /* Version des VSCR-Protokolls */
int16_t x,y,w,h; /* Sichtbarer Ausschnitt des Bildschirms */
} INFOVSCR;
Zur Beschreibung der einzelnen Komponenten:cookie muß den Wert
$56534352 ('VSCR') haben. Sinn der Sache ist, daß ein Großbildschirm-
Simulator die Informationsstruktur auf 'ungültig' setzen kann, ohne
erst den Cookie entfernen zu müssen. BigScreen beispielsweise kann je
nach gewählter Auflösung aktiv oder inaktiv sein und benutzt diesen
Mechanismus, um beim Auflösungswechsel die Struktur ein- oder
auszuschalten.
In product kann ein Großbildschirm-Simulator eine eigene Kennung
eintragen. Die vier Bytes sollten genauso wie bei einer XBRA-Kennung
aus vier druckbaren Zeichen (ASCII-Code 32 bis 126) bestehen.
Programm Kennung
BigScreen BIGS
LaceScan LEmu
NOVA VDI IMNE
Die Komponente version kennzeichnet die Version des VSCR-Protokolls
und soll es erlauben, später einmal die Struktur um neue Felder zu
ergänzen. x, y, w und h schließlich geben Position, Breite und Höhe
des sichtbaren Ausschnitts an. Das Protokoll ist absichtlich so
ausgelegt, daß es auch von anderen Simulatoren benutzt und bei Bedarf
erweitert werden kann.