diff --git a/radio/src/bitmaps/horus/mask_swipe_circle.png b/radio/src/bitmaps/horus/mask_swipe_circle.png new file mode 100644 index 000000000..79d65cc27 Binary files /dev/null and b/radio/src/bitmaps/horus/mask_swipe_circle.png differ diff --git a/radio/src/bitmaps/horus/mask_swipe_left.png b/radio/src/bitmaps/horus/mask_swipe_left.png new file mode 100644 index 000000000..9c2aa607b Binary files /dev/null and b/radio/src/bitmaps/horus/mask_swipe_left.png differ diff --git a/radio/src/bitmaps/horus/mask_swipe_right.png b/radio/src/bitmaps/horus/mask_swipe_right.png new file mode 100644 index 000000000..b470b61ff Binary files /dev/null and b/radio/src/bitmaps/horus/mask_swipe_right.png differ diff --git a/radio/src/gui/horus/bitmaps.cpp b/radio/src/gui/horus/bitmaps.cpp index d352fc915..08c72d601 100644 --- a/radio/src/gui/horus/bitmaps.cpp +++ b/radio/src/gui/horus/bitmaps.cpp @@ -342,3 +342,15 @@ const uint8_t LBM_BUTTON_OFF[] __DMA = { #include "alpha_button_off.lbm" }; +const uint8_t LBM_SWIPE_CIRCLE[] __DMA = { + #include "mask_swipe_circle.lbm" +}; + +const uint8_t LBM_SWIPE_LEFT[] __DMA = { + #include "mask_swipe_arrow.lbm" +}; + +const uint8_t LBM_SWIPE_RIGHT[] __DMA = { + #include "mask_swipe_right.lbm" +}; + diff --git a/radio/src/gui/horus/bitmaps.h b/radio/src/gui/horus/bitmaps.h index f1869b51c..c48f6506e 100644 --- a/radio/src/gui/horus/bitmaps.h +++ b/radio/src/gui/horus/bitmaps.h @@ -97,4 +97,8 @@ extern const uint8_t LBM_CARROUSSEL_RIGHT[]; extern const uint8_t LBM_BUTTON_ON[]; extern const uint8_t LBM_BUTTON_OFF[]; +extern const uint8_t LBM_SWIPE_CIRCLE[]; +extern const uint8_t LBM_SWIPE_LEFT[]; +extern const uint8_t LBM_SWIPE_RIGHT[]; + #endif // _BITMAPS_H_ diff --git a/radio/src/gui/horus/lcd.cpp b/radio/src/gui/horus/lcd.cpp index f4fc2be33..69c39b261 100644 --- a/radio/src/gui/horus/lcd.cpp +++ b/radio/src/gui/horus/lcd.cpp @@ -352,18 +352,18 @@ void lcdDrawRect(coord_t x, coord_t y, coord_t w, coord_t h, uint8_t thickness, } #if defined(SIMU) -void lcdDrawSolidFilledRect(coord_t x, scoord_t y, coord_t w, coord_t h, LcdFlags att) +void lcdDrawSolidFilledRect(coord_t x, coord_t y, coord_t w, coord_t h, LcdFlags att) { - for (scoord_t i=y; irefresh(); - lcdDrawBlackOverlay(); - currentWidget->refresh(); Zone zone = currentScreen->getZone(currentZone); - lcdDrawBitmapPattern(zone.x+2, zone.y+zone.h/2-15, LBM_CARROUSSEL_LEFT, menuHorizontalPosition > 0 ? LINE_COLOR : CURVE_AXIS_COLOR); - lcdDrawBitmapPattern(zone.x+zone.w-8, zone.y+zone.h/2-15, LBM_CARROUSSEL_RIGHT, menuHorizontalPosition < countRegisteredWidgets-1 ? LINE_COLOR : CURVE_AXIS_COLOR); + lcdDrawFilledRect(0, 0, zone.x-2, LCD_H, SOLID, OVERLAY_COLOR | (8<<24)); + lcdDrawFilledRect(zone.x+zone.w+2, 0, LCD_W-zone.x-zone.w-2, LCD_H, SOLID, OVERLAY_COLOR | (8<<24)); + lcdDrawFilledRect(zone.x-2, 0, zone.w+4, zone.y-2, SOLID, OVERLAY_COLOR | (8<<24)); + lcdDrawFilledRect(zone.x-2, zone.y+zone.h+2, zone.w+4, LCD_H-zone.y-zone.h-2, SOLID, OVERLAY_COLOR | (8<<24)); + + currentWidget->refresh(); + + lcdDrawBitmapPattern(zone.x-10, zone.y+zone.h/2-10, LBM_SWIPE_CIRCLE, TEXT_INVERTED_BGCOLOR); + lcdDrawBitmapPattern(zone.x-10, zone.y+zone.h/2-10, LBM_SWIPE_LEFT, TEXT_INVERTED_COLOR); + lcdDrawBitmapPattern(zone.x+zone.w-9, zone.y+zone.h/2-10, LBM_SWIPE_CIRCLE, TEXT_INVERTED_BGCOLOR); + lcdDrawBitmapPattern(zone.x+zone.w-9, zone.y+zone.h/2-10, LBM_SWIPE_RIGHT, TEXT_INVERTED_COLOR); return true; } @@ -337,8 +344,6 @@ bool menuScreenSetup(evt_t event) menuPageCount = updateMainviewsMenu(); MENU_WITH_OPTIONS(title, LBM_MAINVIEWS_ICONS, menuTabMainviews, menuPageCount, T+1, linesCount, { uint8_t(NAVIGATION_LINE_BY_LINE|uint8_t(countRegisteredLayouts-1)), ORPHAN_ROW, 0, 0, 0, 0 }); - - for (int i=0; i