Fachartikel
Mausgesten (MouseGestures) programmieren
Inhalt
Dieser Artikel befasst sich mit dem Programmieren von Mausgesten. Mausgesten können eine Alternative zu Menüs oder Tastatur-Shortcuts darstellen und bieten diesen gegenüber gewisse Vorteile, da man nicht von der Maus zur Tastatur mit der Hand wechseln muss.
Das Grundprinzip
Um Gesten zu erkennen, müssen wir den Weg der Maus verfolgen.
Hier gilt es jedoch darauf zu achten, dass nicht jeder Punkt der Mausspur aufgezeichnet wird, denn um ein paar Pixel verrutscht die Maus eigentlich immer. Um dies zu erreichen betrachten wir die Differenz zwischen dem letzten aufgezeichneten Punkt und dem aktuellen. Überschreitet die Differenz einen festgelegten Abstand (PointDelta), so wird der Punkt aufgezeichnet.
Aufzeichnungsphase
Die Aufzeichnung der Punkte kann man mit einer einfachen Liste oder einem Array mit fester oder variabler Größe implementieren. Die Auswertung kann entweder live oder bei Abschluss der Geste erfolgen. Es nach dem Abschluss zu tun kann manchmal von Vorteil sein, je nachdem wie genau man die Mausspur überprüfen möchte.
Auswertungsphase
Der Algorithmus zur Auswertung der Mausgesten im Pseudo-Code:
1. Basisfälle abfangen (nur 1 Punkt aufgezeichnet, etc.)
2. Ersten Punkt in Variable "lastPoint" laden
3. Schleife vom zweiten bis zum letzten Element der Liste
3a. "actPoint" auf Schleifenelement setzen
3b. Differenzen zwischen actPoint und lastPoint bilden
3c. Stärkste Richtung bestimmen
3d. Falls ungleich voriger Richtung: alte ausgeben
3e. lastPoint = actPoint setzen
4. Letzte Richtung nochmals ausgeben
Implementierung
Für Visual Basic steht eine fertige Version zum Download bereit: mouseGestures (VB6).
Kontakt - Impressum - Datenschutz
Alle Grafiken, Bilder, Texte und Dokumente sind urheberrechtlich geschützt und dürfen nicht ohne schriftliche Genehmigung verwendet werden. Copyright © 1998-2008 by Martin Walter.
Alle Rechte vorbehalten. all rights reserved.