From f9f7ddd639b52ed99ae2a7de34a5b12bb1721973 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 16 Feb 2016 22:07:10 +0100 Subject: [PATCH] [Horus] Alert Box new design by Martin --- radio/src/bitmaps/horus/alpha_asterisk.png | Bin 0 -> 10517 bytes radio/src/bitmaps/horus/bmp_asterisk.png | Bin 9376 -> 0 bytes radio/src/gui/horus/bitmaps.cpp | 2 +- radio/src/gui/horus/popups.cpp | 31 ++++----------------- radio/src/gui/horus/theme.cpp | 28 +++++++++++++++++++ radio/src/gui/horus/theme.h | 4 ++- radio/src/gui/horus/themes/darkblue.cpp | 5 ---- radio/src/gui/taranis/popups.cpp | 18 +++++++----- radio/src/lua/interface.cpp | 11 +++++++- radio/src/opentx.h | 4 +-- radio/src/switches.cpp | 5 +++- 11 files changed, 64 insertions(+), 44 deletions(-) create mode 100644 radio/src/bitmaps/horus/alpha_asterisk.png delete mode 100644 radio/src/bitmaps/horus/bmp_asterisk.png diff --git a/radio/src/bitmaps/horus/alpha_asterisk.png b/radio/src/bitmaps/horus/alpha_asterisk.png new file mode 100644 index 0000000000000000000000000000000000000000..6923736be9f48ad0a80ed8bc455f7a883da594b2 GIT binary patch literal 10517 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 HQPBSYtl?)p literal 0 HcmV?d00001 diff --git a/radio/src/bitmaps/horus/bmp_asterisk.png b/radio/src/bitmaps/horus/bmp_asterisk.png deleted file mode 100644 index 1e12a2492be698456ded6c653d33afe9e17d3ce0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9376 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 Js>BR}{s**3=BWSx diff --git a/radio/src/gui/horus/bitmaps.cpp b/radio/src/gui/horus/bitmaps.cpp index 1c83cc7a3..d352fc915 100644 --- a/radio/src/gui/horus/bitmaps.cpp +++ b/radio/src/gui/horus/bitmaps.cpp @@ -275,7 +275,7 @@ const uint8_t LBM_STICK_POINTER[] __DMA = { */ const uint8_t LBM_ASTERISK[] __DMA = { -#include "bmp_asterisk.lbm" +#include "alpha_asterisk.lbm" }; const uint8_t LBM_POINT[] __DMA = { diff --git a/radio/src/gui/horus/popups.cpp b/radio/src/gui/horus/popups.cpp index a3f11db3e..08bf862a8 100644 --- a/radio/src/gui/horus/popups.cpp +++ b/radio/src/gui/horus/popups.cpp @@ -37,14 +37,6 @@ uint16_t popupMenuOffset = 0; uint8_t popupMenuOffsetType = MENU_OFFSET_INTERNAL; void (*popupMenuHandler)(const char * result); -void displayAlertBox() -{ - lcdClear(); - lcdDrawSolidFilledRect(POPUP_X, POPUP_Y, POPUP_W, POPUP_H, TEXT_BGCOLOR); - lcdDrawSolidRect(POPUP_X, POPUP_Y, POPUP_W, POPUP_H, 2, ALARM_COLOR); - lcdDrawBitmap(POPUP_X-80, POPUP_Y-30, LBM_ASTERISK); -} - void displayWarningBox() { lcdDrawSolidFilledRect(POPUP_X, POPUP_Y, POPUP_W, POPUP_H, TEXT_BGCOLOR); @@ -59,28 +51,15 @@ void displayMessageBox() // lcdDrawBitmap(POPUP_X+15, POPUP_Y+20, LBM_MESSAGE); } -void drawMessageBox(const char * title, const char * t, const char * last, uint8_t sound) +void drawAlertBox(const char * title, const char * text, const char * action) { - displayAlertBox(); - -#if defined(TRANSLATIONS_FR) || defined(TRANSLATIONS_IT) || defined(TRANSLATIONS_CZ) - lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y, STR_WARNING, ALARM_COLOR|DBLSIZE); - lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+25, title, ALARM_COLOR|DBLSIZE); -#else - lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y, title, ALARM_COLOR|DBLSIZE); - lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+25, STR_WARNING, ALARM_COLOR|DBLSIZE); -#endif - - if (t) lcdDrawText(WARNING_LINE_X, WARNING_INFOLINE_Y, t); - if (last) { - lcdDrawText(WARNING_LINE_X, WARNING_INFOLINE_Y+16, last); - AUDIO_ERROR_MESSAGE(sound); - } + theme->drawAlertBox(title, text, action); } -void message(const pm_char * title, const pm_char * t, const char * last, uint8_t sound) +void message(const pm_char * title, const pm_char * text, const char * action, uint8_t sound) { - drawMessageBox(title, t, last, sound); + drawAlertBox(title, text, action); + AUDIO_ERROR_MESSAGE(sound); lcdRefresh(); lcdSetContrast(); clearKeyEvents(); diff --git a/radio/src/gui/horus/theme.cpp b/radio/src/gui/horus/theme.cpp index 9d3cb7763..c3f5542bf 100644 --- a/radio/src/gui/horus/theme.cpp +++ b/radio/src/gui/horus/theme.cpp @@ -20,6 +20,34 @@ #include "opentx.h" +void Theme::drawBackground() const +{ + lcdDrawSolidFilledRect(0, 0, LCD_W, LCD_H, TEXT_BGCOLOR); +} + +void Theme::drawAlertBox(const char * title, const char * text, const char * action) const +{ + drawBackground(); + lcdDrawSolidFilledRect(0, POPUP_Y, LCD_W, POPUP_H, TEXT_INVERTED_COLOR | OPACITY(8)); + lcdDrawAlphaBitmap(POPUP_X-80, POPUP_Y+12, LBM_ASTERISK); + +#if defined(TRANSLATIONS_FR) || defined(TRANSLATIONS_IT) || defined(TRANSLATIONS_CZ) + lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y, STR_WARNING, ALARM_COLOR|DBLSIZE); + lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+28, title, ALARM_COLOR|DBLSIZE); +#else + lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y, title, ALARM_COLOR|DBLSIZE); + lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+28, STR_WARNING, ALARM_COLOR|DBLSIZE); +#endif + + if (text) { + lcdDrawText(WARNING_LINE_X, WARNING_INFOLINE_Y, text); + } + + if (action) { + lcdDrawText(WARNING_LINE_X, WARNING_INFOLINE_Y+16, action); + } +} + const Theme * registeredThemes[MAX_REGISTERED_THEMES]; // TODO dynamic unsigned int countRegisteredThemes = 0; void registerTheme(const Theme * theme) diff --git a/radio/src/gui/horus/theme.h b/radio/src/gui/horus/theme.h index ca8421bca..3af0f2c5a 100644 --- a/radio/src/gui/horus/theme.h +++ b/radio/src/gui/horus/theme.h @@ -48,10 +48,12 @@ class Theme virtual void load() const = 0; - virtual void drawBackground() const = 0; + virtual void drawBackground() const; virtual void drawTopbarBackground(const uint8_t * icon) const = 0; + virtual void drawAlertBox(const char * title, const char * text, const char * action) const; + protected: const char * name; const uint8_t * bitmap; diff --git a/radio/src/gui/horus/themes/darkblue.cpp b/radio/src/gui/horus/themes/darkblue.cpp index 583510c47..59a1ac679 100644 --- a/radio/src/gui/horus/themes/darkblue.cpp +++ b/radio/src/gui/horus/themes/darkblue.cpp @@ -61,11 +61,6 @@ class DarkblueTheme: public Theme lcdColorTable[OVERLAY_COLOR_INDEX] = BLACK; } - virtual void drawBackground() const - { - lcdDrawSolidFilledRect(0, 0, LCD_W, LCD_H, TEXT_BGCOLOR); - } - void drawTopbarBackground(const uint8_t * icon) const { lcdDrawSolidFilledRect(0, 0, LCD_W, MENU_HEADER_HEIGHT, HEADER_BGCOLOR); diff --git a/radio/src/gui/taranis/popups.cpp b/radio/src/gui/taranis/popups.cpp index 914a369a7..92893aa09 100644 --- a/radio/src/gui/taranis/popups.cpp +++ b/radio/src/gui/taranis/popups.cpp @@ -55,7 +55,7 @@ const pm_uchar asterisk_lbm[] PROGMEM = { #include "asterisk.lbm" }; -void drawMessageBox(const pm_char * title, const pm_char * t, const char * last, uint8_t sound) +void drawAlertBox(const char * title, const char * text, const char * action) { lcdClear(); lcdDrawBitmap(0, 0, asterisk_lbm); @@ -71,18 +71,22 @@ void drawMessageBox(const pm_char * title, const pm_char * t, const char * last, #endif lcdDrawFilledRect(MESSAGE_LCD_OFFSET, 0, LCD_W-MESSAGE_LCD_OFFSET, 32); - if (t) lcdDrawText(MESSAGE_LCD_OFFSET, 5*FH, t); - if (last) { - lcdDrawText(MESSAGE_LCD_OFFSET, 7*FH, last); - AUDIO_ERROR_MESSAGE(sound); + + if (text) { + lcdDrawText(MESSAGE_LCD_OFFSET, 5*FH, text); + } + + if (action) { + lcdDrawText(MESSAGE_LCD_OFFSET, 7*FH, action); } #undef MESSAGE_LCD_OFFSET } -void message(const pm_char * title, const pm_char * t, const char * last, uint8_t sound) +void message(const pm_char * title, const pm_char * text, const char * action, uint8_t sound) { - drawMessageBox(title, t, last, sound); + drawAlertBox(title, text, action); + AUDIO_ERROR_MESSAGE(sound); lcdRefresh(); lcdSetContrast(); clearKeyEvents(); diff --git a/radio/src/lua/interface.cpp b/radio/src/lua/interface.cpp index 2cf8a8c42..bb7537627 100644 --- a/radio/src/lua/interface.cpp +++ b/radio/src/lua/interface.cpp @@ -814,7 +814,8 @@ class LuaTheme: public Theme Theme(name, bitmap), loadFunction(0), drawBackgroundFunction(0), - drawTopbarBackgroundFunction(0) + drawTopbarBackgroundFunction(0), + drawAlertBoxFunction(0) { } @@ -845,10 +846,18 @@ class LuaTheme: public Theme exec(drawTopbarBackgroundFunction); } +#if 0 + virtual void drawAlertBox(const char * title, const char * text, const char * action) const + { + exec(drawAlertBoxFunction); + } +#endif + protected: int loadFunction; int drawBackgroundFunction; int drawTopbarBackgroundFunction; + int drawAlertBoxFunction; }; int luaLoadTheme(const char * filename) diff --git a/radio/src/opentx.h b/radio/src/opentx.h index f16a3a1a8..15185ada8 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -674,9 +674,9 @@ uint16_t evalChkSum(); // TODO these functions in gui directories #if defined(COLORLCD) || defined(PCBTARANIS) -void drawMessageBox(const pm_char * title, const pm_char * t, const char * last, uint8_t sound); +void drawAlertBox(const char * title, const char * text, const char * action); #endif -void message(const pm_char * title, const pm_char * s, const char * last MESSAGE_SOUND_ARG); +void message(const pm_char * title, const pm_char * text, const char * action MESSAGE_SOUND_ARG); void alert(const pm_char * t, const pm_char * s MESSAGE_SOUND_ARG); enum PerOutMode { diff --git a/radio/src/switches.cpp b/radio/src/switches.cpp index ca8fcc647..b33b3fe78 100644 --- a/radio/src/switches.cpp +++ b/radio/src/switches.cpp @@ -831,7 +831,10 @@ void checkSwitches() // first - display warning #if defined(PCBTARANIS) || defined(PCBFLAMENCO) || defined(PCBHORUS) if ((last_bad_switches != switches_states) || (last_bad_pots != bad_pots)) { - drawMessageBox(STR_SWITCHWARN, NULL, STR_PRESSANYKEYTOSKIP, ((last_bad_switches == 0xff) || (last_bad_pots == 0xff)) ? AU_SWITCH_ALERT : AU_NONE); + drawAlertBox(STR_SWITCHWARN, NULL, STR_PRESSANYKEYTOSKIP); + if (last_bad_switches == 0xff || last_bad_pots == 0xff) { + AUDIO_ERROR_MESSAGE(AU_SWITCH_ALERT); + } int x = SWITCH_WARNING_LIST_X, y = SWITCH_WARNING_LIST_Y; int numWarnings = 0; for (int i=0; i