3.8.2 Touch Areas

Touch Areas sind Bereiche auf dem Bildschirm, die auf Berührung mit dem Stift reagieren. Neben den Bereichen auf dem sichtbaren Bildschirm gibt es auch Bereiche, die nicht auf dem Bildschirm liegen, sondern darunter; die sogenannten HardIcons.
Zu den HardIcons gehören : Damit ein Programm erkennen kann, welcher Bereich auf dem Bildschirm angeklickt wurde, wird die Funktion LibTchWait() aufgerufen.
Diese Funktion liefert in einem Datenbereich neben den x/y-Koordinaten auch den Objektcode des angeklickten Bereichs zurück.
Dieser Objektcode ist einem Bereich auf dem Bildschirm eindeutig zugeordnet. Diese Zuordnung erfolgt in sogenannten Touch Tables.
Jeder Eintrag einer Touch Table definiert die x/y-Koordinaten des Rechtecks, das auf die Berührung reagieren soll und welcher Objektcode zurück geliefert werden soll. Zusätzlich kann man noch angeben, wie sich der Bereich bei einer Berührung verhalten soll.

Durch die Definition der Bereiche kann es vorkommen, dass ein Bereich einen anderen überlagert. Hier wäre nicht eindeutig definiert, welcher Objektcode zurück geliefert wird. Zu diesem Zweck wurde der Touch Stack eingeführt. Jeder Bereich, der auf dem Bildschirm definiert wurde wird auf den Touch Stack gebracht. Der Bereich, der im Touch Stack ganz oben liegt, reagiert auf die Berührung und liefert seinen Objektcode zurück.

Ein Programm, das Bereiche auf dem Bildschirm definiert stellt seine eigene Touch Table auf den Stack und wartet auf die Bearbeitung der einzelnen Objektcodes. Wird innerhalb des Programms ein Bildschirmbereich beu aufgebaut, bringt er eine neue Touch Table mit, die auf dem Stack ganz oben liegt und für die Berührungen zuständig ist. Wird der neue Bildschirmbereich wieder auf den Originalzustand zurück gesetzt, muss auch die neue Touch Table wieder vom Stack entfernt werden. Schon ist die darunter liegende Touch Table wieder aktiv.

Das Action Wheel, bzw. die Action Keys bei den PV Sx60 Modellen wird ebenfalls über den Touchscreen abgefragt.

Für die HardIcons stehen folgende Koordinaten fest:

Off-8,164,16,177
Light-8,178,16,200
Menu17,164,41,200
Scheduler42,164,65,200
Contacts66,164,90,200
Memo91,164,114,200
QuickMemo115,164,139,200
Esc140,164,164,177
MenuBar140,178,114,200

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