Driver/Volkslogger: eliminate class VLA_SYS
[xcsoar.git] / src / Renderer / ThermalBandRenderer.hpp
blob522801c19228f0dd568abdc87b0cd2de9b71f8b3
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 #ifndef THERMAL_BAND_RENDERER_HPP
25 #define THERMAL_BAND_RENDERER_HPP
27 struct PixelRect;
28 struct ThermalBandLook;
29 struct ChartLook;
30 class ChartRenderer;
31 class Canvas;
32 struct MoreData;
33 struct DerivedInfo;
34 struct ComputerSettings;
35 struct OrderedTaskBehaviour;
36 struct TaskBehaviour;
38 class ThermalBandRenderer {
39 const ThermalBandLook &look;
40 const ChartLook &chart_look;
42 public:
43 ThermalBandRenderer(const ThermalBandLook &_look,
44 const ChartLook &_chart_look)
45 :look(_look), chart_look(_chart_look) {}
47 void DrawThermalBand(const MoreData& basic,
48 const DerivedInfo& calculated,
49 const ComputerSettings &settings_computer,
50 Canvas &canvas,
51 const PixelRect &rc,
52 const TaskBehaviour& task_props,
53 const bool is_map,
54 const OrderedTaskBehaviour *ordered_props=nullptr) const;
56 void DrawThermalBandSpark(const MoreData &basic,
57 const DerivedInfo& calculated,
58 const ComputerSettings &settings_computer,
59 Canvas &canvas,
60 const PixelRect &rc,
61 const TaskBehaviour& task_props) const;
63 protected:
64 void _DrawThermalBand(const MoreData &basic,
65 const DerivedInfo& calculated,
66 const ComputerSettings &settings_computer,
67 ChartRenderer &chart,
68 const TaskBehaviour& task_props,
69 const bool is_infobox,
70 const OrderedTaskBehaviour* ordered_props) const;
72 void ScaleChart(const DerivedInfo &calculated,
73 const ComputerSettings &settings_computer,
74 ChartRenderer &chart) const;
77 #endif