diff --git a/radio/src/gui/colorlcd/bitmaps.cpp b/radio/src/gui/colorlcd/bitmaps.cpp index 1c1c5ef54..91e417e29 100644 --- a/radio/src/gui/colorlcd/bitmaps.cpp +++ b/radio/src/gui/colorlcd/bitmaps.cpp @@ -184,31 +184,29 @@ const uint8_t LBM_SWIPE_RIGHT[] = { #include "mask_swipe_right.lbm" }; -BitmapBuffer * calibStick = NULL; -BitmapBuffer * calibStickBackground = NULL; -BitmapBuffer * calibTrackpBackground = NULL; -BitmapBuffer * calibRadioPict = NULL; -BitmapBuffer * modelselIconBitmap = NULL; -BitmapBuffer * modelselSdFreeBitmap = NULL; -BitmapBuffer * modelselModelQtyBitmap = NULL; -BitmapBuffer * modelselModelNameBitmap = NULL; -BitmapBuffer * modelselModelMoveBackground = NULL; -BitmapBuffer * modelselModelMoveIcon = NULL; -BitmapBuffer * modelselWizardBackground = NULL; -BitmapBuffer * chanMonLockedBitmap = NULL; -BitmapBuffer * chanMonInvertedBitmap = NULL; -BitmapBuffer * mixerSetupMixerBitmap = NULL; -BitmapBuffer * mixerSetupToBitmap = NULL; -BitmapBuffer * mixerSetupOutputBitmap = NULL; -BitmapBuffer * mixerSetupAddBitmap = NULL; -BitmapBuffer * mixerSetupMultiBitmap = NULL; -BitmapBuffer * mixerSetupReplaceBitmap = NULL; -BitmapBuffer * mixerSetupLabelBitmap = NULL; -BitmapBuffer * mixerSetupCurveBitmap = NULL; -BitmapBuffer * mixerSetupSwitchIcon = NULL; -BitmapBuffer * mixerSetupDelayBitmap = NULL; -BitmapBuffer * mixerSetupSlowBitmap = NULL; -BitmapBuffer * mixerSetupDelaySlowBitmap = NULL; -BitmapBuffer * mixerSetupFlightmodeIcon = NULL; -BitmapBuffer * mixerSetupFlightmodeBitmap = NULL; -BitmapBuffer * mixerSetupSwitchBitmap = NULL; +BitmapBuffer * calibStick = nullptr; +BitmapBuffer * calibStickBackground = nullptr; +BitmapBuffer * calibTrackpBackground = nullptr; +BitmapBuffer * calibRadioPict = nullptr; +BitmapBuffer * modelselIconBitmap = nullptr; +BitmapBuffer * modelselSdFreeBitmap = nullptr; +BitmapBuffer * modelselModelQtyBitmap = nullptr; +BitmapBuffer * modelselModelNameBitmap = nullptr; +BitmapBuffer * modelselModelMoveBackground = nullptr; +BitmapBuffer * modelselModelMoveIcon = nullptr; +BitmapBuffer * modelselWizardBackground = nullptr; +BitmapBuffer * chanMonLockedBitmap = nullptr; +BitmapBuffer * chanMonInvertedBitmap = nullptr; +BitmapBuffer * mixerSetupMixerBitmap = nullptr; +BitmapBuffer * mixerSetupToBitmap = nullptr; +BitmapBuffer * mixerSetupOutputBitmap = nullptr; +BitmapBuffer * mixerSetupAddBitmap = nullptr; +BitmapBuffer * mixerSetupMultiBitmap = nullptr; +BitmapBuffer * mixerSetupReplaceBitmap = nullptr; +BitmapBuffer * mixerSetupCurveIcon = nullptr; +BitmapBuffer * mixerSetupSwitchIcon = nullptr; +BitmapBuffer * mixerSetupLabelIcon = nullptr; +BitmapBuffer * mixerSetupDelayIcon = nullptr; +BitmapBuffer * mixerSetupSlowIcon = nullptr; +BitmapBuffer * mixerSetupDelaySlowIcon = nullptr; +BitmapBuffer * mixerSetupFlightmodeIcon = nullptr; diff --git a/radio/src/gui/colorlcd/bitmaps.h b/radio/src/gui/colorlcd/bitmaps.h index 00013aa18..67d149872 100644 --- a/radio/src/gui/colorlcd/bitmaps.h +++ b/radio/src/gui/colorlcd/bitmaps.h @@ -97,14 +97,12 @@ extern BitmapBuffer * mixerSetupOutputBitmap; extern BitmapBuffer * mixerSetupAddBitmap; extern BitmapBuffer * mixerSetupMultiBitmap; extern BitmapBuffer * mixerSetupReplaceBitmap; -extern BitmapBuffer * mixerSetupLabelBitmap; +extern BitmapBuffer * mixerSetupLabelIcon; extern BitmapBuffer * mixerSetupFlightmodeIcon; -extern BitmapBuffer * mixerSetupCurveBitmap; +extern BitmapBuffer * mixerSetupCurveIcon; extern BitmapBuffer * mixerSetupSwitchIcon; -extern BitmapBuffer * mixerSetupDelayBitmap; -extern BitmapBuffer * mixerSetupSlowBitmap; -extern BitmapBuffer * mixerSetupDelaySlowBitmap; -extern BitmapBuffer * mixerSetupFlightmodeBitmap; -extern BitmapBuffer * mixerSetupSwitchBitmap; +//extern BitmapBuffer * mixerSetupDelayIcon; +//extern BitmapBuffer * mixerSetupSlowIcon; +//extern BitmapBuffer * mixerSetupDelaySlowIcon; #endif // _BITMAPS_H_ diff --git a/radio/src/gui/colorlcd/curveedit.cpp b/radio/src/gui/colorlcd/curveedit.cpp index 494adf7f1..af6ec1d8e 100644 --- a/radio/src/gui/colorlcd/curveedit.cpp +++ b/radio/src/gui/colorlcd/curveedit.cpp @@ -33,6 +33,11 @@ CurveEdit::CurveEdit(Window * parent, const rect_t & rect, uint8_t index) : update(); } +CurveEdit::~CurveEdit() +{ + preview.detach(); +} + void CurveEdit::update() { preview.clearPoints(); diff --git a/radio/src/gui/colorlcd/curveedit.h b/radio/src/gui/colorlcd/curveedit.h index 867208f10..ba47c4f71 100644 --- a/radio/src/gui/colorlcd/curveedit.h +++ b/radio/src/gui/colorlcd/curveedit.h @@ -28,6 +28,8 @@ class CurveEdit: public FormField { public: CurveEdit(Window * parent, const rect_t & rect, uint8_t index); + ~CurveEdit() override; + void update(); void onEvent(event_t event) override; diff --git a/radio/src/gui/colorlcd/draw_functions.cpp b/radio/src/gui/colorlcd/draw_functions.cpp index 663dda933..d26717051 100644 --- a/radio/src/gui/colorlcd/draw_functions.cpp +++ b/radio/src/gui/colorlcd/draw_functions.cpp @@ -256,12 +256,12 @@ void drawCurveRef(BitmapBuffer * dc, coord_t x, coord_t y, const CurveRef & curv switch (curve.type) { case CURVE_REF_DIFF: x = dc->drawText(x, y, "D", flags); - drawValueOrGVar(dc, x + 1, y + 2, curve.value, -100, 100, LEFT | SMLSIZE | flags); + drawValueOrGVar(dc, x, y + 2, curve.value, -100, 100, LEFT | SMLSIZE | flags); break; case CURVE_REF_EXPO: x = dc->drawText(x, y, "E", flags); - drawValueOrGVar(dc, x + 1, y + 2, curve.value, -100, 100, LEFT | SMLSIZE | flags); + drawValueOrGVar(dc, x, y + 2, curve.value, -100, 100, LEFT | SMLSIZE | flags); break; case CURVE_REF_FUNC: diff --git a/radio/src/gui/colorlcd/model_inputs.cpp b/radio/src/gui/colorlcd/model_inputs.cpp index 44d5eb89b..04ca5557c 100644 --- a/radio/src/gui/colorlcd/model_inputs.cpp +++ b/radio/src/gui/colorlcd/model_inputs.cpp @@ -116,6 +116,11 @@ class InputEditWindow: public Page { buildHeader(&header); } + ~InputEditWindow() override + { + preview.detach(); + } + protected: uint8_t input; uint8_t index; @@ -292,17 +297,17 @@ void CommonInputOrMixButton::checkEvents() void CommonInputOrMixButton::drawFlightModes(BitmapBuffer *dc, FlightModesType value) { - dc->drawBitmap(146, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupFlightmodeBitmap); + dc->drawMask(146, 2 + PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupFlightmodeIcon, DEFAULT_COLOR); coord_t x = 166; for (int i = 0; i < MAX_FLIGHT_MODES; i++) { char s[] = " "; s[0] = '0' + i; if (value & (1 << i)) { - dc->drawText(x, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, s, SMLSIZE | TEXT_DISABLE_COLOR); + dc->drawText(x, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP + 2, s, SMLSIZE | TEXT_DISABLE_COLOR); } else { - dc->drawSolidFilledRect(x, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, 8, 3, CHECKBOX_COLOR); - dc->drawText(x, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, s, SMLSIZE); + dc->drawSolidFilledRect(x, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP + 2, 8, 3, CHECKBOX_COLOR); + dc->drawText(x, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP + 2, s, SMLSIZE); } x += 8; } @@ -341,7 +346,7 @@ class InputLineButton : public CommonInputOrMixButton { drawSource(dc, 60, FIELD_PADDING_TOP, line.srcRaw); if (line.name[0]) { - dc->drawBitmap(146, 2 + FIELD_PADDING_TOP, mixerSetupLabelBitmap); + dc->drawMask(146, 2 + FIELD_PADDING_TOP, mixerSetupLabelIcon, DEFAULT_COLOR); dc->drawSizedText(166, FIELD_PADDING_TOP, line.name, sizeof(line.name)); } @@ -352,7 +357,7 @@ class InputLineButton : public CommonInputOrMixButton { } if (line.curve.value != 0 ) { - dc->drawBitmap(60, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupCurveBitmap); + dc->drawMask(60, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupCurveIcon, DEFAULT_COLOR); drawCurveRef(dc, 80, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, line.curve); } @@ -496,7 +501,6 @@ void ModelInputsPage::build(FormWindow * window, int8_t focusIndex) grid.nextLine(); -// window->setLastField(); window->setInnerHeight(grid.getWindowHeight()); } diff --git a/radio/src/gui/colorlcd/model_logical_switches.cpp b/radio/src/gui/colorlcd/model_logical_switches.cpp index b35eb1973..15199517c 100644 --- a/radio/src/gui/colorlcd/model_logical_switches.cpp +++ b/radio/src/gui/colorlcd/model_logical_switches.cpp @@ -69,7 +69,8 @@ class LogicalSwitchEditPage: public Page { } } - void buildHeader(Window * window) { + void buildHeader(Window * window) + { new StaticText(window, { PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT }, STR_MENULOGICALSWITCHES, 0, MENU_COLOR); headerSwitchName = new StaticText(window, { PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT }, getSwitchPositionName(SWSRC_SW1 + index), 0, MENU_COLOR); } @@ -397,6 +398,5 @@ void ModelLogicalSwitchesPage::build(FormWindow * window, int8_t focusIndex) grid.nextLine(); -// window->setLastField(); window->setInnerHeight(grid.getWindowHeight()); } diff --git a/radio/src/gui/colorlcd/model_mixes.cpp b/radio/src/gui/colorlcd/model_mixes.cpp index 65d7d5f85..d2d073687 100644 --- a/radio/src/gui/colorlcd/model_mixes.cpp +++ b/radio/src/gui/colorlcd/model_mixes.cpp @@ -53,7 +53,6 @@ bool reachMixesLimit() return false; } - class MixEditWindow : public Page { public: MixEditWindow(int8_t channel, uint8_t mixIndex) : @@ -192,8 +191,6 @@ class MixEditWindow : public Page { edit->setSuffix("s"); grid.nextLine(); - grid.nextLine(); - window->setInnerHeight(grid.getWindowHeight()); } @@ -231,12 +228,12 @@ class MixEditWindow : public Page { class MixLineButton : public CommonInputOrMixButton { public: - MixLineButton(FormGroup * parent, const rect_t &rect, uint8_t index) : + MixLineButton(FormGroup * parent, const rect_t & rect, uint8_t index) : CommonInputOrMixButton(parent, rect, index) { const MixData & mix = g_model.mixData[index]; if (mix.swtch || mix.curve.value != 0 || mix.flightModes) { - setHeight(getHeight() + 20); + setHeight(getHeight() + PAGE_LINE_HEIGHT); } } @@ -254,18 +251,18 @@ class MixLineButton : public CommonInputOrMixButton { drawSource(dc, 60, FIELD_PADDING_TOP, line.srcRaw); if (line.name[0]) { - dc->drawBitmap(146, 2 + FIELD_PADDING_TOP, mixerSetupLabelBitmap); + dc->drawMask(146, 2 + FIELD_PADDING_TOP, mixerSetupLabelIcon, DEFAULT_COLOR); dc->drawSizedText(166, FIELD_PADDING_TOP, line.name, sizeof(line.name)); } // second line ... if (line.swtch) { - dc->drawBitmap(3, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupSwitchBitmap); + dc->drawMask(3, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP + 2, mixerSetupSwitchIcon, DEFAULT_COLOR); drawSwitch(dc, 21, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, line.swtch); } if (line.curve.value) { - dc->drawBitmap(60, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupCurveBitmap); + dc->drawMask(60, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupCurveIcon, DEFAULT_COLOR); drawCurveRef(dc, 80, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, line.curve, 0); } diff --git a/radio/src/gui/colorlcd/model_outputs.cpp b/radio/src/gui/colorlcd/model_outputs.cpp index 916580a31..f00e53c76 100644 --- a/radio/src/gui/colorlcd/model_outputs.cpp +++ b/radio/src/gui/colorlcd/model_outputs.cpp @@ -132,11 +132,11 @@ class OutputLineButton : public Button { dc->drawTextAtIndex(4, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, STR_MMMINV, output->revert); } if (output->curve) { - dc->drawBitmap(68, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupCurveBitmap); + dc->drawMask(68, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupCurveIcon, DEFAULT_COLOR); dc->drawText(88, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, getCurveString(output->curve)); } if (output->name[0]) { - dc->drawBitmap(146, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupLabelBitmap); + dc->drawMask(146, 2 + PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, mixerSetupLabelIcon, DEFAULT_COLOR); dc->drawSizedText(166, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP, output->name, sizeof(output->name)); } diff --git a/radio/src/gui/colorlcd/model_setup.cpp b/radio/src/gui/colorlcd/model_setup.cpp index 1d1f38239..c71c3a44d 100644 --- a/radio/src/gui/colorlcd/model_setup.cpp +++ b/radio/src/gui/colorlcd/model_setup.cpp @@ -429,11 +429,6 @@ class ModuleWindow : public FormGroup { update(); } - ~ModuleWindow() override - { - deleteChildren(); - } - protected: uint8_t moduleIdx; Choice * moduleChoice = nullptr; diff --git a/radio/src/gui/colorlcd/model_telemetry.cpp b/radio/src/gui/colorlcd/model_telemetry.cpp index 0f8db612b..4cdb006f2 100644 --- a/radio/src/gui/colorlcd/model_telemetry.cpp +++ b/radio/src/gui/colorlcd/model_telemetry.cpp @@ -114,11 +114,6 @@ class SensorEditWindow : public Page { buildHeader(&header); } - ~SensorEditWindow() override - { - body.deleteChildren(); - } - protected: uint8_t index; FormWindow * sensorParametersWindow = nullptr; diff --git a/radio/src/gui/colorlcd/page.cpp b/radio/src/gui/colorlcd/page.cpp index 095120e69..77ddbbd40 100644 --- a/radio/src/gui/colorlcd/page.cpp +++ b/radio/src/gui/colorlcd/page.cpp @@ -59,6 +59,9 @@ Page::Page(unsigned icon): Page::~Page() { + header.detach(); + body.detach(); + #if defined(HARDWARE_TOUCH) Keyboard::hide(); #endif diff --git a/radio/src/gui/colorlcd/radio_calibration.cpp b/radio/src/gui/colorlcd/radio_calibration.cpp index ba4d4be4e..6491bc143 100644 --- a/radio/src/gui/colorlcd/radio_calibration.cpp +++ b/radio/src/gui/colorlcd/radio_calibration.cpp @@ -86,16 +86,15 @@ class PotCalibrationWindow: public Window { invalidate(); } - virtual void paint(BitmapBuffer * dc) + void paint(BitmapBuffer * dc) override { - if(rect.h > rect.w) + if (rect.h > rect.w) drawVerticalSlider(dc, 5, 8, rect.h - 18, calibratedAnalogs[potIndex], -RESX, RESX, 40, OPTION_SLIDER_TICKS | OPTION_SLIDER_BIG_TICKS | OPTION_SLIDER_SQUARE_BUTTON); else drawHorizontalSlider(dc, 5, 8, rect.w - 18, calibratedAnalogs[potIndex], -RESX, RESX, 40, OPTION_SLIDER_TICKS | OPTION_SLIDER_BIG_TICKS | OPTION_SLIDER_SQUARE_BUTTON); } protected: - static constexpr coord_t bitmapSize = 68; uint8_t potIndex; }; @@ -109,23 +108,26 @@ RadioCalibrationPage::RadioCalibrationPage(bool initial): void RadioCalibrationPage::buildHeader(Window * window) { - new StaticText(window, { 55, 0, 300, 20 }, STR_MENUCALIBRATION, MENU_COLOR); - text = new StaticText(window, { 55, FH+2, LCD_W-55, 20 }, STR_MENUTOSTART, MENU_COLOR); + new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_MENUCALIBRATION, 0, MENU_COLOR); + text = new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_MENUTOSTART, 0, MENU_COLOR); } void RadioCalibrationPage::buildBody(FormWindow * window) { menuCalibrationState = CALIB_START; - // Background radio image + if (calibRadioPict) { + // Background radio image #if LCD_W > LCD_H - new StaticBitmap(window, {LCD_W/2 -calibRadioPict->getWidth()/2, 5, calibRadioPict->getHeight(), calibRadioPict->getWidth()}, calibRadioPict); + new StaticBitmap(window, {LCD_W / 2 - calibRadioPict->getWidth() / 2, 5, calibRadioPict->getHeight(), calibRadioPict->getWidth()}, calibRadioPict); #else - new StaticBitmap(window, {LCD_W/2 -calibRadioPict->getWidth()/2, LCD_H/2 -calibRadioPict->getHeight()/2, calibRadioPict->getHeight(), calibRadioPict->getWidth()}, calibRadioPict); + new StaticBitmap(window, {LCD_W / 2 - calibRadioPict->getWidth() / 2, LCD_H / 2 - calibRadioPict->getHeight() / 2, calibRadioPict->getHeight(), calibRadioPict->getWidth()}, calibRadioPict); #endif + } + // The two sticks new StickCalibrationWindow(window, {40, 20, 90, 90}, STICK1, STICK2); - new StickCalibrationWindow(window, {LCD_W-130, 20, 90, 90}, STICK4, STICK3); + new StickCalibrationWindow(window, {LCD_W - 130, 20, 90, 90}, STICK4, STICK3); #if defined(PCBHORUS) // The 2 main sliders @@ -139,7 +141,7 @@ void RadioCalibrationPage::buildBody(FormWindow * window) #elif defined(PCBNV14) new PotCalibrationWindow(window, {0, window->height()-25, 150, 20}, POT1); new PotCalibrationWindow(window, {LCD_W-150, window->height()-25, 150, 20}, POT2); - #endif +#endif } void RadioCalibrationPage::checkEvents() diff --git a/radio/src/gui/colorlcd/radio_calibration.h b/radio/src/gui/colorlcd/radio_calibration.h index a8d7f29b0..0ef07e7f9 100644 --- a/radio/src/gui/colorlcd/radio_calibration.h +++ b/radio/src/gui/colorlcd/radio_calibration.h @@ -24,7 +24,7 @@ class StaticText; class RadioCalibrationPage: public Page { public: - RadioCalibrationPage(bool initial=false); + explicit RadioCalibrationPage(bool initial = false); void checkEvents() override; diff --git a/radio/src/gui/colorlcd/radio_hardware.h b/radio/src/gui/colorlcd/radio_hardware.h index 2df7c2190..d0608abfe 100644 --- a/radio/src/gui/colorlcd/radio_hardware.h +++ b/radio/src/gui/colorlcd/radio_hardware.h @@ -28,9 +28,6 @@ class RadioHardwarePage: public PageTab { RadioHardwarePage(); void build(FormWindow * window) override; - - protected: - }; #endif //_RADIO_HARDWARE_H_ diff --git a/radio/src/gui/colorlcd/radio_setup.cpp b/radio/src/gui/colorlcd/radio_setup.cpp index c42f3547d..5a5c49288 100644 --- a/radio/src/gui/colorlcd/radio_setup.cpp +++ b/radio/src/gui/colorlcd/radio_setup.cpp @@ -33,11 +33,6 @@ class DateTimeWindow : public FormGroup { build(); } - ~DateTimeWindow() override - { - deleteChildren(); - } - void checkEvents() override { FormGroup::checkEvents(); diff --git a/radio/src/gui/colorlcd/tabsgroup.cpp b/radio/src/gui/colorlcd/tabsgroup.cpp index ad115b9d0..46c0a53ba 100644 --- a/radio/src/gui/colorlcd/tabsgroup.cpp +++ b/radio/src/gui/colorlcd/tabsgroup.cpp @@ -97,7 +97,8 @@ TabsGroup::~TabsGroup() delete tab; } - body.deleteChildren(); + header.detach(); + body.detach(); } void TabsGroup::addTab(PageTab * page) diff --git a/radio/src/gui/colorlcd/themes/flysky.cpp b/radio/src/gui/colorlcd/themes/flysky.cpp index 5dca10aec..021760e14 100644 --- a/radio/src/gui/colorlcd/themes/flysky.cpp +++ b/radio/src/gui/colorlcd/themes/flysky.cpp @@ -262,19 +262,19 @@ class FlyskyTheme: public ThemeBase mixerSetupOutputBitmap = BitmapBuffer::loadMaskOnBackground("mask_sbar_output.png", MENU_COLOR, HEADER_BGCOLOR); delete mixerSetupAddBitmap; - mixerSetupAddBitmap = BitmapBuffer::loadMaskOnBackground("mask_mplex_add.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); + mixerSetupAddBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_add.png"), DEFAULT_COLOR, DEFAULT_BGCOLOR); delete mixerSetupMultiBitmap; - mixerSetupMultiBitmap = BitmapBuffer::loadMaskOnBackground("mask_mplex_multi.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); + mixerSetupMultiBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_multi.png"), DEFAULT_COLOR, DEFAULT_BGCOLOR); delete mixerSetupReplaceBitmap; - mixerSetupReplaceBitmap = BitmapBuffer::loadMaskOnBackground("mask_mplex_replace.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); + mixerSetupReplaceBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_replace.png"), DEFAULT_COLOR, DEFAULT_BGCOLOR); - delete mixerSetupLabelBitmap; - mixerSetupLabelBitmap = BitmapBuffer::loadMaskOnBackground("mask_textline_label.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); + delete mixerSetupLabelIcon; + mixerSetupLabelIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_label.png")); - delete mixerSetupCurveBitmap; - mixerSetupCurveBitmap = BitmapBuffer::loadMaskOnBackground("mask_textline_curve.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); + delete mixerSetupCurveIcon; + mixerSetupCurveIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_curve.png")); delete mixerSetupSwitchIcon; mixerSetupSwitchIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_switch.png")); @@ -282,14 +282,14 @@ class FlyskyTheme: public ThemeBase delete mixerSetupFlightmodeIcon; mixerSetupFlightmodeIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_fm.png")); - delete mixerSetupSlowBitmap; - mixerSetupSlowBitmap = BitmapBuffer::loadMaskOnBackground("mask_textline_slow.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); - - delete mixerSetupDelayBitmap; - mixerSetupDelayBitmap = BitmapBuffer::loadMaskOnBackground("mask_textline_delay.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); - - delete mixerSetupDelaySlowBitmap; - mixerSetupDelaySlowBitmap = BitmapBuffer::loadMaskOnBackground("mask_textline_delayslow.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); +// delete mixerSetupSlowIcon; +// mixerSetupSlowIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_slow.png")); +// +// delete mixerSetupDelayIcon; +// mixerSetupDelayIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_delay.png")); +// +// delete mixerSetupDelaySlowIcon; +// mixerSetupDelaySlowIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_delayslow.png")); } void load() const override diff --git a/radio/src/gui/colorlcd/themes/frsky.cpp b/radio/src/gui/colorlcd/themes/frsky.cpp index 2e57d156a..aff09b353 100644 --- a/radio/src/gui/colorlcd/themes/frsky.cpp +++ b/radio/src/gui/colorlcd/themes/frsky.cpp @@ -242,19 +242,19 @@ class FrskyTheme: public ThemeBase mixerSetupOutputBitmap = BitmapBuffer::loadMaskOnBackground("mask_sbar_output.png", MENU_COLOR, MENU_BGCOLOR); delete mixerSetupAddBitmap; - mixerSetupAddBitmap = BitmapBuffer::loadMaskOnBackground("mask_mplex_add.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); + mixerSetupAddBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_add.png"), DEFAULT_COLOR, DEFAULT_BGCOLOR); delete mixerSetupMultiBitmap; - mixerSetupMultiBitmap = BitmapBuffer::loadMaskOnBackground("mask_mplex_multi.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); + mixerSetupMultiBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_multi.png"), DEFAULT_COLOR, DEFAULT_BGCOLOR); delete mixerSetupReplaceBitmap; - mixerSetupReplaceBitmap = BitmapBuffer::loadMaskOnBackground("mask_mplex_replace.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); + mixerSetupReplaceBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_replace.png"), DEFAULT_COLOR, DEFAULT_BGCOLOR); - delete mixerSetupLabelBitmap; - mixerSetupLabelBitmap = BitmapBuffer::loadMaskOnBackground("mask_textline_label.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); + delete mixerSetupLabelIcon; + mixerSetupLabelIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_label.png")); - delete mixerSetupCurveBitmap; - mixerSetupCurveBitmap = BitmapBuffer::loadMaskOnBackground("mask_textline_curve.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); + delete mixerSetupCurveIcon; + mixerSetupCurveIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_curve.png")); delete mixerSetupSwitchIcon; mixerSetupSwitchIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_switch.png")); @@ -262,14 +262,14 @@ class FrskyTheme: public ThemeBase delete mixerSetupFlightmodeIcon; mixerSetupFlightmodeIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_fm.png")); - delete mixerSetupSlowBitmap; - mixerSetupSlowBitmap = BitmapBuffer::loadMaskOnBackground("mask_textline_slow.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); - - delete mixerSetupDelayBitmap; - mixerSetupDelayBitmap = BitmapBuffer::loadMaskOnBackground("mask_textline_delay.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); - - delete mixerSetupDelaySlowBitmap; - mixerSetupDelaySlowBitmap = BitmapBuffer::loadMaskOnBackground("mask_textline_delayslow.png", DEFAULT_COLOR, DEFAULT_BGCOLOR); +// delete mixerSetupSlowIcon; +// mixerSetupSlowIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_slow.png")); +// +// delete mixerSetupDelayIcon; +// mixerSetupDelayIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_delay.png")); +// +// delete mixerSetupDelaySlowIcon; +// mixerSetupDelaySlowIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_delayslow.png")); } void load() const override diff --git a/radio/src/gui/colorlcd/view_main.cpp b/radio/src/gui/colorlcd/view_main.cpp index 7922b588c..08aabf9f1 100644 --- a/radio/src/gui/colorlcd/view_main.cpp +++ b/radio/src/gui/colorlcd/view_main.cpp @@ -161,7 +161,6 @@ ViewMain::ViewMain(bool icons): ViewMain::~ViewMain() { - deleteChildren(); } #if defined(HARDWARE_KEYS) diff --git a/radio/src/thirdparty/libopenui b/radio/src/thirdparty/libopenui index 5b4ee51fe..6b1e38e2f 160000 --- a/radio/src/thirdparty/libopenui +++ b/radio/src/thirdparty/libopenui @@ -1 +1 @@ -Subproject commit 5b4ee51fe34af1ac14db543466ea1b1d4104647f +Subproject commit 6b1e38e2f96e95b93e0ce14f47fbe0aa79228fc3