Moved default theme masks into firmware

This commit is contained in:
Raphael Coeffic
2021-06-10 19:58:47 +02:00
parent 8336647ecc
commit 751be22007
76 changed files with 295 additions and 59 deletions
+4 -1
View File
@@ -27,9 +27,12 @@ add_bitmaps_target(${BITMAP_TARGET_PREFIX}_alpha_calibration_bitmaps "${RADIO_SR
add_bitmaps_target(${BITMAP_TARGET_PREFIX}_masks ${RADIO_SRC_DIR}/bitmaps/480x272/mask_*.png 8bits "${MASK_ARGS}")
add_bitmaps_target(${BITMAP_TARGET_PREFIX}_slider_masks "${RADIO_SRC_DIR}/bitmaps/480x272/slider/*.png" 8bits "${MASK_ARGS}")
add_bitmaps_target(${BITMAP_TARGET_PREFIX}_layouts_masks "${RADIO_SRC_DIR}/gui/colorlcd/layouts/*.png" 8bits "${MASK_ARGS}")
add_bitmaps_target(${BITMAP_TARGET_PREFIX}_themes_bitmaps "${RADIO_SRC_DIR}/gui/colorlcd/themes/*.png" "5/6/5" "${BITMAPS_ARGS}")
add_bitmaps_target(${BITMAP_TARGET_PREFIX}_fonts ${RADIO_SRC_DIR}/fonts/truetype/*.png 8bits "${MASK_RLE_ARGS}")
add_bitmaps_target(${BITMAP_TARGET_PREFIX}_volume_masks ${RADIO_SRC_DIR}/bitmaps/480x272/volume/*.png 8bits "${MASK_ARGS}")
add_bitmaps_target(${BITMAP_TARGET_PREFIX}_themes_masks "${RADIO_SRC_DIR}/bitmaps/480x272/default_theme/mask_*.png" 8bits "${BITMAPS_ARGS}")
add_bitmaps_target(${BITMAP_TARGET_PREFIX}_themes_alpha "${RADIO_SRC_DIR}/bitmaps/480x272/default_theme/alpha_*.png" "4/4/4/4" "${BITMAPS_ARGS}")
add_bitmaps_target(${BITMAP_TARGET_PREFIX}_bootloader_bitmaps ${RADIO_SRC_DIR}/bitmaps/480x272/bootloader/bmp_*.png "4/4/4/4" "${BITMAP_RLE_ARGS}")
add_bitmaps_target(${BITMAP_TARGET_PREFIX}_bootloader_icons ${RADIO_SRC_DIR}/bitmaps/480x272/bootloader/icon_*.png 8bits "${MASK_ARGS}")
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Before

Width:  |  Height:  |  Size: 335 B

After

Width:  |  Height:  |  Size: 335 B

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 293 B

Before

Width:  |  Height:  |  Size: 491 B

After

Width:  |  Height:  |  Size: 491 B

Before

Width:  |  Height:  |  Size: 873 B

After

Width:  |  Height:  |  Size: 873 B

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before

Width:  |  Height:  |  Size: 978 B

After

Width:  |  Height:  |  Size: 978 B

Before

Width:  |  Height:  |  Size: 674 B

After

Width:  |  Height:  |  Size: 674 B

Before

Width:  |  Height:  |  Size: 814 B

After

Width:  |  Height:  |  Size: 814 B

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 807 B

After

Width:  |  Height:  |  Size: 807 B

Before

Width:  |  Height:  |  Size: 671 B

After

Width:  |  Height:  |  Size: 671 B

Before

Width:  |  Height:  |  Size: 796 B

After

Width:  |  Height:  |  Size: 796 B

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before

Width:  |  Height:  |  Size: 980 B

After

Width:  |  Height:  |  Size: 980 B

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Before

Width:  |  Height:  |  Size: 604 B

After

Width:  |  Height:  |  Size: 604 B

Before

Width:  |  Height:  |  Size: 811 B

After

Width:  |  Height:  |  Size: 811 B

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 698 B

After

Width:  |  Height:  |  Size: 698 B

Before

Width:  |  Height:  |  Size: 543 B

After

Width:  |  Height:  |  Size: 543 B

Before

Width:  |  Height:  |  Size: 530 B

After

Width:  |  Height:  |  Size: 530 B

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 954 B

After

Width:  |  Height:  |  Size: 954 B

Before

Width:  |  Height:  |  Size: 1013 B

After

Width:  |  Height:  |  Size: 1013 B

Before

Width:  |  Height:  |  Size: 841 B

After

Width:  |  Height:  |  Size: 841 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 575 B

After

Width:  |  Height:  |  Size: 575 B

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Before

Width:  |  Height:  |  Size: 686 B

After

Width:  |  Height:  |  Size: 686 B

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Before

Width:  |  Height:  |  Size: 544 B

After

Width:  |  Height:  |  Size: 544 B

Before

Width:  |  Height:  |  Size: 751 B

After

Width:  |  Height:  |  Size: 751 B

Before

Width:  |  Height:  |  Size: 791 B

After

Width:  |  Height:  |  Size: 791 B

Before

Width:  |  Height:  |  Size: 631 B

After

Width:  |  Height:  |  Size: 631 B

Before

Width:  |  Height:  |  Size: 800 B

After

Width:  |  Height:  |  Size: 800 B

Before

Width:  |  Height:  |  Size: 641 B

After

Width:  |  Height:  |  Size: 641 B

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before

Width:  |  Height:  |  Size: 860 B

After

Width:  |  Height:  |  Size: 860 B

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Before

Width:  |  Height:  |  Size: 536 B

After

Width:  |  Height:  |  Size: 536 B

Before

Width:  |  Height:  |  Size: 572 B

After

Width:  |  Height:  |  Size: 572 B

Before

Width:  |  Height:  |  Size: 630 B

After

Width:  |  Height:  |  Size: 630 B

Before

Width:  |  Height:  |  Size: 891 B

After

Width:  |  Height:  |  Size: 891 B

Before

Width:  |  Height:  |  Size: 755 B

After

Width:  |  Height:  |  Size: 755 B

Before

Width:  |  Height:  |  Size: 492 B

After

Width:  |  Height:  |  Size: 492 B

Before

Width:  |  Height:  |  Size: 815 B

After

Width:  |  Height:  |  Size: 815 B

Before

Width:  |  Height:  |  Size: 666 B

After

Width:  |  Height:  |  Size: 666 B

Before

Width:  |  Height:  |  Size: 545 B

After

Width:  |  Height:  |  Size: 545 B

Before

Width:  |  Height:  |  Size: 425 B

After

Width:  |  Height:  |  Size: 425 B

Before

Width:  |  Height:  |  Size: 400 B

After

Width:  |  Height:  |  Size: 400 B

Before

Width:  |  Height:  |  Size: 525 B

After

Width:  |  Height:  |  Size: 525 B

Before

Width:  |  Height:  |  Size: 597 B

After

Width:  |  Height:  |  Size: 597 B

Before

Width:  |  Height:  |  Size: 506 B

After

Width:  |  Height:  |  Size: 506 B

Before

Width:  |  Height:  |  Size: 549 B

After

Width:  |  Height:  |  Size: 549 B

Before

Width:  |  Height:  |  Size: 625 B

After

Width:  |  Height:  |  Size: 625 B

Before

Width:  |  Height:  |  Size: 486 B

After

Width:  |  Height:  |  Size: 486 B

Before

Width:  |  Height:  |  Size: 659 B

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 B

+219
View File
@@ -0,0 +1,219 @@
const uint8_t mask_next[] = {
#include "mask_next.lbm"
};
const uint8_t mask_back[] = {
#include "mask_back.lbm"
};
const uint8_t mask_currentmenu_bg[] = {
#include "mask_currentmenu_bg.lbm"
};
const uint8_t mask_currentmenu_dot[] = {
#include "mask_currentmenu_dot.lbm"
};
const uint8_t mask_currentmenu_shadow[] = {
#include "mask_currentmenu_shadow.lbm"
};
const uint8_t mask_menu_model[] = {
#include "mask_menu_model.lbm"
};
const uint8_t mask_menu_radio[] = {
#include "mask_menu_radio.lbm"
};
const uint8_t mask_menu_stats[] = {
#include "mask_menu_stats.lbm"
};
const uint8_t mask_menu_theme[] = {
#include "mask_menu_theme.lbm"
};
const uint8_t mask_model_curves[] = {
#include "mask_model_curves.lbm"
};
const uint8_t mask_model_flight_modes[] = {
#include "mask_model_flight_modes.lbm"
};
const uint8_t mask_model_gvars[] = {
#include "mask_model_gvars.lbm"
};
const uint8_t mask_model_heli[] = {
#include "mask_model_heli.lbm"
};
const uint8_t mask_model_inputs[] = {
#include "mask_model_inputs.lbm"
};
const uint8_t mask_model_logical_switches[] = {
#include "mask_model_logical_switches.lbm"
};
const uint8_t mask_model_lua_scripts[] = {
#include "mask_model_lua_scripts.lbm"
};
const uint8_t mask_model_mixer[] = {
#include "mask_model_mixer.lbm"
};
const uint8_t mask_model_outputs[] = {
#include "mask_model_outputs.lbm"
};
const uint8_t mask_model_setup[] = {
#include "mask_model_setup.lbm"
};
const uint8_t mask_model_special_functions[] = {
#include "mask_model_special_functions.lbm"
};
const uint8_t mask_model_telemetry[] = {
#include "mask_model_telemetry.lbm"
};
const uint8_t mask_monitor[] = {
#include "mask_monitor.lbm"
};
const uint8_t mask_monitor_channels1[] = {
#include "mask_monitor_channels1.lbm"
};
const uint8_t mask_monitor_channels2[] = {
#include "mask_monitor_channels2.lbm"
};
const uint8_t mask_monitor_channels3[] = {
#include "mask_monitor_channels3.lbm"
};
const uint8_t mask_monitor_channels4[] = {
#include "mask_monitor_channels4.lbm"
};
const uint8_t mask_monitor_gvars[] = {
#include "mask_monitor_gvars.lbm"
};
const uint8_t mask_monitor_inver[] = {
#include "mask_monitor_inver.lbm"
};
const uint8_t mask_monitor_lockch[] = {
#include "mask_monitor_lockch.lbm"
};
const uint8_t mask_monitor_logsw[] = {
#include "mask_monitor_logsw.lbm"
};
const uint8_t mask_monitor_mixes1[] = {
#include "mask_monitor_mixes1.lbm"
};
const uint8_t mask_monitor_mixes2[] = {
#include "mask_monitor_mixes2.lbm"
};
const uint8_t mask_mplex_add[] = {
#include "mask_mplex_add.lbm"
};
const uint8_t mask_mplex_multi[] = {
#include "mask_mplex_multi.lbm"
};
const uint8_t mask_mplex_replace[] = {
#include "mask_mplex_replace.lbm"
};
const uint8_t mask_topleft[] = {
#include "mask_topleft.lbm"
};
const uint8_t mask_edgetx[] = {
#include "mask_edgetx.lbm"
};
const uint8_t mask_opentx_testmode[] = {
#include "mask_opentx_testmode.lbm"
};
const uint8_t mask_radio_calibration[] = {
#include "mask_radio_calibration.lbm"
};
const uint8_t mask_radio_global_functions[] = {
#include "mask_radio_global_functions.lbm"
};
const uint8_t mask_radio_hardware[] = {
#include "mask_radio_hardware.lbm"
};
const uint8_t mask_radio_sd_browser[] = {
#include "mask_radio_sd_browser.lbm"
};
const uint8_t mask_radio_setup[] = {
#include "mask_radio_setup.lbm"
};
const uint8_t mask_radio_tools[] = {
#include "mask_radio_tools.lbm"
};
const uint8_t mask_radio_trainer[] = {
#include "mask_radio_trainer.lbm"
};
const uint8_t mask_radio_version[] = {
#include "mask_radio_version.lbm"
};
const uint8_t mask_sbar_mixer[] = {
#include "mask_sbar_mixer.lbm"
};
const uint8_t mask_sbar_output[] = {
#include "mask_sbar_output.lbm"
};
const uint8_t mask_sbar_to[] = {
#include "mask_sbar_to.lbm"
};
const uint8_t mask_stats_analogs[] = {
#include "mask_stats_analogs.lbm"
};
const uint8_t mask_stats_debug[] = {
#include "mask_stats_debug.lbm"
};
const uint8_t mask_stats_lua[] = {
#include "mask_stats_lua.lbm"
};
const uint8_t mask_stats_throttle_graph[] = {
#include "mask_stats_throttle_graph.lbm"
};
const uint8_t mask_stats_timers[] = {
#include "mask_stats_timers.lbm"
};
const uint8_t mask_stats_value[] = {
#include "mask_stats_value.lbm"
};
const uint8_t mask_switches[] = {
#include "mask_switches.lbm"
};
const uint8_t mask_textline_curve[] = {
#include "mask_textline_curve.lbm"
};
const uint8_t mask_textline_delay[] = {
#include "mask_textline_delay.lbm"
};
const uint8_t mask_textline_delayslow[] = {
#include "mask_textline_delayslow.lbm"
};
const uint8_t mask_textline_fm[] = {
#include "mask_textline_fm.lbm"
};
const uint8_t mask_textline_label[] = {
#include "mask_textline_label.lbm"
};
const uint8_t mask_textline_slow[] = {
#include "mask_textline_slow.lbm"
};
const uint8_t mask_textline_switch[] = {
#include "mask_textline_switch.lbm"
};
const uint8_t mask_theme_add_view[] = {
#include "mask_theme_add_view.lbm"
};
const uint8_t mask_theme_setup[] = {
#include "mask_theme_setup.lbm"
};
const uint8_t mask_theme_view1[] = {
#include "mask_theme_view1.lbm"
};
const uint8_t mask_theme_view2[] = {
#include "mask_theme_view2.lbm"
};
const uint8_t mask_theme_view3[] = {
#include "mask_theme_view3.lbm"
};
const uint8_t mask_theme_view4[] = {
#include "mask_theme_view4.lbm"
};
const uint8_t mask_theme_view5[] = {
#include "mask_theme_view5.lbm"
};
const uint8_t mask_theme_view6[] = {
#include "mask_theme_view6.lbm"
};
const uint8_t mask_theme_view7[] = {
#include "mask_theme_view7.lbm"
};
const uint8_t mask_theme_view8[] = {
#include "mask_theme_view8.lbm"
};
+72 -58
View File
@@ -20,6 +20,7 @@
#include "opentx.h"
#include "tabsgroup.h"
#include "480_bitmaps.h"
const ZoneOption OPTIONS_THEME_DEFAULT[] = {
{ STR_BACKGROUND_COLOR, ZoneOption::Color, OPTION_VALUE_UNSIGNED(WHITE) },
@@ -80,10 +81,9 @@ class Theme480: public OpenTxTheme
lcdColorTable[TRIM_SHADOW_COLOR_INDEX] = BLACK;
}
void loadMenuIcon(uint8_t index, const char * filename, uint32_t color=MENU_COLOR) const
void loadMenuIcon(uint8_t index, const uint8_t * lbm, uint32_t color=MENU_COLOR) const
{
TRACE("loadMenuIcon %s", getFilePath(filename));
BitmapBuffer * mask = BitmapBuffer::loadMask(getFilePath(filename));
BitmapBuffer * mask = BitmapBuffer::load8bitMask(lbm);
if (mask) {
delete iconMask[index];
iconMask[index] = mask;
@@ -107,76 +107,90 @@ class Theme480: public OpenTxTheme
void loadIcons() const
{
#if defined(LOG_TELEMETRY) || !defined(WATCHDOG)
loadMenuIcon(ICON_OPENTX, "mask_opentx_testmode.png", DEFAULT_COLOR);
loadMenuIcon(ICON_OPENTX, mask_opentx_testmode, DEFAULT_COLOR);
#else
loadMenuIcon(ICON_OPENTX, "mask_edgetx.png");
loadMenuIcon(ICON_OPENTX, mask_edgetx);
#endif
#if defined(HARDWARE_TOUCH)
loadMenuIcon(ICON_NEXT, "mask_next.png");
loadMenuIcon(ICON_BACK, "mask_back.png");
#if defined(HARDWARE_TOUCH) //TODO: get rid of, and use a real hitbox instead...
loadMenuIcon(ICON_NEXT, mask_next);
loadMenuIcon(ICON_BACK, mask_back);
#endif
loadMenuIcon(ICON_RADIO, "mask_menu_radio.png");
loadMenuIcon(ICON_RADIO_SETUP, "mask_radio_setup.png");
loadMenuIcon(ICON_RADIO_SD_MANAGER, "mask_radio_sd_browser.png");
loadMenuIcon(ICON_RADIO_TOOLS, "mask_radio_tools.png");
loadMenuIcon(ICON_RADIO_SPECTRUM_ANALYSER, "/mask_radio_spectrum_analyser.png");
loadMenuIcon(ICON_RADIO_GLOBAL_FUNCTIONS, "mask_radio_global_functions.png");
loadMenuIcon(ICON_RADIO_TRAINER, "mask_radio_trainer.png");
loadMenuIcon(ICON_RADIO_HARDWARE, "mask_radio_hardware.png");
loadMenuIcon(ICON_RADIO_CALIBRATION, "mask_radio_calibration.png");
loadMenuIcon(ICON_RADIO_VERSION, "mask_radio_version.png");
loadMenuIcon(ICON_MODEL, "mask_menu_model.png");
loadMenuIcon(ICON_MODEL_SETUP, "mask_model_setup.png");
loadMenuIcon(ICON_MODEL_HELI, "mask_model_heli.png");
loadMenuIcon(ICON_MODEL_FLIGHT_MODES, "mask_model_flight_modes.png");
loadMenuIcon(ICON_MODEL_INPUTS, "mask_model_inputs.png");
loadMenuIcon(ICON_MODEL_MIXER, "mask_model_mixer.png");
loadMenuIcon(ICON_MODEL_OUTPUTS, "mask_model_outputs.png");
loadMenuIcon(ICON_MODEL_CURVES, "mask_model_curves.png");
loadMenuIcon(ICON_MODEL_GVARS, "mask_model_gvars.png");
loadMenuIcon(ICON_MODEL_LOGICAL_SWITCHES, "mask_model_logical_switches.png");
loadMenuIcon(ICON_MODEL_SPECIAL_FUNCTIONS, "mask_model_special_functions.png");
loadMenuIcon(ICON_MODEL_LUA_SCRIPTS, "mask_model_lua_scripts.png");
loadMenuIcon(ICON_MODEL_TELEMETRY, "mask_model_telemetry.png");
loadMenuIcon(ICON_STATS, "mask_menu_stats.png");
loadMenuIcon(ICON_STATS_THROTTLE_GRAPH, "mask_stats_throttle_graph.png");
loadMenuIcon(ICON_STATS_TIMERS, "mask_stats_timers.png");
loadMenuIcon(ICON_STATS_ANALOGS, "mask_stats_analogs.png");
loadMenuIcon(ICON_STATS_DEBUG, "mask_stats_debug.png");
loadMenuIcon(ICON_THEME, "mask_menu_theme.png");
loadMenuIcon(ICON_THEME_SETUP, "mask_theme_setup.png");
loadMenuIcon(ICON_THEME_VIEW1, "mask_theme_view1.png");
loadMenuIcon(ICON_THEME_VIEW2, "mask_theme_view2.png");
loadMenuIcon(ICON_THEME_VIEW3, "mask_theme_view3.png");
loadMenuIcon(ICON_THEME_VIEW4, "mask_theme_view4.png");
loadMenuIcon(ICON_THEME_VIEW5, "mask_theme_view5.png");
loadMenuIcon(ICON_THEME_ADD_VIEW, "mask_theme_add_view.png");
loadMenuIcon(ICON_MONITOR, "mask_monitor.png");
loadMenuIcon(ICON_MONITOR_CHANNELS1, "mask_monitor_channels1.png");
loadMenuIcon(ICON_MONITOR_CHANNELS2, "mask_monitor_channels2.png");
loadMenuIcon(ICON_MONITOR_CHANNELS3, "mask_monitor_channels3.png");
loadMenuIcon(ICON_MONITOR_CHANNELS4, "mask_monitor_channels4.png");
loadMenuIcon(ICON_MONITOR_LOGICAL_SWITCHES, "mask_monitor_logsw.png");
loadMenuIcon(ICON_RADIO, mask_menu_radio);
loadMenuIcon(ICON_RADIO_SETUP, mask_radio_setup);
loadMenuIcon(ICON_RADIO_SD_MANAGER, mask_radio_sd_browser);
loadMenuIcon(ICON_RADIO_TOOLS, mask_radio_tools);
//loadMenuIcon(ICON_RADIO_SPECTRUM_ANALYSER, mask_radio_spectrum_analyser);
loadMenuIcon(ICON_RADIO_GLOBAL_FUNCTIONS, mask_radio_global_functions);
loadMenuIcon(ICON_RADIO_TRAINER, mask_radio_trainer);
loadMenuIcon(ICON_RADIO_HARDWARE, mask_radio_hardware);
loadMenuIcon(ICON_RADIO_CALIBRATION, mask_radio_calibration);
loadMenuIcon(ICON_RADIO_VERSION, mask_radio_version);
loadMenuIcon(ICON_MODEL, mask_menu_model);
loadMenuIcon(ICON_MODEL_SETUP, mask_model_setup);
loadMenuIcon(ICON_MODEL_HELI, mask_model_heli);
loadMenuIcon(ICON_MODEL_FLIGHT_MODES, mask_model_flight_modes);
loadMenuIcon(ICON_MODEL_INPUTS, mask_model_inputs);
loadMenuIcon(ICON_MODEL_MIXER, mask_model_mixer);
loadMenuIcon(ICON_MODEL_OUTPUTS, mask_model_outputs);
loadMenuIcon(ICON_MODEL_CURVES, mask_model_curves);
loadMenuIcon(ICON_MODEL_GVARS, mask_model_gvars);
loadMenuIcon(ICON_MODEL_LOGICAL_SWITCHES, mask_model_logical_switches);
loadMenuIcon(ICON_MODEL_SPECIAL_FUNCTIONS, mask_model_special_functions);
loadMenuIcon(ICON_MODEL_LUA_SCRIPTS, mask_model_lua_scripts);
loadMenuIcon(ICON_MODEL_TELEMETRY, mask_model_telemetry);
loadMenuIcon(ICON_STATS, mask_menu_stats);
loadMenuIcon(ICON_STATS_THROTTLE_GRAPH, mask_stats_throttle_graph);
loadMenuIcon(ICON_STATS_TIMERS, mask_stats_timers);
loadMenuIcon(ICON_STATS_ANALOGS, mask_stats_analogs);
loadMenuIcon(ICON_STATS_DEBUG, mask_stats_debug);
loadMenuIcon(ICON_THEME, mask_menu_theme);
loadMenuIcon(ICON_THEME_SETUP, mask_theme_setup);
loadMenuIcon(ICON_THEME_VIEW1, mask_theme_view1);
loadMenuIcon(ICON_THEME_VIEW2, mask_theme_view2);
loadMenuIcon(ICON_THEME_VIEW3, mask_theme_view3);
loadMenuIcon(ICON_THEME_VIEW4, mask_theme_view4);
loadMenuIcon(ICON_THEME_VIEW5, mask_theme_view5);
loadMenuIcon(ICON_THEME_ADD_VIEW, mask_theme_add_view);
loadMenuIcon(ICON_MONITOR, mask_monitor);
loadMenuIcon(ICON_MONITOR_CHANNELS1, mask_monitor_channels1);
loadMenuIcon(ICON_MONITOR_CHANNELS2, mask_monitor_channels2);
loadMenuIcon(ICON_MONITOR_CHANNELS3, mask_monitor_channels3);
loadMenuIcon(ICON_MONITOR_CHANNELS4, mask_monitor_channels4);
loadMenuIcon(ICON_MONITOR_LOGICAL_SWITCHES, mask_monitor_logsw);
BitmapBuffer * background = BitmapBuffer::loadMask(getFilePath("mask_currentmenu_bg.png"));
BitmapBuffer * shadow = BitmapBuffer::loadMask(getFilePath("mask_currentmenu_shadow.png"));
BitmapBuffer * dot = BitmapBuffer::loadMask(getFilePath("mask_currentmenu_dot.png"));
BitmapBuffer * background = BitmapBuffer::load8bitMask(mask_currentmenu_bg);
BitmapBuffer * shadow = BitmapBuffer::load8bitMask(mask_currentmenu_shadow);
BitmapBuffer * dot = BitmapBuffer::load8bitMask(mask_currentmenu_dot);
if (!currentMenuBackground) {
currentMenuBackground = new BitmapBuffer(BMP_RGB565, 36, 53);
}
if (currentMenuBackground) {
currentMenuBackground->drawSolidFilledRect(0, 0, currentMenuBackground->width(), MENU_HEADER_HEIGHT, MENU_BGCOLOR);
currentMenuBackground->drawSolidFilledRect(0, MENU_HEADER_HEIGHT, currentMenuBackground->width(), MENU_TITLE_TOP - MENU_HEADER_HEIGHT, DEFAULT_BGCOLOR);
currentMenuBackground->drawSolidFilledRect(0, MENU_TITLE_TOP, currentMenuBackground->width(), currentMenuBackground->height() - MENU_TITLE_TOP, TITLE_BGCOLOR);
currentMenuBackground->drawMask(0, 0, background, HEADER_CURRENT_BGCOLOR);
currentMenuBackground->drawSolidFilledRect(
0, 0, currentMenuBackground->width(), MENU_HEADER_HEIGHT,
MENU_BGCOLOR);
currentMenuBackground->drawSolidFilledRect(
0, MENU_HEADER_HEIGHT, currentMenuBackground->width(),
MENU_TITLE_TOP - MENU_HEADER_HEIGHT, DEFAULT_BGCOLOR);
currentMenuBackground->drawSolidFilledRect(
0, MENU_TITLE_TOP, currentMenuBackground->width(),
currentMenuBackground->height() - MENU_TITLE_TOP, TITLE_BGCOLOR);
currentMenuBackground->drawMask(0, 0, background,
HEADER_CURRENT_BGCOLOR);
currentMenuBackground->drawMask(0, 0, shadow, TRIM_SHADOW_COLOR);
currentMenuBackground->drawMask(10, 39, dot, MENU_COLOR);
}
delete topleftBitmap;
topleftBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("topleft.png"), TITLE_BGCOLOR, HEADER_COLOR);
topleftBitmap = BitmapBuffer::load8bitMaskOnBackground(
mask_topleft, TITLE_BGCOLOR, HEADER_COLOR);
delete background;
delete shadow;