SectorZone: add attribute arc_boundary
[xcsoar.git] / src / InfoBoxes / Units.cpp
blob20766efec1600f9ee9bdc5d3e35e20da0a5e183a
1 /*
2 Copyright_License {
4 XCSoar Glide Computer - http://www.xcsoar.org/
5 Copyright (C) 2000-2013 The XCSoar Project
6 A detailed list of copyright holders can be found in the file "AUTHORS".
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 as published by the Free Software Foundation; either version 2
11 of the License, or (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 #include "Data.hpp"
25 #include "Units/Units.hpp"
26 #include "Formatter/UserUnits.hpp"
28 void
29 InfoBoxData::SetValueFromDistance(fixed new_value)
31 Unit distance_unit =
32 FormatUserDistanceSmart(new_value, value.buffer(), false);
33 SetValueUnit(distance_unit);
36 void
37 InfoBoxData::SetValueFromAltitude(fixed new_value)
39 FormatUserAltitude(new_value, value.buffer(), false);
40 SetValueUnit(Units::current.altitude_unit);
43 void
44 InfoBoxData::SetValueFromArrival(fixed new_value)
46 FormatRelativeUserAltitude(new_value, value.buffer(), false);
47 SetValueUnit(Units::current.altitude_unit);
50 void
51 InfoBoxData::SetValueFromSpeed(fixed new_value, bool precision)
53 FormatUserSpeed(new_value, value.buffer(), false, precision);
54 SetValueUnit(Units::current.speed_unit);
57 void
58 InfoBoxData::SetCommentFromDistance(fixed new_value)
60 FormatUserDistanceSmart(new_value, comment.buffer());
63 void
64 InfoBoxData::SetCommentFromAlternateAltitude(fixed new_value)
66 FormatAlternateUserAltitude(new_value, comment.buffer());
69 void
70 InfoBoxData::SetCommentFromSpeed(fixed new_value, bool precision)
72 FormatUserSpeed(new_value, comment.buffer(), true, precision);
75 void
76 InfoBoxData::SetCommentFromVerticalSpeed(fixed new_value, bool include_sign)
78 FormatUserVerticalSpeed(new_value, comment.buffer(), true, include_sign);