From ee533c79504fdb19f4aa7205acb982332d4e5e1e Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 26 Feb 2016 13:33:50 +0100 Subject: [PATCH] Temporary compilation fix for VC++ --- .../src/firmwares/opentx/simulator/opentxsimulator.cpp | 1 + radio/src/gui/horus/screens_setup.cpp | 4 ++-- radio/src/gui/horus/themes/default.cpp | 2 +- radio/src/gui/horus/widget.h | 9 ++++++++- radio/src/gui/horus/widgets.h | 2 +- radio/src/gui/horus/widgets/gauge.cpp | 8 ++++---- radio/src/gui/horus/widgets/text.cpp | 6 +++--- radio/src/gui/horus/widgets/timer.cpp | 2 +- radio/src/gui/horus/widgets/value.cpp | 2 +- 9 files changed, 22 insertions(+), 14 deletions(-) diff --git a/companion/src/firmwares/opentx/simulator/opentxsimulator.cpp b/companion/src/firmwares/opentx/simulator/opentxsimulator.cpp index f1cf8fbfe..d9ceeb07c 100644 --- a/companion/src/firmwares/opentx/simulator/opentxsimulator.cpp +++ b/companion/src/firmwares/opentx/simulator/opentxsimulator.cpp @@ -172,6 +172,7 @@ namespace NAMESPACE { #include "radio/src/gui/horus/view_about.cpp" #include "radio/src/gui/horus/lcd.cpp" #include "radio/src/gui/horus/splash.cpp" +#include "radio/src/gui/horus/topbar.cpp" #include "radio/src/gui/horus/theme.cpp" #include "radio/src/gui/horus/layout.cpp" #include "radio/src/gui/horus/widget.cpp" diff --git a/radio/src/gui/horus/screens_setup.cpp b/radio/src/gui/horus/screens_setup.cpp index 8e73b808e..f99c83ed3 100644 --- a/radio/src/gui/horus/screens_setup.cpp +++ b/radio/src/gui/horus/screens_setup.cpp @@ -37,7 +37,7 @@ uint8_t currentZone; #define SCREENS_SETUP_2ND_COLUMN 200 -char fileSelection[sizeof(ZoneOptionValue::stringValue)]; +char fileSelection[LEN_ZONE_OPTION_STRING]; uint8_t fileSelectionDone; int updateMainviewsMenu(); @@ -47,7 +47,7 @@ void onScreenSetupMenu(const char * result); void onZoneOptionFileSelectionMenu(const char * result) { if (result == STR_UPDATE_LIST) { - if (!sdListFiles(BITMAPS_PATH, BITMAPS_EXT, sizeof(ZoneOptionValue::stringValue), NULL)) { + if (!sdListFiles(BITMAPS_PATH, BITMAPS_EXT, LEN_ZONE_OPTION_STRING, NULL)) { POPUP_WARNING(STR_NO_BITMAPS_ON_SD); } } diff --git a/radio/src/gui/horus/themes/default.cpp b/radio/src/gui/horus/themes/default.cpp index eab0edd47..000caed28 100644 --- a/radio/src/gui/horus/themes/default.cpp +++ b/radio/src/gui/horus/themes/default.cpp @@ -25,7 +25,7 @@ const uint8_t LBM_TOPMENU_MASK_OPENTX[] = { }; const ZoneOption OPTIONS_THEME_DEFAULT[] = { - { "Background color", ZoneOption::Color, { .unsignedValue = WHITE } }, + { "Background color", ZoneOption::Color, OPTION_DEFAULT_VALUE({ .unsignedValue = WHITE }) }, { NULL, ZoneOption::Bool } }; diff --git a/radio/src/gui/horus/widget.h b/radio/src/gui/horus/widget.h index 509743581..efa1f5293 100644 --- a/radio/src/gui/horus/widget.h +++ b/radio/src/gui/horus/widget.h @@ -31,14 +31,21 @@ struct Zone uint16_t x, y, w, h; }; +#define LEN_ZONE_OPTION_STRING 8 union ZoneOptionValue { bool boolValue; uint32_t unsignedValue; int32_t signedValue; - char stringValue[8]; + char stringValue[LEN_ZONE_OPTION_STRING]; }; +#if defined(_MSC_VER) + #define OPTION_DEFAULT_VALUE(x) +#else + #define OPTION_DEFAULT_VALUE(x) x +#endif + struct ZoneOption { enum Type { diff --git a/radio/src/gui/horus/widgets.h b/radio/src/gui/horus/widgets.h index ef1daf95b..92cb8b65f 100644 --- a/radio/src/gui/horus/widgets.h +++ b/radio/src/gui/horus/widgets.h @@ -21,7 +21,7 @@ #ifndef _WIDGETS_H_ #define _WIDGETS_H_ -#include "../../opentx.h" +#include "opentx.h" #include #define OPTION_MENU_NO_FOOTER 0x01 diff --git a/radio/src/gui/horus/widgets/gauge.cpp b/radio/src/gui/horus/widgets/gauge.cpp index 000243c4f..4ec5e0d15 100644 --- a/radio/src/gui/horus/widgets/gauge.cpp +++ b/radio/src/gui/horus/widgets/gauge.cpp @@ -34,10 +34,10 @@ class GaugeWidget: public Widget }; const ZoneOption GaugeWidget::options[] = { - { "Source", ZoneOption::Source, { .unsignedValue = 1 } }, - { "Min", ZoneOption::Integer, { .signedValue = -RESX } }, - { "Max", ZoneOption::Integer, { .signedValue = RESX } }, - { "Color", ZoneOption::Color, { .unsignedValue = RED } }, + { "Source", ZoneOption::Source, OPTION_DEFAULT_VALUE({ .unsignedValue = 1 }) }, + { "Min", ZoneOption::Integer, OPTION_DEFAULT_VALUE({ .signedValue = -RESX }) }, + { "Max", ZoneOption::Integer, OPTION_DEFAULT_VALUE({ .signedValue = RESX }) }, + { "Color", ZoneOption::Color, OPTION_DEFAULT_VALUE({ .unsignedValue = RED }) }, { NULL, ZoneOption::Bool } }; diff --git a/radio/src/gui/horus/widgets/text.cpp b/radio/src/gui/horus/widgets/text.cpp index fc899f3b3..79c97498c 100644 --- a/radio/src/gui/horus/widgets/text.cpp +++ b/radio/src/gui/horus/widgets/text.cpp @@ -34,9 +34,9 @@ class TextWidget: public Widget }; const ZoneOption TextWidget::options[] = { - { "Text", ZoneOption::String, { .stringValue = { '\015', '\347', '\0', '\14', '\377', '\376', '\373', '\364' } } }, - { "Color", ZoneOption::Color, { .unsignedValue = RED } }, - { "Size", ZoneOption::TextSize, { .unsignedValue = 0 } }, + { "Text", ZoneOption::String, OPTION_DEFAULT_VALUE({ .stringValue = { '\015', '\347', '\0', '\14', '\377', '\376', '\373', '\364' } }) }, + { "Color", ZoneOption::Color, OPTION_DEFAULT_VALUE({ .unsignedValue = RED }) }, + { "Size", ZoneOption::TextSize, OPTION_DEFAULT_VALUE({ .unsignedValue = 0 }) }, { NULL, ZoneOption::Bool } }; diff --git a/radio/src/gui/horus/widgets/timer.cpp b/radio/src/gui/horus/widgets/timer.cpp index ad5602837..08963e48e 100644 --- a/radio/src/gui/horus/widgets/timer.cpp +++ b/radio/src/gui/horus/widgets/timer.cpp @@ -34,7 +34,7 @@ class TimerWidget: public Widget }; const ZoneOption TimerWidget::options[] = { - { "Timer source", ZoneOption::Timer, { .unsignedValue = 0 } }, + { "Timer source", ZoneOption::Timer, OPTION_DEFAULT_VALUE({ .unsignedValue = 0 }) }, { NULL, ZoneOption::Bool } }; diff --git a/radio/src/gui/horus/widgets/value.cpp b/radio/src/gui/horus/widgets/value.cpp index 9ac868cc5..570e8033e 100644 --- a/radio/src/gui/horus/widgets/value.cpp +++ b/radio/src/gui/horus/widgets/value.cpp @@ -34,7 +34,7 @@ class ValueWidget: public Widget }; const ZoneOption ValueWidget::options[] = { - { "Source", ZoneOption::Source, { .unsignedValue = MIXSRC_Rud } }, + { "Source", ZoneOption::Source, OPTION_DEFAULT_VALUE({ .unsignedValue = MIXSRC_Rud }) }, { NULL, ZoneOption::Bool } };