WindArrowIcon zeigte bisher windabwaerts (Fliessrichtung der Luft), gedreht um (dirFrom + 180) Grad - 1:1 uebernommen aus windArrowSvg() im HTML-Demonstrator. Die Standardkonvention bei Wetterfahnen und Windbarben auf Wetterkarten ist jedoch, dass der Pfeil windaufwaerts zeigt, also dorthin, woher der Wind kommt. Dreht jetzt direkt um dirFromDeg statt (dirFromDeg + 180) - betrifft zentral alle Verwendungen (Kopfleisten-Windpille, Wegpunktlisten-Zeile, Windmarker auf der Karte), da diese alle nur dirFromDeg durchreichen. Weicht damit bewusst vom HTML-Demonstrator ab (dort weiterhin Fliessrichtung) - im Code-Kommentar dokumentiert. flutter analyze und alle 117 Tests bestehen unveraendert. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
29 lines
802 B
Dart
29 lines
802 B
Dart
import 'dart:math' as math;
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
/// Windpfeil, der in den Wind zeigt (also dorthin, woher er kommt) -
|
|
/// Standardkonvention bei Wetterfahnen und Windbarben auf Wetterkarten.
|
|
/// Weicht damit bewusst von windArrowSvg() im HTML-Demonstrator ab, der
|
|
/// stattdessen um (dirFrom + 180) Grad in Fliessrichtung des Windes dreht.
|
|
class WindArrowIcon extends StatelessWidget {
|
|
const WindArrowIcon({
|
|
super.key,
|
|
required this.dirFromDeg,
|
|
this.size = 14,
|
|
this.color = Colors.white,
|
|
});
|
|
|
|
final double dirFromDeg;
|
|
final double size;
|
|
final Color color;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Transform.rotate(
|
|
angle: dirFromDeg * math.pi / 180,
|
|
child: Icon(Icons.navigation, size: size, color: color),
|
|
);
|
|
}
|
|
}
|