/// Was eine waagerechte Wischbewegung am Mini-Player bewirkt. enum Wechsel { vorheriger, naechster } /// Ab welcher Wisch-Geschwindigkeit (Pixel pro Sekunde) eine Geste zählt. /// /// Bewusst nicht null: der Mini-Player ist zugleich ein Knopf, und beim /// Antippen wandert der Finger fast immer ein paar Pixel. Ohne Schwelle /// spränge bei jedem zweiten Tipp der Titel. const wischSchwelle = 300.0; /// Zu welchem Titel eine waagerechte Bewegung führt, oder `null`, wenn sie /// zu zaghaft war. /// /// Nach links wischen holt den nächsten Titel herein — so, wie man ein Blatt /// zur Seite schiebt und das darunter sichtbar wird. Wechsel? titelWechsel(double geschwindigkeit) { if (geschwindigkeit.abs() <= wischSchwelle) return null; return geschwindigkeit < 0 ? Wechsel.naechster : Wechsel.vorheriger; } /// Ob eine senkrechte Bewegung die Vollbild-Wiedergabe öffnet. /// Nur nach oben — nach unten ist bewusst unbelegt, damit niemand die /// Wiedergabe aus Versehen wegschiebt. bool oeffnetVollbild(double geschwindigkeit) => geschwindigkeit < -wischSchwelle;