ui_geomap.hpp: add hemisphere fields, degrees become magnitude

This commit is contained in:
gullradriel
2026-08-08 21:33:56 +02:00
parent 0989addb98
commit 8054707d7c
+23 -8
View File
@@ -239,12 +239,21 @@ class GeoPos : public View {
{25 * 8, UI_POS_Y(0), 5 * 8, 16}, {25 * 8, UI_POS_Y(0), 5 * 8, 16},
""}; ""};
NumberField field_lat_degrees{ // Sign is held by the hemisphere field, not by the degrees field: an
// int32_t degrees field has no negative zero, so a coordinate in
// (-1, 0) could not otherwise be represented (see issue #3234).
OptionsField field_lat_hemisphere{
{5 * 8, 1 * 16}, {5 * 8, 1 * 16},
4,
{-90, 90},
1, 1,
' '}; {{"N", 0},
{"S", 1}}};
NumberField field_lat_degrees{
{6 * 8, 1 * 16},
3,
{0, 90},
1,
' ',
false};
NumberField field_lat_minutes{ NumberField field_lat_minutes{
{10 * 8, 1 * 16}, {10 * 8, 1 * 16},
2, 2,
@@ -263,12 +272,18 @@ class GeoPos : public View {
{17 * 8, 1 * 16, 13 * 8, 1 * 16}, {17 * 8, 1 * 16, 13 * 8, 1 * 16},
""}; ""};
NumberField field_lon_degrees{ OptionsField field_lon_hemisphere{
{5 * 8, 2 * 16}, {5 * 8, 2 * 16},
4,
{-180, 180},
1, 1,
' '}; {{"E", 0},
{"W", 1}}};
NumberField field_lon_degrees{
{6 * 8, 2 * 16},
3,
{0, 180},
1,
' ',
false};
NumberField field_lon_minutes{ NumberField field_lon_minutes{
{10 * 8, 2 * 16}, {10 * 8, 2 * 16},
2, 2,