Skip to content

Commit

Permalink
fix(color): Fix single widget layout size, improve code readability (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
philmoz authored Jan 1, 2023
1 parent bc8087c commit 943b1e7
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
12 changes: 6 additions & 6 deletions radio/src/gui/colorlcd/layouts/layout_factory_impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,11 @@ void Layout::adjustLayout()
{
// Check if deco setting are still up-to-date
uint8_t checkSettings =
(hasTopbar() ? 1 << 0 : 0) |
(hasSliders() ? 1 << 1 : 0) |
(hasTrims() ? 1 << 2 : 0) |
(hasFlightMode() ? 1 << 3 : 0) |
(isMirrored() ? 1 << 4 : 0);
(hasTopbar() ? DECORATION_TOPBAR : 0) |
(hasSliders() ? DECORATION_SLIDERS : 0) |
(hasTrims() ? DECORATION_TRIMS : 0) |
(hasFlightMode() ? DECORATION_FLIGHTMODE : 0) |
(isMirrored() ? DECORATION_MIRRORED : 0);

if (checkSettings == decorationSettings) {
// everything ok, exit!
Expand All @@ -119,7 +119,7 @@ void Layout::adjustLayout()
rect_t Layout::getMainZone() const
{
rect_t zone = decoration->getMainZone();
if (decorationSettings & 0x7) {
if (decorationSettings & (DECORATION_SLIDERS|DECORATION_TRIMS|DECORATION_FLIGHTMODE)) {
// some decoration activated
zone.x += MAIN_ZONE_BORDER;
zone.y += MAIN_ZONE_BORDER;
Expand Down
12 changes: 11 additions & 1 deletion radio/src/gui/colorlcd/layouts/layout_factory_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,18 @@ class Layout: public LayoutBase
const LayoutFactory * factory = nullptr;
std::unique_ptr<ViewMainDecoration> decoration;

enum DecorationSettings {
DECORATION_NONE = 0x00,
DECORATION_TOPBAR = 0x01,
DECORATION_SLIDERS = 0x02,
DECORATION_TRIMS = 0x04,
DECORATION_FLIGHTMODE = 0x08,
DECORATION_MIRRORED = 0x10,
DECORATION_UNKNOWN = 0xFF
};

// Decoration settings bitmask to detect updates
uint8_t decorationSettings = 255;
uint8_t decorationSettings = DECORATION_UNKNOWN;

// Last time we refreshed the window
uint32_t lastRefresh = 0;
Expand Down

0 comments on commit 943b1e7

Please sign in to comment.