Point wind arrow into the wind (standard meteorological convention)
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>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
f25c312697
commit
2f697f1356
@@ -2,9 +2,10 @@ import 'dart:math' as math;
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
/// Windpfeil, der in die Richtung zeigt, in die der Wind weht (nicht woher
|
||||
/// er kommt) - analog windArrowSvg() im HTML-Demonstrator, dort ebenfalls
|
||||
/// um (dirFrom + 180) Grad gedreht.
|
||||
/// 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,
|
||||
@@ -19,9 +20,8 @@ class WindArrowIcon extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final towardDeg = (dirFromDeg + 180) % 360;
|
||||
return Transform.rotate(
|
||||
angle: towardDeg * math.pi / 180,
|
||||
angle: dirFromDeg * math.pi / 180,
|
||||
child: Icon(Icons.navigation, size: size, color: color),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user