137
Kapitel 6
Touch Me Now:
Erweiterte Multitouch-
Programmierung
In diesem Kapitel:
Mit Raw Touch-Nachrichten arbeiten 138
Die Prozessoren für Manipulation und Trägheit verwenden 145
Zusammenfassung 160
138
Kapitel 6: Touch Me Now: Erweiterte Multitouch-Programmierung
Das vorherige Kapitel hat Sie in Multitouch mit Windows 7 eingeführt und die verschiedenen Program-
miermodelle erläutert, die hierfür zur Verfügung stehen. Inzwischen besitzen Sie profunde Kenntnisse, wie
Multitouch in Windows 7 funktioniert, wie die zugrunde liegende Architektur aussieht und welche Pro-
grammiermodelle Windows 7-Multitouch dem Entwickler bietet. Im Mittelpunkt des vorherigen Kapitels
hat das Arbeiten mit Multitouch-Bewegungen gestanden, das wir als die bessere Programmieroption der
Modelle Gutes, Besseres, Bestes bezeichnet haben. Damit besitzen Sie das erforderliche Einstiegswissen, um
mit Multitouch-Bewegungen in Windows 7 arbeiten zu können.
Nachdem Sie alles über die Optionen Gut und Besser in Kapitel 5 gelesen haben, geht es nun im Detail um
das mit Bestes bezeichnete Programmiermodell. Dies ist das leistungsfähigste Programmiermodell, das
Windows 7 dem Entwickler zu bieten hat. Dieses Kapitel beschreibt, wie Sie Multitouch-Anwendungen
erstellen, die faszinierende Touch-Funktionalität realisieren, wie Sie Raw Touch-Nachrichten behandeln und
wie Sie eine eigene einfache Version eines Malprogramms erstellen, das Finger als Stifte verwendet. Außer-
dem wird erläutert, was die Manipulations- und Trägheitsprozessoren (die zu Windows 7 gehören) sind und
wie Sie sie vorteilhaft einsetzen.
Mit Raw Touch-Nachrichten arbeiten
Windows 7-Bewegungsunterstützung bietet eine leicht zu verwendende und doch leistungsfähige Technik,
mit der Sie die Funktionalität Ihrer Anwendungen erweitern und überzeugende Multitouch-Funktionalität
realisieren können. Allerdings weisen die im vorherigen Kapitel beschriebenen Windows 7-Multitouch-
Bewegungen einige Beschnkungen auf. Zum Beispiel ist die vordefinierte Windows 7-Multitouch-
Bewegung auf eine maximale Anzahl von unterstützten Touch-Punkten begrenzt. Eine weitere Einschrän-
kung besteht darin, dass sich Bewegungen nicht kombinieren lassen. Das heißt, Sie können Dreh- und
Zoom-Bewegungen mit einem bestimmten Objekt nicht auf einmal durchführen. Es gibt keine Möglichkeit,
sowohl GID_ROTATE- als auch GID_ZOOM-Nachrichten zu empfangen, um ein kombiniertes Ereignis zu
behandeln. Wenn Sie also umfangreichere Multitouch-Funktionalität in Ihrer Anwendung realisieren
möchten, müssen Sie auf die umfangreichere Multitouch-API zurückgreifen. Mithilfe der API müssen Sie in
eigener Regie Touch-Nachrichten behandeln und die ausgeführten Bewegungen interpretieren, anstatt sich
auf das mit Windows 7 gelieferte Standardbewegungsmodul zu verlassen. Das standardmäßige Bewe-
gungsmodul – das im vorherigen Kapitel beschriebene Windows Ink Services Platform Table Input Subsys-
tem (WISPTIS) – ist das Modul, das die standardmäßigen Bewegungsnachrichten sendet.
Um Touch-Nachrichten (d. h. Nachrichten, die als WM_TOUCH gekennzeichnet sind) zu empfangen,
müssen Sie zuerst Windows 7 anweisen, Touch-Nachrichten an Ihre Anwendung zu senden und das Senden
der Standardbewegungsnachrichten (die als WM_GESTURE gekennzeichnet sind) einzustellen. Sobald
Touch-Nachrichten eintreffen, müssen Sie jede Nachricht dekodieren und die einzelnen Touch-Punkt-
Informationen entpacken, bevor Sie sie weiterverarbeiten. Ist die Dekodierung abgeschlossen, besitzen Sie
genügend Informationen über jeden Touch-Punkt, um ihn zu behandeln und über die Zeit zu verfolgen. Es
liegt in Ihrer Verantwortlichkeit, jeden Berührungspunkt zu verfolgen und die durch alle Touch-Punkte
durchgeführten Bewegungen zu erkennen. Als Erstes konfigurieren Sie nun die Windows 7-Multitouch-
Plattform.

Get Windows 7 für Entwickler - Crashkurs now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.