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_PFONT1 | Für normale Textausgabe sehr gut geeigneter Proportionalfont |
|
| IB_PFONT2 | Proportionalfont mit fetter Darstellung |
|
| IB_PFONT3 | Proportionalfont mit grossen Zeichen |
|
| IB_CG57FONT | Font 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