2.6 Bildschirmausgabe

Die Pocketviewer sind mit einem LCD-Display ausgestattet, das 160x160 Pixel in Schwarz/Weiß darstellen kann. Graustufen werden durch dieses Display nicht ermöglicht.
Die Koordinaten beginnen links oben mit 0,0 und enden rechts unten mit 159,159.
Es gibt für Entwickler eine ganze Reihe von Funktionen, um Daten auf diesem Bildschirm anzeigen zu können.

Textausgabe

Die Bildschirmausgabe erfolgt grundsätzlich grafisch orientiert, d.h. eine Ausgabe von Texten mittels printf() ist nicht möglich. Dafür liefert das SDK aber eine ganze Reihe Funktionen, um Texte an bestimmten Grafikkoordinaten ausgeben zu können. Für diese Textausgabe unterstützt der PocketViewer mehrere verschieden Schriftarten:

IB_PFONT1Für normale Textausgabe sehr gut geeigneter Proportionalfont
IB_PFONT2Proportionalfont mit fetter Darstellung
IB_PFONT3Proportionalfont mit grossen Zeichen
IB_CG57FONTFont mit fester Zeichengröße von 5x7
Font mit fester Größe von 3x5
Allerdings nur bestimmte Zeichen

Grafikausgabe

Auf dem grafischen Display können selbstverständlich auch Grafiken ausgegeben werden. Dabei kann zwischen selbstdefinierten Grafiken und Grafiken, die bereits im PVOS hinterlegt sind unterschieden werden.
Die hinterlegten Grafiken sind im Kapitel 7 abgelegt. Sie werden über eine eindeutige Nummer angesprochen.
Zur Ausgabe von selbstdefinierten Grafiken müssen die Bitmaps in Hexcode umgewandelt und in das Programm aufgenommen werden. Dazu liefert das SDK ein Utility BMPTEXT.EXE mit. Dieses Tool erzegt aus einer Schwarz/Weiss Grafik automatisch den zugehörigen C-Code zum Einbinden in ein Programm.

Zeichnen

Selbstverständlich kann auch direkt auf den Bildschirm gezeichnet werden. DerPocketviewer bietet hierfür Befehle an, um einzelne Punkte zu setzen, zu löschen oder zu invertieren, ganze Rechtecke zu zeichnen, oder nur einen Rahmen um einen Bereich zu ziehen. Natürlich können auch nur Linien gezogen werden.
Bei den Linien und Rechtecken werden zwei Modi unterstützt:
Solid und Mesh
Solid zeichnet dabei ein durchgezogene Linie und Mesh zeichnet eine gepunktete Linie.

Bildschirmpuffer

Prinzipiell werden alle Bildschirmausgaben erst in einen Bildschirmpuffer geschrieben, und erst durch den Befehl LibPutDisp() wird dieser Puffer auf den Bildschirm gebracht. Auf dieseWeise sieht man nicht, wie die einzelnen Bildschirmbereiche aufgebaut werden.
Es gibt aber auch die Möglichkeit, direkt auf den Bildschirm zu schreiben. Diese Methode ist sehr viel langsamer, als den Bildschirmpuffer auszugeben, und sollte nicht genutzt werden.

Für Ergänzungen wenden Sie sich bitte an: Jürgen Wagner