Did a scripted search and replace to replace 40 existing theme colors with 11 new theme colors.
This commit is contained in:
committed by
Raphael Coeffic
parent
5db5783be5
commit
95b87db3e0
+7
-7
@@ -354,17 +354,17 @@ typedef void (*timedTestFunc_t)(void);
|
||||
|
||||
void testDrawSolidFilledRectangle()
|
||||
{
|
||||
lcdDrawFilledRect(0, 0, LCD_W, LCD_H, SOLID, DEFAULT_BGCOLOR);
|
||||
lcdDrawFilledRect(0, 0, LCD_W, LCD_H, SOLID, COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
|
||||
void testDrawFilledRectangle()
|
||||
{
|
||||
lcdDrawFilledRect(0, 0, LCD_W, LCD_H, DOTTED, DEFAULT_BGCOLOR);
|
||||
lcdDrawFilledRect(0, 0, LCD_W, LCD_H, DOTTED, COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
|
||||
void testDrawSolidFilledRoundedRectangle()
|
||||
{
|
||||
lcdDrawFilledRect(0, 0, LCD_W/2, LCD_H/2, SOLID, ROUND|DEFAULT_BGCOLOR);
|
||||
lcdDrawFilledRect(0, 0, LCD_W/2, LCD_H/2, SOLID, ROUND|COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
|
||||
void testDrawBlackOverlay()
|
||||
@@ -394,7 +394,7 @@ void testDrawSolidVerticalLine2()
|
||||
|
||||
void testDrawDiagonalLine()
|
||||
{
|
||||
lcdDrawLine(0,0, LCD_W, LCD_H, SOLID, DEFAULT_COLOR);
|
||||
lcdDrawLine(0,0, LCD_W, LCD_H, SOLID, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
void testEmpty()
|
||||
@@ -403,17 +403,17 @@ void testEmpty()
|
||||
|
||||
void testDrawRect()
|
||||
{
|
||||
lcdDrawRect(0, 0, LCD_W, LCD_H, 2, SOLID, DEFAULT_COLOR);
|
||||
lcdDrawRect(0, 0, LCD_W, LCD_H, 2, SOLID, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
void testDrawText()
|
||||
{
|
||||
lcdDrawText(0, LCD_H/2, "The quick brown fox jumps over the lazy dog", DEFAULT_COLOR);
|
||||
lcdDrawText(0, LCD_H/2, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
void testDrawTextVertical()
|
||||
{
|
||||
lcdDrawText(30, LCD_H, "The quick brown fox ", DEFAULT_COLOR|VERTICAL);
|
||||
lcdDrawText(30, LCD_H, "The quick brown fox ", COLOR_THEME_SECONDARY1|VERTICAL);
|
||||
}
|
||||
|
||||
void testClear()
|
||||
|
||||
@@ -58,7 +58,7 @@ class MixerChannelBar : public ChannelBar
|
||||
chanVal = limit<int>(-VIEW_CHANNELS_LIMIT_PCT, chanVal, VIEW_CHANNELS_LIMIT_PCT);
|
||||
|
||||
// Draw Background
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), FIELD_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), COLOR_THEME_PRIMARY2);
|
||||
|
||||
// Draw mixer bar
|
||||
if (chanVal > 0) {
|
||||
@@ -66,10 +66,10 @@ class MixerChannelBar : public ChannelBar
|
||||
dc->drawSolidFilledRect(
|
||||
0 + width() / 2, 0,
|
||||
divRoundClosest(chanVal * width(), VIEW_CHANNELS_LIMIT_PCT * 2),
|
||||
height(), FOCUS_BGCOLOR);
|
||||
height(), COLOR_THEME_FOCUS);
|
||||
|
||||
dc->drawNumber(width() / 2 - 10, 0, displayVal,
|
||||
FONT(XS) | DEFAULT_COLOR | RIGHT, 0, nullptr, "%");
|
||||
FONT(XS) | COLOR_THEME_SECONDARY1 | RIGHT, 0, nullptr, "%");
|
||||
|
||||
} else if (chanVal < 0) {
|
||||
|
||||
@@ -78,14 +78,14 @@ class MixerChannelBar : public ChannelBar
|
||||
divRoundClosest(-chanVal * width(), VIEW_CHANNELS_LIMIT_PCT * 2);
|
||||
|
||||
dc->drawSolidFilledRect(endpoint - size, 0, size, height(),
|
||||
FOCUS_BGCOLOR);
|
||||
COLOR_THEME_FOCUS);
|
||||
|
||||
dc->drawNumber(10 + width() / 2, 0, displayVal,
|
||||
FONT(XS) | DEFAULT_COLOR, 0, nullptr, "%");
|
||||
FONT(XS) | COLOR_THEME_SECONDARY1, 0, nullptr, "%");
|
||||
}
|
||||
|
||||
// Draw middle bar
|
||||
dc->drawSolidVerticalLine(width() / 2, 0, height(), DEFAULT_COLOR);
|
||||
dc->drawSolidVerticalLine(width() / 2, 0, height(), COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
void checkEvents() override
|
||||
@@ -116,7 +116,7 @@ class OutputChannelBar : public ChannelBar
|
||||
VIEW_CHANNELS_LIMIT_PCT);
|
||||
|
||||
// Draw Background
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), FIELD_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), COLOR_THEME_PRIMARY2);
|
||||
|
||||
// Draw output bar
|
||||
if (chanVal > 0) {
|
||||
@@ -124,10 +124,10 @@ class OutputChannelBar : public ChannelBar
|
||||
dc->drawSolidFilledRect(
|
||||
width() / 2, 0,
|
||||
divRoundClosest(chanVal * width(), VIEW_CHANNELS_LIMIT_PCT * 2),
|
||||
height(), HIGHLIGHT_COLOR);
|
||||
height(), COLOR_THEME_ACTIVE);
|
||||
|
||||
dc->drawNumber(width() / 2 - 10, 0, displayVal,
|
||||
FONT(XS) | DEFAULT_COLOR | RIGHT, 0, nullptr, "%");
|
||||
FONT(XS) | COLOR_THEME_SECONDARY1 | RIGHT, 0, nullptr, "%");
|
||||
|
||||
} else if (chanVal < 0) {
|
||||
unsigned endpoint = width() / 2;
|
||||
@@ -135,14 +135,14 @@ class OutputChannelBar : public ChannelBar
|
||||
divRoundClosest(-chanVal * width(), VIEW_CHANNELS_LIMIT_PCT * 2);
|
||||
|
||||
dc->drawSolidFilledRect(endpoint - size, 0, size, height(),
|
||||
HIGHLIGHT_COLOR);
|
||||
COLOR_THEME_ACTIVE);
|
||||
|
||||
dc->drawNumber(width() / 2 + 10, 0, displayVal,
|
||||
FONT(XS) | DEFAULT_COLOR, 0, nullptr, "%");
|
||||
FONT(XS) | COLOR_THEME_SECONDARY1, 0, nullptr, "%");
|
||||
}
|
||||
|
||||
// Draw middle bar
|
||||
dc->drawSolidVerticalLine(width() / 2, 0, height(), DEFAULT_COLOR);
|
||||
dc->drawSolidVerticalLine(width() / 2, 0, height(), COLOR_THEME_SECONDARY1);
|
||||
|
||||
// Draw output limits bars
|
||||
LimitData* ld = limitAddress(channel);
|
||||
@@ -162,13 +162,13 @@ class OutputChannelBar : public ChannelBar
|
||||
|
||||
void drawOutputBarLimits(BitmapBuffer * dc, coord_t left, coord_t right)
|
||||
{
|
||||
dc->drawSolidVerticalLine(left, 0, BAR_HEIGHT, DEFAULT_COLOR);
|
||||
dc->drawSolidHorizontalLine(left, 0, 3, DEFAULT_COLOR);
|
||||
dc->drawSolidHorizontalLine(left, BAR_HEIGHT - 1, 3, DEFAULT_COLOR);
|
||||
dc->drawSolidVerticalLine(left, 0, BAR_HEIGHT, COLOR_THEME_SECONDARY1);
|
||||
dc->drawSolidHorizontalLine(left, 0, 3, COLOR_THEME_SECONDARY1);
|
||||
dc->drawSolidHorizontalLine(left, BAR_HEIGHT - 1, 3, COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc->drawSolidVerticalLine(right, 0, BAR_HEIGHT, DEFAULT_COLOR);
|
||||
dc->drawSolidHorizontalLine(right - 3, 0, 3, DEFAULT_COLOR);
|
||||
dc->drawSolidHorizontalLine(right - 3, BAR_HEIGHT - 1, 3, DEFAULT_COLOR);
|
||||
dc->drawSolidVerticalLine(right, 0, BAR_HEIGHT, COLOR_THEME_SECONDARY1);
|
||||
dc->drawSolidHorizontalLine(right - 3, 0, 3, COLOR_THEME_SECONDARY1);
|
||||
dc->drawSolidHorizontalLine(right - 3, BAR_HEIGHT - 1, 3, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
void checkEvents() override
|
||||
@@ -205,24 +205,24 @@ class ComboChannelBar : public ChannelBar
|
||||
|
||||
// Channel number
|
||||
strAppendSigned(&chanString[2], channel + 1, 2);
|
||||
dc->drawText(lmargin, 0, chanString, FONT(XS) | DEFAULT_COLOR | LEFT);
|
||||
dc->drawText(lmargin, 0, chanString, FONT(XS) | COLOR_THEME_SECONDARY1 | LEFT);
|
||||
|
||||
// Channel name
|
||||
dc->drawSizedText(lmargin + 45, 0, g_model.limitData[channel].name, sizeof(g_model.limitData[channel].name), FONT(XS) | DEFAULT_COLOR | LEFT);
|
||||
dc->drawSizedText(lmargin + 45, 0, g_model.limitData[channel].name, sizeof(g_model.limitData[channel].name), FONT(XS) | COLOR_THEME_SECONDARY1 | LEFT);
|
||||
|
||||
// Channel value in µS
|
||||
dc->drawNumber(width(), 0, usValue, FONT(XS) | DEFAULT_COLOR | RIGHT, 0, nullptr, STR_US);
|
||||
dc->drawNumber(width(), 0, usValue, FONT(XS) | COLOR_THEME_SECONDARY1 | RIGHT, 0, nullptr, STR_US);
|
||||
|
||||
// Override icon
|
||||
#if defined(OVERRIDE_CHANNEL_FUNCTION)
|
||||
if (safetyCh[channel] != OVERRIDE_CHANNEL_UNDEFINED)
|
||||
dc->drawMask(0, 1, chanMonLockedBitmap, DEFAULT_COLOR);
|
||||
dc->drawMask(0, 1, chanMonLockedBitmap, COLOR_THEME_SECONDARY1);
|
||||
#endif
|
||||
|
||||
// Channel reverted icon
|
||||
LimitData * ld = limitAddress(channel);
|
||||
if (ld && ld->revert) {
|
||||
lcd->drawMask(0, 20, chanMonInvertedBitmap, DEFAULT_COLOR);
|
||||
lcd->drawMask(0, 20, chanMonInvertedBitmap, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+25
-110
@@ -27,69 +27,26 @@
|
||||
// TODO common code, not in target
|
||||
enum LcdColorIndex
|
||||
{
|
||||
// this one first for when colour is not set
|
||||
DEFAULT_COLOR_INDEX,
|
||||
|
||||
OS_COLOR_PRIMARY1_INDEX,
|
||||
OS_COLOR_PRIMARY2_INDEX,
|
||||
OS_COLOR_PRIMARY3_INDEX,
|
||||
OS_COLOR_SECONDARY1_INDEX,
|
||||
OS_COLOR_SECONDARY2_INDEX,
|
||||
OS_COLOR_SECONDARY3_INDEX,
|
||||
OS_COLOR_FOCUS_INDEX,
|
||||
OS_COLOR_EDIT_INDEX,
|
||||
OS_COLOR_ACTIVE_INDEX,
|
||||
OS_COLOR_WARNING_INDEX,
|
||||
|
||||
ALARM_COLOR_INDEX,
|
||||
BARGRAPH1_COLOR_INDEX,
|
||||
BARGRAPH2_COLOR_INDEX,
|
||||
BARGRAPH_BGCOLOR_INDEX,
|
||||
BATTERY_CHARGE_COLOR_INDEX,
|
||||
CHECKBOX_COLOR_INDEX,
|
||||
CURVE_AXIS_COLOR_INDEX,
|
||||
CURVE_COLOR_INDEX,
|
||||
CURVE_CURSOR_COLOR_INDEX,
|
||||
COLOR_THEME_PRIMARY1_INDEX,
|
||||
COLOR_THEME_PRIMARY2_INDEX,
|
||||
COLOR_THEME_PRIMARY3_INDEX,
|
||||
COLOR_THEME_SECONDARY1_INDEX,
|
||||
COLOR_THEME_SECONDARY2_INDEX,
|
||||
COLOR_THEME_SECONDARY3_INDEX,
|
||||
COLOR_THEME_FOCUS_INDEX,
|
||||
COLOR_THEME_EDIT_INDEX,
|
||||
COLOR_THEME_ACTIVE_INDEX,
|
||||
COLOR_THEME_WARNING_INDEX,
|
||||
COLOR_THEME_DISABLED_INDEX,
|
||||
CUSTOM_COLOR_INDEX,
|
||||
DEFAULT_BGCOLOR_INDEX,
|
||||
DISABLE_COLOR_INDEX,
|
||||
EDIT_MARKER_COLOR_INDEX,
|
||||
FIELD_BGCOLOR_INDEX,
|
||||
FIELD_FRAME_COLOR_INDEX,
|
||||
FOCUS_BGCOLOR_INDEX,
|
||||
FOCUS_COLOR_INDEX,
|
||||
HEADER_BGCOLOR_INDEX,
|
||||
HEADER_COLOR_INDEX,
|
||||
HEADER_CURRENT_BGCOLOR_INDEX,
|
||||
HEADER_ICON_BGCOLOR_INDEX,
|
||||
HIGHLIGHT_COLOR_INDEX,
|
||||
LINE_COLOR_INDEX,
|
||||
MENU_HIGHLIGHT_BGCOLOR_INDEX,
|
||||
MAINVIEW_GRAPHICS_COLOR_INDEX,
|
||||
MAINVIEW_PANES_COLOR_INDEX,
|
||||
MENU_BGCOLOR_INDEX,
|
||||
MENU_COLOR_INDEX,
|
||||
MENU_HIGHLIGHT_COLOR_INDEX,
|
||||
MENU_LINE_COLOR_INDEX,
|
||||
MENU_TITLE_DISABLE_COLOR_INDEX,
|
||||
OVERLAY_COLOR_INDEX,
|
||||
SCROLLBAR_COLOR_INDEX,
|
||||
SCROLLBOX_COLOR_INDEX,
|
||||
TABLE_BGCOLOR_INDEX,
|
||||
TABLE_HEADER_BGCOLOR_INDEX,
|
||||
TEXT_DISABLE_COLOR_INDEX,
|
||||
TEXT_STATUSBAR_COLOR_INDEX,
|
||||
TITLE_BGCOLOR_INDEX,
|
||||
TRIM_BGCOLOR_INDEX,
|
||||
TRIM_SHADOW_COLOR_INDEX,
|
||||
|
||||
// this one MUST be last
|
||||
LCD_COLOR_COUNT,
|
||||
};
|
||||
|
||||
|
||||
//#define MENU_HIGHLIGHT_COLOR_INDEX HIGHLIGHT_COLOR_INDEX
|
||||
//#define MENU_LINE_COLOR_INDEX LINE_COLOR_INDEX
|
||||
//#define COLOR_THEME_PRIMARY2_INDEX COLOR_THEME_ACTIVE_INDEX
|
||||
//#define COLOR_THEME_SECONDARY2_INDEX COLOR_THEME_PRIMARY3_INDEX
|
||||
|
||||
|
||||
//
|
||||
@@ -124,63 +81,21 @@ inline void lcdSetColor(uint16_t color)
|
||||
|
||||
#define COLOR(index) ((uint32_t)lcdColorTable[ unsigned(index) & 0xFF ] << 16u)
|
||||
|
||||
#define OS_COLOR_PRIMARY1 COLOR(OS_COLOR_PRIMARY1_INDEX)
|
||||
#define OS_COLOR_PRIMARY2 COLOR(OS_COLOR_PRIMARY2_INDEX)
|
||||
#define OS_COLOR_PRIMARY3 COLOR(OS_COLOR_PRIMARY3_INDEX)
|
||||
#define OS_COLOR_SECONDARY1 COLOR(OS_COLOR_SECONDARY1_INDEX)
|
||||
#define OS_COLOR_SECONDARY2 COLOR(OS_COLOR_SECONDARY2_INDEX)
|
||||
#define OS_COLOR_SECONDARY3 COLOR(OS_COLOR_SECONDARY3_INDEX)
|
||||
#define OS_COLOR_FOCUS COLOR(OS_COLOR_FOCUS_INDEX)
|
||||
#define OS_COLOR_EDIT COLOR(OS_COLOR_EDIT_INDEX)
|
||||
#define OS_COLOR_ACTIVE COLOR(OS_COLOR_ACTIVE_INDEX)
|
||||
#define OS_COLOR_WARNING COLOR(OS_COLOR_WARNING_INDEX)
|
||||
|
||||
#define ALARM_COLOR COLOR(ALARM_COLOR_INDEX)
|
||||
#define BARGRAPH1_COLOR COLOR(BARGRAPH1_COLOR_INDEX)
|
||||
#define BARGRAPH2_COLOR COLOR(BARGRAPH2_COLOR_INDEX)
|
||||
#define BARGRAPH_BGCOLOR COLOR(BARGRAPH_BGCOLOR_INDEX)
|
||||
#define BATTERY_CHARGE_COLOR COLOR(BATTERY_CHARGE_COLOR_INDEX)
|
||||
#define CHECKBOX_COLOR COLOR(CHECKBOX_COLOR_INDEX)
|
||||
#define CURVE_AXIS_COLOR COLOR(CURVE_AXIS_COLOR_INDEX)
|
||||
#define CURVE_COLOR COLOR(CURVE_COLOR_INDEX)
|
||||
#define CURVE_CURSOR_COLOR COLOR(CURVE_CURSOR_COLOR_INDEX)
|
||||
#define COLOR_THEME_PRIMARY1 COLOR(COLOR_THEME_PRIMARY1_INDEX)
|
||||
#define COLOR_THEME_PRIMARY2 COLOR(COLOR_THEME_PRIMARY2_INDEX)
|
||||
#define COLOR_THEME_PRIMARY3 COLOR(COLOR_THEME_PRIMARY3_INDEX)
|
||||
#define COLOR_THEME_SECONDARY1 COLOR(COLOR_THEME_SECONDARY1_INDEX)
|
||||
#define COLOR_THEME_SECONDARY2 COLOR(COLOR_THEME_SECONDARY2_INDEX)
|
||||
#define COLOR_THEME_SECONDARY3 COLOR(COLOR_THEME_SECONDARY3_INDEX)
|
||||
#define COLOR_THEME_FOCUS COLOR(COLOR_THEME_FOCUS_INDEX)
|
||||
#define COLOR_THEME_EDIT COLOR(COLOR_THEME_EDIT_INDEX)
|
||||
#define COLOR_THEME_ACTIVE COLOR(COLOR_THEME_ACTIVE_INDEX)
|
||||
#define COLOR_THEME_WARNING COLOR(COLOR_THEME_WARNING_INDEX)
|
||||
#define COLOR_THEME_DISABLED COLOR(COLOR_THEME_DISABLED_INDEX)
|
||||
#define CUSTOM_COLOR COLOR(CUSTOM_COLOR_INDEX)
|
||||
#define DEFAULT_BGCOLOR COLOR(DEFAULT_BGCOLOR_INDEX)
|
||||
#define DEFAULT_COLOR COLOR(DEFAULT_COLOR_INDEX)
|
||||
#define DISABLE_COLOR COLOR(DISABLE_COLOR_INDEX)
|
||||
#define EDIT_MARKER_COLOR COLOR(EDIT_MARKER_COLOR_INDEX)
|
||||
#define FIELD_BGCOLOR COLOR(FIELD_BGCOLOR_INDEX)
|
||||
#define FIELD_FRAME_COLOR COLOR(FIELD_FRAME_COLOR_INDEX)
|
||||
#define FOCUS_BGCOLOR COLOR(FOCUS_BGCOLOR_INDEX)
|
||||
#define FOCUS_COLOR COLOR(FOCUS_COLOR_INDEX)
|
||||
#define HEADER_BGCOLOR COLOR(HEADER_BGCOLOR_INDEX)
|
||||
#define HEADER_COLOR COLOR(HEADER_COLOR_INDEX)
|
||||
#define HEADER_CURRENT_BGCOLOR COLOR(HEADER_CURRENT_BGCOLOR_INDEX)
|
||||
#define HEADER_ICON_BGCOLOR COLOR(HEADER_ICON_BGCOLOR_INDEX)
|
||||
//#define HEADER_SEPARATOR_COLOR COLOR(HEADER_SEPARATOR_COLOR_INDEX)
|
||||
#define HIGHLIGHT_COLOR COLOR(HIGHLIGHT_COLOR_INDEX)
|
||||
#define LINE_COLOR COLOR(LINE_COLOR_INDEX)
|
||||
#define MAINVIEW_GRAPHICS_COLOR COLOR(MAINVIEW_GRAPHICS_COLOR_INDEX)
|
||||
#define MAINVIEW_PANES_COLOR COLOR(MAINVIEW_PANES_COLOR_INDEX)
|
||||
#define MENU_BGCOLOR COLOR(MENU_BGCOLOR_INDEX)
|
||||
#define MENU_COLOR COLOR(MENU_COLOR_INDEX)
|
||||
#define MENU_HIGHLIGHT_BGCOLOR COLOR(MENU_HIGHLIGHT_BGCOLOR_INDEX)
|
||||
#define MENU_HIGHLIGHT_COLOR COLOR(MENU_HIGHLIGHT_COLOR_INDEX)
|
||||
#define MENU_LINE_COLOR COLOR(MENU_LINE_COLOR_INDEX)
|
||||
//#define MENU_TITLE_BGCOLOR COLOR(MENU_TITLE_BGCOLOR_INDEX)
|
||||
#define MENU_TITLE_DISABLE_COLOR COLOR(MENU_TITLE_DISABLE_COLOR_INDEX)
|
||||
#define OVERLAY_COLOR COLOR(OVERLAY_COLOR_INDEX)
|
||||
#define SCROLLBAR_COLOR COLOR(SCROLLBAR_COLOR_INDEX)
|
||||
#define TABLE_BGCOLOR COLOR(TABLE_BGCOLOR_INDEX)
|
||||
#define TABLE_HEADER_BGCOLOR COLOR(TABLE_HEADER_BGCOLOR_INDEX)
|
||||
#define TEXT_DISABLE_COLOR COLOR(TEXT_DISABLE_COLOR_INDEX)
|
||||
#define TEXT_STATUSBAR_COLOR COLOR(TEXT_STATUSBAR_COLOR_INDEX)
|
||||
#define TITLE_BGCOLOR COLOR(TITLE_BGCOLOR_INDEX)
|
||||
#define TRIM_BGCOLOR COLOR(TRIM_BGCOLOR_INDEX)
|
||||
#define TRIM_SHADOW_COLOR COLOR(TRIM_SHADOW_COLOR_INDEX)
|
||||
|
||||
#if defined(WINDOWS_INSPECT_BORDERS)
|
||||
#define WINDOWS_INSPECT_BORDER_COLOR LINE_COLOR
|
||||
#define WINDOWS_INSPECT_BORDER_COLOR COLOR_THEME_PRIMARY3
|
||||
#endif
|
||||
|
||||
#endif // _COLORS_H_
|
||||
|
||||
@@ -27,20 +27,20 @@
|
||||
|
||||
void Curve::drawBackground(BitmapBuffer * dc)
|
||||
{
|
||||
dc->clear(FIELD_BGCOLOR);
|
||||
dc->clear(COLOR_THEME_PRIMARY2);
|
||||
|
||||
// Axis
|
||||
dc->drawSolidHorizontalLine(0, height()/2, width(), FIELD_FRAME_COLOR);
|
||||
dc->drawSolidVerticalLine(width()/2, 0, height(), FIELD_FRAME_COLOR);
|
||||
dc->drawSolidHorizontalLine(0, height()/2, width(), COLOR_THEME_SECONDARY2);
|
||||
dc->drawSolidVerticalLine(width()/2, 0, height(), COLOR_THEME_SECONDARY2);
|
||||
|
||||
// Extra lines
|
||||
dc->drawVerticalLine(width()/4, 0, height(), STASHED, FIELD_FRAME_COLOR);
|
||||
dc->drawVerticalLine(width()*3/4, 0, height(), STASHED, FIELD_FRAME_COLOR);
|
||||
dc->drawHorizontalLine(0, height()/4, width(), STASHED, FIELD_FRAME_COLOR);
|
||||
dc->drawHorizontalLine(0, height()*3/4, width(), STASHED, FIELD_FRAME_COLOR);
|
||||
dc->drawVerticalLine(width()/4, 0, height(), STASHED, COLOR_THEME_SECONDARY2);
|
||||
dc->drawVerticalLine(width()*3/4, 0, height(), STASHED, COLOR_THEME_SECONDARY2);
|
||||
dc->drawHorizontalLine(0, height()/4, width(), STASHED, COLOR_THEME_SECONDARY2);
|
||||
dc->drawHorizontalLine(0, height()*3/4, width(), STASHED, COLOR_THEME_SECONDARY2);
|
||||
|
||||
// Outside border
|
||||
dc->drawSolidRect(0, 0, width(), height(), 1, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(0, 0, width(), height(), 1, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
|
||||
coord_t Curve::getPointX(int x) const
|
||||
@@ -66,12 +66,12 @@ void Curve::drawCurve(BitmapBuffer * dc)
|
||||
if (prev >= 0) {
|
||||
if (prev < y) {
|
||||
for (int tmp = prev; tmp <= y; tmp++) {
|
||||
dc->drawBitmapPattern(x - 2, tmp - 2, LBM_POINT, DEFAULT_COLOR);
|
||||
dc->drawBitmapPattern(x - 2, tmp - 2, LBM_POINT, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int tmp = y; tmp <= prev; tmp++) {
|
||||
dc->drawBitmapPattern(x - 2, tmp - 2, LBM_POINT, DEFAULT_COLOR);
|
||||
dc->drawBitmapPattern(x - 2, tmp - 2, LBM_POINT, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -88,17 +88,17 @@ void Curve::drawPosition(BitmapBuffer * dc)
|
||||
coord_t y = getPointY(valueY);
|
||||
|
||||
// the 2 lines
|
||||
dc->drawSolidHorizontalLine(0, y, width(), HIGHLIGHT_COLOR);
|
||||
dc->drawSolidVerticalLine(x, 0, height(), HIGHLIGHT_COLOR);
|
||||
dc->drawSolidHorizontalLine(0, y, width(), COLOR_THEME_ACTIVE);
|
||||
dc->drawSolidVerticalLine(x, 0, height(), COLOR_THEME_ACTIVE);
|
||||
|
||||
// the point (white inside)
|
||||
dc->drawBitmapPattern(x-4, y-4, LBM_CURVE_POINT, HIGHLIGHT_COLOR);
|
||||
dc->drawBitmapPattern(x-4, y-4, LBM_CURVE_POINT_CENTER, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(x-4, y-4, LBM_CURVE_POINT, COLOR_THEME_ACTIVE);
|
||||
dc->drawBitmapPattern(x-4, y-4, LBM_CURVE_POINT_CENTER, COLOR_THEME_PRIMARY2);
|
||||
|
||||
char coords[16];
|
||||
strAppendSigned(strAppend(strAppendSigned(coords, calcRESXto100(valueX)), ","), calcRESXto100(valueY));
|
||||
dc->drawSolidFilledRect(10, 11, 1 + getTextWidth(coords, 0, FONT(XS)), 17, HIGHLIGHT_COLOR);
|
||||
dc->drawText(11, 10, coords, FONT(XS) | FOCUS_COLOR);
|
||||
dc->drawSolidFilledRect(10, 11, 1 + getTextWidth(coords, 0, FONT(XS)), 17, COLOR_THEME_ACTIVE);
|
||||
dc->drawText(11, 10, coords, FONT(XS) | COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void Curve::drawPoint(BitmapBuffer * dc, const CurvePoint & point)
|
||||
@@ -107,7 +107,7 @@ void Curve::drawPoint(BitmapBuffer * dc, const CurvePoint & point)
|
||||
coord_t y = getPointY(point.coords.y);
|
||||
|
||||
dc->drawBitmapPattern(x-4, y-4, LBM_CURVE_POINT, point.flags);
|
||||
dc->drawBitmapPattern(x-4, y-4, LBM_CURVE_POINT_CENTER, DEFAULT_BGCOLOR);
|
||||
dc->drawBitmapPattern(x-4, y-4, LBM_CURVE_POINT_CENTER, COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
|
||||
void Curve::paint(BitmapBuffer * dc)
|
||||
|
||||
@@ -52,8 +52,8 @@ void CurveDataEdit::update()
|
||||
auto txt = new StaticText(
|
||||
this,
|
||||
{i * boxWidth + PAGE_PADDING, 10, boxWidth - PAGE_PADDING, boxHeight},
|
||||
std::to_string(i + 1) + " ", 0, RIGHT | DEFAULT_COLOR);
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
std::to_string(i + 1) + " ", 0, RIGHT | COLOR_THEME_SECONDARY1);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
grid.spacer(boxHeight + 10 + PAGE_PADDING);
|
||||
|
||||
@@ -88,7 +88,7 @@ void CurveDataEdit::update()
|
||||
for (uint8_t i = 0; i < curvePointsCount; i++) {
|
||||
new StaticText(this, {i * boxWidth, grid.getWindowHeight(), boxWidth, boxHeight},
|
||||
std::to_string(-100 + 200 * i / (5 + curve.points - 1)), 0,
|
||||
RIGHT | DEFAULT_COLOR);
|
||||
RIGHT | COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
grid.spacer(boxHeight + PAGE_PADDING);
|
||||
@@ -116,7 +116,7 @@ void CurveDataEdit::update()
|
||||
|
||||
void CurveDataEdit::paint(BitmapBuffer * dc)
|
||||
{
|
||||
dc->clear(DEFAULT_BGCOLOR);
|
||||
dc->clear(COLOR_THEME_SECONDARY3);
|
||||
// dc->drawSolidHorizontalLine(0, rect.h / 3, getInnerWidth(), 0);
|
||||
// dc->drawSolidHorizontalLine(0, 2 * rect.h / 3, getInnerWidth(), 0);
|
||||
drawHorizontalScrollbar(dc);
|
||||
@@ -144,7 +144,7 @@ void CurveEdit::updatePreview()
|
||||
};
|
||||
}
|
||||
else {
|
||||
preview.addPoint(getPoint(index, i), DEFAULT_COLOR);
|
||||
preview.addPoint(getPoint(index, i), COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
invalidate();
|
||||
|
||||
@@ -32,20 +32,20 @@ void drawFunction(BitmapBuffer * dc, FnFuncP fn, int x, int y, int width)
|
||||
int right = x + width;
|
||||
|
||||
// Axis
|
||||
dc->drawSolidHorizontalLine(left, y, width*2+1, DISABLE_COLOR);
|
||||
dc->drawSolidVerticalLine(x, y-width, width*2, DISABLE_COLOR);
|
||||
dc->drawSolidHorizontalLine(left, y, width*2+1, COLOR_THEME_DISABLED);
|
||||
dc->drawSolidVerticalLine(x, y-width, width*2, COLOR_THEME_DISABLED);
|
||||
|
||||
// Extra lines
|
||||
dc->drawVerticalLine(left+width/2, y-width, width*2, STASHED, DISABLE_COLOR);
|
||||
dc->drawVerticalLine(right-width/2, y-width, width*2, STASHED, DISABLE_COLOR);
|
||||
dc->drawHorizontalLine(left, y-width/2, width*2+1, STASHED, DISABLE_COLOR);
|
||||
dc->drawHorizontalLine(left, y+width/2, width*2+1, STASHED, DISABLE_COLOR);
|
||||
dc->drawVerticalLine(left+width/2, y-width, width*2, STASHED, COLOR_THEME_DISABLED);
|
||||
dc->drawVerticalLine(right-width/2, y-width, width*2, STASHED, COLOR_THEME_DISABLED);
|
||||
dc->drawHorizontalLine(left, y-width/2, width*2+1, STASHED, COLOR_THEME_DISABLED);
|
||||
dc->drawHorizontalLine(left, y+width/2, width*2+1, STASHED, COLOR_THEME_DISABLED);
|
||||
|
||||
// Outside border
|
||||
dc->drawSolidVerticalLine(left, y-width, width*2, DEFAULT_COLOR);
|
||||
dc->drawSolidVerticalLine(right, y-width, width*2, DEFAULT_COLOR);
|
||||
dc->drawSolidHorizontalLine(left, y-width, width*2+1, DEFAULT_COLOR);
|
||||
dc->drawSolidHorizontalLine(left, y+width, width*2+1, DEFAULT_COLOR);
|
||||
dc->drawSolidVerticalLine(left, y-width, width*2, COLOR_THEME_SECONDARY1);
|
||||
dc->drawSolidVerticalLine(right, y-width, width*2, COLOR_THEME_SECONDARY1);
|
||||
dc->drawSolidHorizontalLine(left, y-width, width*2+1, COLOR_THEME_SECONDARY1);
|
||||
dc->drawSolidHorizontalLine(left, y+width, width*2+1, COLOR_THEME_SECONDARY1);
|
||||
|
||||
coord_t prev_yv = (coord_t)-1;
|
||||
|
||||
@@ -54,12 +54,12 @@ void drawFunction(BitmapBuffer * dc, FnFuncP fn, int x, int y, int width)
|
||||
if (prev_yv != (coord_t)-1) {
|
||||
if (prev_yv < yv) {
|
||||
for (int y=prev_yv; y<=yv; y+=1) {
|
||||
dc->drawBitmapPattern(x+xv-2, y-2, LBM_POINT, DEFAULT_COLOR);
|
||||
dc->drawBitmapPattern(x+xv-2, y-2, LBM_POINT, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int y=yv; y<=prev_yv; y+=1) {
|
||||
dc->drawBitmapPattern(x+xv-2, y-2, LBM_POINT, DEFAULT_COLOR);
|
||||
dc->drawBitmapPattern(x+xv-2, y-2, LBM_POINT, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -70,28 +70,28 @@ void drawFunction(BitmapBuffer * dc, FnFuncP fn, int x, int y, int width)
|
||||
void drawCurveVerticalScale(BitmapBuffer * dc, int x)
|
||||
{
|
||||
for (int i=0; i<=20; i++) {
|
||||
dc->drawSolidHorizontalLine(x, CURVE_CENTER_Y-CURVE_SIDE_WIDTH+i*CURVE_SIDE_WIDTH/10, 10, DEFAULT_COLOR);
|
||||
dc->drawSolidHorizontalLine(x, CURVE_CENTER_Y-CURVE_SIDE_WIDTH+i*CURVE_SIDE_WIDTH/10, 10, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
|
||||
void drawCurveHorizontalScale(BitmapBuffer * dc)
|
||||
{
|
||||
for (int i=0; i<=20; i++) {
|
||||
dc->drawSolidVerticalLine(CURVE_CENTER_X-CURVE_SIDE_WIDTH+i*CURVE_SIDE_WIDTH/10, CURVE_CENTER_Y+CURVE_SIDE_WIDTH+5, 10, DEFAULT_COLOR);
|
||||
dc->drawSolidVerticalLine(CURVE_CENTER_X-CURVE_SIDE_WIDTH+i*CURVE_SIDE_WIDTH/10, CURVE_CENTER_Y+CURVE_SIDE_WIDTH+5, 10, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
|
||||
void drawCurveCoord(BitmapBuffer * dc, int x, int y, const char * text, bool active)
|
||||
{
|
||||
dc->drawSolidFilledRect(x, y, CURVE_COORD_WIDTH, CURVE_COORD_HEIGHT, CURVE_CURSOR_COLOR);
|
||||
dc->drawText(x+3+(CURVE_COORD_WIDTH - 1 - getTextWidth(text, 0, FONT(XS))) / 2, y + 1, text, LEFT|FONT(XS)|DEFAULT_BGCOLOR);
|
||||
dc->drawSolidFilledRect(x, y, CURVE_COORD_WIDTH, CURVE_COORD_HEIGHT, COLOR_THEME_WARNING);
|
||||
dc->drawText(x+3+(CURVE_COORD_WIDTH - 1 - getTextWidth(text, 0, FONT(XS))) / 2, y + 1, text, LEFT|FONT(XS)|COLOR_THEME_SECONDARY3);
|
||||
if (active) {
|
||||
dc->drawBitmapPattern(x, y, LBM_CURVE_COORD_SHADOW, DEFAULT_COLOR);
|
||||
dc->drawBitmapPattern(x, y, LBM_CURVE_COORD_SHADOW, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
|
||||
void drawCurvePoint(BitmapBuffer * dc, int x, int y, LcdFlags color)
|
||||
{
|
||||
dc->drawBitmapPattern(x, y, LBM_CURVE_POINT, color);
|
||||
dc->drawBitmapPattern(x, y, LBM_CURVE_POINT_CENTER, DEFAULT_BGCOLOR);
|
||||
dc->drawBitmapPattern(x, y, LBM_CURVE_POINT_CENTER, COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
|
||||
@@ -33,25 +33,25 @@ coord_t drawStringWithIndex(BitmapBuffer * dc, coord_t x, coord_t y, const char
|
||||
|
||||
void drawStatusText(BitmapBuffer * dc, const char * text)
|
||||
{
|
||||
dc->drawText(MENUS_MARGIN_LEFT, MENU_FOOTER_TOP, text, TEXT_STATUSBAR_COLOR);
|
||||
dc->drawText(MENUS_MARGIN_LEFT, MENU_FOOTER_TOP, text, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void drawVerticalScrollbar(BitmapBuffer * dc, coord_t x, coord_t y, coord_t h, uint16_t offset, uint16_t count, uint8_t visible)
|
||||
{
|
||||
if (visible < count) {
|
||||
dc->drawSolidVerticalLine(x, y, h, LINE_COLOR);
|
||||
dc->drawSolidVerticalLine(x, y, h, COLOR_THEME_PRIMARY3);
|
||||
coord_t yofs = (h*offset + count/2) / count;
|
||||
coord_t yhgt = (h*visible + count/2) / count;
|
||||
if (yhgt + yofs > h)
|
||||
yhgt = h - yofs;
|
||||
dc->drawSolidFilledRect(x-1, y + yofs, 3, yhgt, CHECKBOX_COLOR);
|
||||
dc->drawSolidFilledRect(x-1, y + yofs, 3, yhgt, COLOR_THEME_FOCUS);
|
||||
}
|
||||
}
|
||||
|
||||
void drawTrimSquare(BitmapBuffer * dc, coord_t x, coord_t y, LcdFlags color)
|
||||
{
|
||||
dc->drawSolidFilledRect(x, y, 15, 15, color);
|
||||
dc->drawBitmapPattern(x, y, LBM_TRIM_SHADOW, TRIM_SHADOW_COLOR);
|
||||
dc->drawBitmapPattern(x, y, LBM_TRIM_SHADOW, COLOR_THEME_PRIMARY1);
|
||||
}
|
||||
|
||||
void drawGVarValue(BitmapBuffer * dc, coord_t x, coord_t y, uint8_t gvar, gvar_t value, LcdFlags flags)
|
||||
|
||||
@@ -56,7 +56,7 @@ void drawFlightMode(coord_t x, coord_t y, int8_t idx, LcdFlags att);
|
||||
void drawStatusText(BitmapBuffer * dc, const char * text);
|
||||
void drawVerticalScrollbar(BitmapBuffer * dc, coord_t x, coord_t y, coord_t h, uint16_t offset, uint16_t count, uint8_t visible);
|
||||
void drawProgressScreen(BitmapBuffer * dc, const char * title, const char * message, int num, int den);
|
||||
void drawTrimSquare(BitmapBuffer * dc, coord_t x, coord_t y, LcdFlags color = TRIM_BGCOLOR);
|
||||
void drawTrimSquare(BitmapBuffer * dc, coord_t x, coord_t y, LcdFlags color = COLOR_THEME_FOCUS);
|
||||
void drawHorizontalTrimPosition(BitmapBuffer * dc, coord_t x, coord_t y, int16_t dir);
|
||||
void drawVerticalTrimPosition(BitmapBuffer * dc, coord_t x, coord_t y, int16_t dir);
|
||||
void drawVerticalSlider(BitmapBuffer * dc, coord_t x, coord_t y, int len, int val, int min, int max, uint8_t steps, uint32_t options);
|
||||
|
||||
@@ -53,6 +53,6 @@ void FabButton::paint(BitmapBuffer * dc)
|
||||
const BitmapBuffer* mask = theme->getIconMask(icon);
|
||||
if (mask) {
|
||||
dc->drawMask((width() - mask->width()) / 2,
|
||||
(FAB_BUTTON_SIZE - mask->height()) / 2, mask, DEFAULT_BGCOLOR);
|
||||
(FAB_BUTTON_SIZE - mask->height()) / 2, mask, COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,35 +51,35 @@ void FullScreenDialog::paint(BitmapBuffer * dc)
|
||||
OpenTxTheme::instance()->drawBackground(dc);
|
||||
|
||||
dc->drawFilledRect(0, ALERT_FRAME_TOP, LCD_W, ALERT_FRAME_HEIGHT, SOLID,
|
||||
FOCUS_COLOR, OPACITY(8));
|
||||
COLOR_THEME_PRIMARY2, OPACITY(8));
|
||||
|
||||
if (type == WARNING_TYPE_ALERT || type == WARNING_TYPE_ASTERISK) {
|
||||
dc->drawMask(ALERT_BITMAP_LEFT, ALERT_BITMAP_TOP,
|
||||
OpenTxTheme::instance()->error, ALARM_COLOR);
|
||||
OpenTxTheme::instance()->error, COLOR_THEME_WARNING);
|
||||
} else if (type == WARNING_TYPE_INFO) {
|
||||
dc->drawMask(ALERT_BITMAP_LEFT, ALERT_BITMAP_TOP,
|
||||
OpenTxTheme::instance()->busy, ALARM_COLOR);
|
||||
OpenTxTheme::instance()->busy, COLOR_THEME_WARNING);
|
||||
} else { // confirmation
|
||||
dc->drawMask(ALERT_BITMAP_LEFT, ALERT_BITMAP_TOP,
|
||||
OpenTxTheme::instance()->error, ALARM_COLOR);
|
||||
OpenTxTheme::instance()->error, COLOR_THEME_WARNING);
|
||||
}
|
||||
|
||||
if (type == WARNING_TYPE_ALERT) {
|
||||
#if defined(TRANSLATIONS_FR) || defined(TRANSLATIONS_IT) || \
|
||||
defined(TRANSLATIONS_CZ)
|
||||
dc->drawText(ALERT_TITLE_LEFT, ALERT_TITLE_TOP, STR_WARNING,
|
||||
ALARM_COLOR | FONT(XL));
|
||||
COLOR_THEME_WARNING | FONT(XL));
|
||||
dc->drawText(ALERT_TITLE_LEFT, ALERT_TITLE_TOP + ALERT_TITLE_LINE_HEIGHT,
|
||||
title.c_str(), ALARM_COLOR | FONT(XL));
|
||||
title.c_str(), COLOR_THEME_WARNING | FONT(XL));
|
||||
#else
|
||||
dc->drawText(ALERT_TITLE_LEFT, ALERT_TITLE_TOP, title.c_str(),
|
||||
ALARM_COLOR | FONT(XL));
|
||||
COLOR_THEME_WARNING | FONT(XL));
|
||||
dc->drawText(ALERT_TITLE_LEFT, ALERT_TITLE_TOP + ALERT_TITLE_LINE_HEIGHT,
|
||||
STR_WARNING, ALARM_COLOR | FONT(XL));
|
||||
STR_WARNING, COLOR_THEME_WARNING | FONT(XL));
|
||||
#endif
|
||||
} else if (!title.empty()) {
|
||||
dc->drawText(ALERT_TITLE_LEFT, ALERT_TITLE_TOP, title.c_str(),
|
||||
ALARM_COLOR | FONT(XL));
|
||||
COLOR_THEME_WARNING | FONT(XL));
|
||||
}
|
||||
|
||||
if (!message.empty()) {
|
||||
|
||||
@@ -28,15 +28,15 @@ void MainViewHorizontalSlider::paint(BitmapBuffer * dc)
|
||||
coord_t x = TRIM_SQUARE_SIZE / 2;
|
||||
for (uint8_t i = 0; i <= SLIDER_TICKS_COUNT; i++) {
|
||||
if (i == 0 || i == SLIDER_TICKS_COUNT / 2 || i == SLIDER_TICKS_COUNT)
|
||||
dc->drawSolidVerticalLine(x, 2, 13, DEFAULT_COLOR);
|
||||
dc->drawSolidVerticalLine(x, 2, 13, COLOR_THEME_SECONDARY1);
|
||||
else
|
||||
dc->drawSolidVerticalLine(x, 4, 9, DEFAULT_COLOR);
|
||||
dc->drawSolidVerticalLine(x, 4, 9, COLOR_THEME_SECONDARY1);
|
||||
x += delta;
|
||||
}
|
||||
|
||||
// The square
|
||||
x = divRoundClosest((width() - TRIM_SQUARE_SIZE) * (value + RESX), 2 * RESX);
|
||||
drawTrimSquare(dc, x, 0, TRIM_BGCOLOR);
|
||||
drawTrimSquare(dc, x, 0, COLOR_THEME_FOCUS);
|
||||
}
|
||||
|
||||
void MainView6POS::paint(BitmapBuffer * dc)
|
||||
@@ -45,15 +45,15 @@ void MainView6POS::paint(BitmapBuffer * dc)
|
||||
int delta = (width() - TRIM_SQUARE_SIZE) / (XPOTS_MULTIPOS_COUNT - 1);
|
||||
coord_t x = TRIM_SQUARE_SIZE / 2;
|
||||
for (uint8_t i = 0; i <= XPOTS_MULTIPOS_COUNT; i++) {
|
||||
dc->drawSolidVerticalLine(x, 4, 9, DEFAULT_COLOR);
|
||||
dc->drawSolidVerticalLine(x, 4, 9, COLOR_THEME_SECONDARY1);
|
||||
x += delta;
|
||||
}
|
||||
|
||||
// The square
|
||||
auto value = 1 + (potsPos[idx] & 0x0f);
|
||||
x = TRIM_SQUARE_SIZE / 2 + divRoundClosest((width() - TRIM_SQUARE_SIZE) * (value -1) , 6);
|
||||
drawTrimSquare(dc, x, 0, TRIM_BGCOLOR);
|
||||
dc->drawNumber(x + 1, 0, value, FOCUS_COLOR);
|
||||
drawTrimSquare(dc, x, 0, COLOR_THEME_FOCUS);
|
||||
dc->drawNumber(x + 1, 0, value, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void MainViewVerticalSlider::paint(BitmapBuffer * dc)
|
||||
@@ -64,13 +64,13 @@ void MainViewVerticalSlider::paint(BitmapBuffer * dc)
|
||||
coord_t y = TRIM_SQUARE_SIZE / 2;
|
||||
for (uint8_t i = 0; i <= sliderTicksCount; i++) {
|
||||
if (i == 0 || i == sliderTicksCount / 2 || i == sliderTicksCount)
|
||||
dc->drawSolidHorizontalLine(2, y, 13, DEFAULT_COLOR);
|
||||
dc->drawSolidHorizontalLine(2, y, 13, COLOR_THEME_SECONDARY1);
|
||||
else
|
||||
dc->drawSolidHorizontalLine(4, y, 9, DEFAULT_COLOR);
|
||||
dc->drawSolidHorizontalLine(4, y, 9, COLOR_THEME_SECONDARY1);
|
||||
y += delta;
|
||||
}
|
||||
|
||||
// The square
|
||||
y = divRoundClosest((height() - TRIM_SQUARE_SIZE) * (-value + RESX), 2 * RESX);
|
||||
drawTrimSquare(dc, 0, y, TRIM_BGCOLOR);
|
||||
drawTrimSquare(dc, 0, y, COLOR_THEME_FOCUS);
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ coord_t TopbarImpl::getVisibleHeight(float visible) const // 0.0 -> 1.0
|
||||
|
||||
void TopbarImpl::paint(BitmapBuffer * dc)
|
||||
{
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), HEADER_COLOR);
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), COLOR_THEME_SECONDARY1);
|
||||
OpenTxTheme::instance()->drawTopLeftBitmap(dc);
|
||||
|
||||
struct gtm t;
|
||||
@@ -89,33 +89,34 @@ void TopbarImpl::paint(BitmapBuffer * dc)
|
||||
const char * const STR_MONTHS[] = TR_MONTHS;
|
||||
sprintf(str, "%d %s", t.tm_mday, STR_MONTHS[t.tm_mon]);
|
||||
#endif
|
||||
//dc->drawSolidVerticalLine(DATETIME_SEPARATOR_X, 7, 31, MENU_COLOR);
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE1, str, FONT(XS)|FOCUS_COLOR|CENTERED);
|
||||
//dc->drawSolidVerticalLine(DATETIME_SEPARATOR_X, 7, 31, COLOR_THEME_SECONDARY1);
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE1, str, FONT(XS) | CENTERED | COLOR_THEME_PRIMARY2);
|
||||
getTimerString(str, getValue(MIXSRC_TX_TIME));
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE2, str, FONT(XS)|FOCUS_COLOR|CENTERED);
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE2, str, FONT(XS) | CENTERED | COLOR_THEME_PRIMARY2);
|
||||
|
||||
#if defined(INTERNAL_GPS)
|
||||
if (gpsData.fix) {
|
||||
char s[10];
|
||||
sprintf(s, "%d", gpsData.numSat);
|
||||
dc->drawText(GPS_X, 4, s, FONT(XS) | CENTERED | FOCUS_COLOR);
|
||||
dc->drawText(GPS_X, 4, s, FONT(XS) | CENTERED | COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
dc->drawBitmapPattern(GPS_X - 10, 22, LBM_TOPMENU_GPS,
|
||||
(gpsData.fix) ? FOCUS_COLOR : MENU_TITLE_DISABLE_COLOR);
|
||||
(gpsData.fix) ? COLOR_THEME_PRIMARY2 : COLOR_THEME_PRIMARY3);
|
||||
#endif
|
||||
|
||||
// USB icon
|
||||
if (usbPlugged()) {
|
||||
LcdFlags flags = FOCUS_COLOR;
|
||||
|
||||
LcdFlags flags = COLOR_THEME_PRIMARY2;
|
||||
if (getSelectedUsbMode() == USB_UNSELECTED_MODE) {
|
||||
flags = MENU_TITLE_DISABLE_COLOR;
|
||||
flags = COLOR_THEME_PRIMARY3;
|
||||
}
|
||||
|
||||
dc->drawBitmapPattern(USB_X, 8, LBM_TOPMENU_USB, flags);
|
||||
}
|
||||
// Logs
|
||||
else if (isFunctionActive(FUNCTION_LOGS) && BLINK_ON_PHASE) {
|
||||
dc->drawBitmapPattern(LOG_X, 6, LBM_DOT, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(LOG_X, 6, LBM_DOT, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
// RSSI
|
||||
@@ -125,49 +126,49 @@ void TopbarImpl::paint(BitmapBuffer * dc)
|
||||
uint8_t height = rssiBarsHeight[i];
|
||||
dc->drawSolidFilledRect(RSSI_X + i * 6, 38 - height, 4, height,
|
||||
TELEMETRY_RSSI() >= rssiBarsValue[i]
|
||||
? FOCUS_COLOR
|
||||
: MENU_TITLE_DISABLE_COLOR);
|
||||
? COLOR_THEME_PRIMARY2
|
||||
: COLOR_THEME_PRIMARY3);
|
||||
}
|
||||
|
||||
#if defined(INTERNAL_MODULE_PXX1) && defined(EXTERNAL_ANTENNA)
|
||||
if (isModuleXJT(INTERNAL_MODULE) && isExternalAntennaEnabled()) {
|
||||
dc->drawBitmapPattern(RSSI_X - 4, 4, LBM_TOPMENU_ANTENNA, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(RSSI_X - 4, 4, LBM_TOPMENU_ANTENNA, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Audio volume */
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_SCALE, MENU_TITLE_DISABLE_COLOR);
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_SCALE, COLOR_THEME_PRIMARY3);
|
||||
if (requiredSpeakerVolume == 0 || g_eeGeneral.beepMode == e_mode_quiet)
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_0, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_0, COLOR_THEME_PRIMARY2);
|
||||
else if (requiredSpeakerVolume < 7)
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_1, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_1, COLOR_THEME_PRIMARY2);
|
||||
else if (requiredSpeakerVolume < 13)
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_2, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_2, COLOR_THEME_PRIMARY2);
|
||||
else if (requiredSpeakerVolume < 19)
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_3, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_3, COLOR_THEME_PRIMARY2);
|
||||
else
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_4, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(AUDIO_X, 4, LBM_TOPMENU_VOLUME_4, COLOR_THEME_PRIMARY2);
|
||||
|
||||
/* Tx battery */
|
||||
uint8_t bars = GET_TXBATT_BARS(5);
|
||||
#if defined(USB_CHARGER)
|
||||
if (usbChargerLed()) {
|
||||
dc->drawBitmapPattern(AUDIO_X, 25, LBM_TOPMENU_TXBATT_CHARGING, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(AUDIO_X, 25, LBM_TOPMENU_TXBATT_CHARGING, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
else {
|
||||
dc->drawBitmapPattern(AUDIO_X, 25, LBM_TOPMENU_TXBATT, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(AUDIO_X, 25, LBM_TOPMENU_TXBATT, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
#else
|
||||
dc->drawBitmapPattern(AUDIO_X, 25, LBM_TOPMENU_TXBATT, FOCUS_COLOR);
|
||||
dc->drawBitmapPattern(AUDIO_X, 25, LBM_TOPMENU_TXBATT, COLOR_THEME_PRIMARY2);
|
||||
#endif
|
||||
for (unsigned int i = 0; i < 5; i++) {
|
||||
dc->drawSolidFilledRect(AUDIO_X - 2 + 4 * i, 30, 2, 8, i >= bars ? MENU_TITLE_DISABLE_COLOR : FOCUS_COLOR);
|
||||
dc->drawSolidFilledRect(AUDIO_X - 2 + 4 * i, 30, 2, 8, i >= bars ? COLOR_THEME_PRIMARY3 : COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
#if 0
|
||||
// Radio battery - TODO
|
||||
// drawValueWithUnit(370, 8, g_vbat100mV, UNIT_VOLTS, PREC1|FONT(XS)|MENU_COLOR);
|
||||
// lcdDrawSolidRect(300, 3, 20, 50, MENU_COLOR);
|
||||
// drawValueWithUnit(370, 8, g_vbat100mV, UNIT_VOLTS, PREC1|FONT(XS)|COLOR_THEME_SECONDARY1);
|
||||
// lcdDrawSolidRect(300, 3, 20, 50, COLOR_THEME_SECONDARY1);
|
||||
// lcdDrawRect(batt_icon_x+FW, BAR_Y+1, 13, 7);
|
||||
// lcdDrawSolidVerticalLine(batt_icon_x+FW+13, BAR_Y+2, 5);
|
||||
|
||||
@@ -185,8 +186,8 @@ void TopbarImpl::paint(BitmapBuffer * dc)
|
||||
else if (sensor.prec == 1) {
|
||||
att |= PREC1;
|
||||
}
|
||||
att |= (item.isOld() ? ALARM_COLOR : DEFAULT_COLOR);
|
||||
lcdDrawSolidFilledRect(ALTITUDE_X, VOLTS_Y, ALTITUDE_W, ALTITUDE_H, DEFAULT_BGCOLOR);
|
||||
att |= (item.isOld() ? COLOR_THEME_WARNING : COLOR_THEME_SECONDARY1);
|
||||
lcdDrawSolidFilledRect(ALTITUDE_X, VOLTS_Y, ALTITUDE_W, ALTITUDE_H, COLOR_THEME_SECONDARY3);
|
||||
lcdDrawText(ALTITUDE_X+PADDING, VOLTS_Y+2, "Voltage", att);
|
||||
drawValueWithUnit(ALTITUDE_X+PADDING, VOLTS_Y+12, value, UNIT_VOLTS, FONT(XL)|LEFT|att);
|
||||
}
|
||||
@@ -199,8 +200,8 @@ void TopbarImpl::paint(BitmapBuffer * dc)
|
||||
int32_t value = item.value;
|
||||
TelemetrySensor & sensor = g_model.telemetrySensors[g_model.frsky.altitudeSource-1];
|
||||
if (sensor.prec) value /= sensor.prec == 2 ? 100 : 10;
|
||||
LcdFlags att = (item.isOld() ? ALARM_COLOR : DEFAULT_COLOR);
|
||||
lcdDrawSolidFilledRect(ALTITUDE_X, ALTITUDE_Y, ALTITUDE_W, ALTITUDE_H, DEFAULT_BGCOLOR);
|
||||
LcdFlags att = (item.isOld() ? COLOR_THEME_WARNING : COLOR_THEME_SECONDARY1);
|
||||
lcdDrawSolidFilledRect(ALTITUDE_X, ALTITUDE_Y, ALTITUDE_W, ALTITUDE_H, COLOR_THEME_SECONDARY3);
|
||||
lcdDrawText(ALTITUDE_X+PADDING, ALTITUDE_Y+2, "Alt", att);
|
||||
drawValueWithUnit(ALTITUDE_X+PADDING, ALTITUDE_Y+12, value, UNIT_METERS, FONT(XL)|LEFT|att);
|
||||
}
|
||||
|
||||
@@ -51,28 +51,28 @@ void MainViewHorizontalTrim::paint(BitmapBuffer * dc)
|
||||
// Trim line
|
||||
dc->drawSolidFilledRect(
|
||||
TRIM_SQUARE_SIZE / 2, (height() - TRIM_LINE_WIDTH - 1) / 2,
|
||||
width() - TRIM_SQUARE_SIZE + 1, TRIM_LINE_WIDTH, DEFAULT_COLOR);
|
||||
width() - TRIM_SQUARE_SIZE + 1, TRIM_LINE_WIDTH, COLOR_THEME_SECONDARY1);
|
||||
|
||||
// Trim square
|
||||
coord_t x = divRoundClosest((width() - TRIM_SQUARE_SIZE) * (dispVal - trimMin),
|
||||
trimMax - trimMin);
|
||||
drawTrimSquare(dc, x, 0,
|
||||
(value < TRIM_MIN || value > TRIM_MAX)
|
||||
? HIGHLIGHT_COLOR /* TODO add a color */
|
||||
: TRIM_BGCOLOR);
|
||||
? COLOR_THEME_ACTIVE /* TODO add a color */
|
||||
: COLOR_THEME_FOCUS);
|
||||
|
||||
// Trim value / small lines on the square
|
||||
if (g_model.displayTrims == DISPLAY_TRIMS_ALWAYS) {
|
||||
// TODO DISPLAY_TRIMS_CHANGE
|
||||
dc->drawNumber(x + (TRIM_SQUARE_SIZE + 1) / 2, 3,
|
||||
divRoundClosest(value * 100, trimMax),
|
||||
FONT(XXS) | FOCUS_COLOR | CENTERED);
|
||||
FONT(XXS) | COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
if (value >= 0) {
|
||||
dc->drawSolidVerticalLine(x + 4, 3, 9, FOCUS_COLOR);
|
||||
dc->drawSolidVerticalLine(x + 4, 3, 9, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
if (value <= 0) {
|
||||
dc->drawSolidVerticalLine(x + 10, 3, 9, FOCUS_COLOR);
|
||||
dc->drawSolidVerticalLine(x + 10, 3, 9, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -96,7 +96,7 @@ void MainViewVerticalTrim::paint(BitmapBuffer * dc)
|
||||
// Trim line
|
||||
dc->drawSolidFilledRect((width() - TRIM_LINE_WIDTH) / 2, TRIM_SQUARE_SIZE / 2,
|
||||
TRIM_LINE_WIDTH, height() - TRIM_SQUARE_SIZE + 1,
|
||||
DEFAULT_COLOR);
|
||||
COLOR_THEME_SECONDARY1);
|
||||
|
||||
// Trim square
|
||||
coord_t y =
|
||||
@@ -105,21 +105,21 @@ void MainViewVerticalTrim::paint(BitmapBuffer * dc)
|
||||
trimMax - trimMin);
|
||||
drawTrimSquare(dc, 0, y,
|
||||
(value < TRIM_MIN || value > TRIM_MAX)
|
||||
? HIGHLIGHT_COLOR /* TODO add a color */
|
||||
: TRIM_BGCOLOR);
|
||||
? COLOR_THEME_ACTIVE /* TODO add a color */
|
||||
: COLOR_THEME_FOCUS);
|
||||
|
||||
// Trim value / small lines on the square
|
||||
if (g_model.displayTrims == DISPLAY_TRIMS_ALWAYS) {
|
||||
// TODO DISPLAY_TRIMS_CHANGE
|
||||
dc->drawNumber((TRIM_SQUARE_SIZE + 1) / 2, y + 3,
|
||||
divRoundClosest(value * 100, trimMax),
|
||||
FONT(XXS) | FOCUS_COLOR | CENTERED);
|
||||
FONT(XXS) | COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
if (value >= 0) {
|
||||
dc->drawSolidHorizontalLine(3, y + 4, 9, FOCUS_COLOR);
|
||||
dc->drawSolidHorizontalLine(3, y + 4, 9, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
if (value <= 0) {
|
||||
dc->drawSolidHorizontalLine(3, y + 10, 9, FOCUS_COLOR);
|
||||
dc->drawSolidHorizontalLine(3, y + 10, 9, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,19 +108,19 @@ bool CheckBox(W * window, rect_t & rect, const char * label, uint8_t & value, Lc
|
||||
drawText(window, rect.x, rect.y+4, label);
|
||||
coord_t x = rect.x + rect.w - 20;
|
||||
if (hasFocus) {
|
||||
window->drawSolidFilledRect(x-1, rect.y+8, 14, 14, FOCUS_BGCOLOR);
|
||||
window->drawSolidFilledRect(x+1, rect.y+10, 10, 10, DEFAULT_BGCOLOR);
|
||||
window->drawSolidFilledRect(x-1, rect.y+8, 14, 14, COLOR_THEME_FOCUS);
|
||||
window->drawSolidFilledRect(x+1, rect.y+10, 10, 10, COLOR_THEME_SECONDARY3);
|
||||
if (value) {
|
||||
window->drawSolidFilledRect(x+2, rect.y+11, 8, 8, FOCUS_BGCOLOR);
|
||||
window->drawSolidFilledRect(x+2, rect.y+11, 8, 8, COLOR_THEME_FOCUS);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (value) {
|
||||
window->drawSolidFilledRect(x+2, rect.y+11, 8, 8, CHECKBOX_COLOR);
|
||||
drawSolidRect(window, x, rect.y+9, 12, 12, 1, LINE_COLOR);
|
||||
window->drawSolidFilledRect(x+2, rect.y+11, 8, 8, COLOR_THEME_FOCUS);
|
||||
drawSolidRect(window, x, rect.y+9, 12, 12, 1, COLOR_THEME_PRIMARY3);
|
||||
}
|
||||
else {
|
||||
drawSolidRect(window, x, rect.y+9, 12, 12, 1, LINE_COLOR);
|
||||
drawSolidRect(window, x, rect.y+9, 12, 12, 1, COLOR_THEME_PRIMARY3);
|
||||
}
|
||||
}
|
||||
if (window->touchPressed(rect.x, rect.y, rect.w, rect.h)) {
|
||||
@@ -150,10 +150,10 @@ bool Choice(W * window, rect_t & rect, const char * label, const char * values,
|
||||
rect.h = 30;
|
||||
bool hasFocus = (flags & HAS_FOCUS) || window->hasFocus(rect.x, rect.y);
|
||||
LcdFlags textColor = 0;
|
||||
LcdFlags lineColor = DISABLE_COLOR;
|
||||
LcdFlags lineColor = COLOR_THEME_DISABLED;
|
||||
if (hasFocus) {
|
||||
textColor = FOCUS_BGCOLOR;
|
||||
lineColor = FOCUS_BGCOLOR;
|
||||
textColor = COLOR_THEME_FOCUS;
|
||||
lineColor = COLOR_THEME_FOCUS;
|
||||
}
|
||||
drawTextAtIndex(window, rect.x, rect.y + 9, values, value, textColor);
|
||||
drawWidgetLine(window, rect, lineColor);
|
||||
@@ -175,10 +175,10 @@ bool TextEdit(W * window, rect_t & rect, const char * label, char * value, uint8
|
||||
rect.h = 30;
|
||||
bool hasFocus = (flags & HAS_FOCUS) || window->hasFocus(rect.x, rect.y);
|
||||
LcdFlags textColor = 0;
|
||||
LcdFlags lineColor = DISABLE_COLOR;
|
||||
LcdFlags lineColor = COLOR_THEME_DISABLED;
|
||||
if (hasFocus) {
|
||||
textColor = FOCUS_BGCOLOR;
|
||||
lineColor = FOCUS_BGCOLOR;
|
||||
textColor = COLOR_THEME_FOCUS;
|
||||
lineColor = COLOR_THEME_FOCUS;
|
||||
}
|
||||
if (!hasFocus && zlen(value, length) == 0)
|
||||
menuBodyWindow.drawSizedText(rect.x, rect.y + 9, "---", length, textColor);
|
||||
|
||||
@@ -45,13 +45,13 @@ class CurveEditWindow : public Page
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT,
|
||||
PAGE_LINE_HEIGHT},
|
||||
STR_MENUCURVE, 0, FOCUS_COLOR);
|
||||
STR_MENUCURVE, 0, COLOR_THEME_PRIMARY2);
|
||||
char s[16];
|
||||
strAppendStringWithIndex(s, STR_CV, index + 1);
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT,
|
||||
LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT},
|
||||
s, 0, FOCUS_COLOR);
|
||||
s, 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
#if LCD_W > LCD_H
|
||||
@@ -236,13 +236,13 @@ class CurveButton : public Button {
|
||||
|
||||
void paint(BitmapBuffer * dc) override
|
||||
{
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, rect.h, FIELD_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, rect.h, COLOR_THEME_PRIMARY2);
|
||||
|
||||
// bounding rect
|
||||
if (hasFocus()) {
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FOCUS_BGCOLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, COLOR_THEME_FOCUS);
|
||||
} else {
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
|
||||
// curve characteristics
|
||||
@@ -339,10 +339,10 @@ void ModelCurvesPage::build(FormWindow * window, int8_t focusIndex)
|
||||
});
|
||||
button->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -350,8 +350,8 @@ void ModelCurvesPage::build(FormWindow * window, int8_t focusIndex)
|
||||
|
||||
if (focusIndex == index) {
|
||||
button->setFocus(SET_FOCUS_DEFAULT);
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
txt->invalidate();
|
||||
}
|
||||
|
||||
|
||||
@@ -56,10 +56,10 @@ class FlightModeGroup: public FormGroup
|
||||
void paint(BitmapBuffer * dc) override
|
||||
{
|
||||
if (index == getFlightMode()) {
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), HIGHLIGHT_COLOR);
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), COLOR_THEME_ACTIVE);
|
||||
}
|
||||
else {
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), FIELD_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
FormGroup::paint(dc);
|
||||
}
|
||||
|
||||
@@ -64,15 +64,15 @@ void GVarButton::paint(BitmapBuffer * dc)
|
||||
currentFlightMode = getFlightMode();
|
||||
gvarSum = 0;
|
||||
|
||||
LcdFlags bgColor = FIELD_BGCOLOR;
|
||||
LcdFlags bgColor = COLOR_THEME_PRIMARY2;
|
||||
LcdFlags textColor = 0;
|
||||
if (hasFocus()) {
|
||||
bgColor = FOCUS_BGCOLOR;
|
||||
textColor = FOCUS_COLOR;
|
||||
bgColor = COLOR_THEME_FOCUS;
|
||||
textColor = COLOR_THEME_PRIMARY2;
|
||||
}
|
||||
|
||||
dc->drawSolidFilledRect(0, 0, nameRectW, rect.h, bgColor);
|
||||
dc->drawSolidFilledRect(nameRectW, 0, rect.w - nameRectW, rect.h, FIELD_BGCOLOR);
|
||||
dc->drawSolidFilledRect(nameRectW, 0, rect.w - nameRectW, rect.h, COLOR_THEME_PRIMARY2);
|
||||
|
||||
dc->drawText(FIELD_PADDING_LEFT, FIELD_PADDING_TOP, getGVarString(gvarIdx), textColor);
|
||||
dc->drawSizedText(x, y, gvar->name, LEN_GVAR_NAME, textColor);
|
||||
@@ -101,7 +101,7 @@ void GVarButton::paint(BitmapBuffer * dc)
|
||||
|
||||
if (!bgFilled) {
|
||||
dc->drawSolidFilledRect(startX, y, width() - startX, PAGE_LINE_HEIGHT,
|
||||
FIELD_FRAME_COLOR);
|
||||
COLOR_THEME_SECONDARY2);
|
||||
bgFilled = true;
|
||||
}
|
||||
|
||||
@@ -127,9 +127,9 @@ void GVarButton::paint(BitmapBuffer * dc)
|
||||
}
|
||||
|
||||
if (hasFocus())
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FOCUS_BGCOLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, COLOR_THEME_FOCUS);
|
||||
else
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
|
||||
void GVarButton::drawFlightMode(BitmapBuffer * dc, coord_t x, coord_t y, int fm, LcdFlags attr)
|
||||
@@ -145,16 +145,16 @@ void GVarRenderer::paint(BitmapBuffer * dc)
|
||||
FlightModeData * fmData = &g_model.flightModeData[lastFlightMode];
|
||||
lastGVar = fmData->gvars[index];
|
||||
coord_t x = drawStringWithIndex(dc, 0, FIELD_PADDING_TOP, STR_GV, index + 1,
|
||||
FOCUS_COLOR, nullptr, "=");
|
||||
COLOR_THEME_PRIMARY2, nullptr, "=");
|
||||
if (lastGVar > GVAR_MAX) {
|
||||
uint8_t fm = lastGVar - GVAR_MAX - 1;
|
||||
if (fm >= lastFlightMode)
|
||||
fm++;
|
||||
char label[16];
|
||||
getFlightModeString(label, fm + 1);
|
||||
dc->drawSizedText(x, FIELD_PADDING_TOP, label, strlen(label), FOCUS_COLOR);
|
||||
dc->drawSizedText(x, FIELD_PADDING_TOP, label, strlen(label), COLOR_THEME_PRIMARY2);
|
||||
} else {
|
||||
drawGVarValue(dc, x, FIELD_PADDING_TOP, index, lastGVar, FOCUS_COLOR);
|
||||
drawGVarValue(dc, x, FIELD_PADDING_TOP, index, lastGVar, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,7 +183,7 @@ void GVarEditWindow::buildHeader(Window * window)
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT,
|
||||
PAGE_LINE_HEIGHT},
|
||||
STR_GLOBAL_VAR, 0, FOCUS_COLOR);
|
||||
STR_GLOBAL_VAR, 0, COLOR_THEME_PRIMARY2);
|
||||
gVarInHeader =
|
||||
new GVarRenderer(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT,
|
||||
|
||||
@@ -142,11 +142,11 @@ class InputEditWindow : public Page
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT,
|
||||
PAGE_LINE_HEIGHT},
|
||||
STR_MENUINPUTS, 0, FOCUS_COLOR);
|
||||
STR_MENUINPUTS, 0, COLOR_THEME_PRIMARY2);
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT,
|
||||
LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT},
|
||||
getSourceString(MIXSRC_FIRST_INPUT + input), 0, FOCUS_COLOR);
|
||||
getSourceString(MIXSRC_FIRST_INPUT + input), 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
// TODO share this code with MIXER
|
||||
@@ -323,10 +323,10 @@ void CommonInputOrMixButton::drawFlightModes(BitmapBuffer *dc,
|
||||
s[0] = '0' + i;
|
||||
if (value & (1 << i)) {
|
||||
dc->drawText(x, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP + 2, s,
|
||||
FONT(XS) | TEXT_DISABLE_COLOR);
|
||||
FONT(XS) | COLOR_THEME_DISABLED);
|
||||
} else {
|
||||
dc->drawSolidFilledRect(x, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP + 2, 8, 3,
|
||||
FOCUS_BGCOLOR);
|
||||
COLOR_THEME_FOCUS);
|
||||
dc->drawText(x, PAGE_LINE_HEIGHT + FIELD_PADDING_TOP + 2, s, FONT(XS) | textColor);
|
||||
}
|
||||
x += 8;
|
||||
@@ -336,13 +336,13 @@ void CommonInputOrMixButton::drawFlightModes(BitmapBuffer *dc,
|
||||
void CommonInputOrMixButton::paint(BitmapBuffer * dc)
|
||||
{
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(),
|
||||
isActive() ? HIGHLIGHT_COLOR : FIELD_BGCOLOR);
|
||||
isActive() ? COLOR_THEME_ACTIVE : COLOR_THEME_PRIMARY2);
|
||||
paintBody(dc);
|
||||
|
||||
if (!hasFocus())
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, COLOR_THEME_SECONDARY2);
|
||||
else
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FOCUS_BGCOLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, COLOR_THEME_FOCUS);
|
||||
}
|
||||
|
||||
class InputLineButton : public CommonInputOrMixButton
|
||||
@@ -363,9 +363,9 @@ class InputLineButton : public CommonInputOrMixButton
|
||||
{
|
||||
const ExpoData &line = g_model.expoData[index];
|
||||
|
||||
LcdFlags textColor = DEFAULT_COLOR;
|
||||
LcdFlags textColor = COLOR_THEME_SECONDARY1;
|
||||
// if (hasFocus())
|
||||
// textColor = FOCUS_COLOR;
|
||||
// textColor = COLOR_THEME_PRIMARY2;
|
||||
|
||||
// first line ...
|
||||
drawValueOrGVar(dc, FIELD_PADDING_LEFT, FIELD_PADDING_TOP, line.weight,
|
||||
@@ -495,10 +495,10 @@ void ModelInputsPage::build(FormWindow *window, int8_t focusIndex)
|
||||
});
|
||||
button->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -507,8 +507,8 @@ void ModelInputsPage::build(FormWindow *window, int8_t focusIndex)
|
||||
|
||||
if (focusIndex == inputIndex) {
|
||||
button->setFocus(SET_FOCUS_DEFAULT);
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
txt->invalidate();
|
||||
}
|
||||
grid.spacer(button->height() - 1);
|
||||
|
||||
@@ -67,7 +67,7 @@ class LogicalSwitchEditPage: public Page
|
||||
Page::checkEvents();
|
||||
if (active != isActive()) {
|
||||
invalidate();
|
||||
headerSwitchName->setTextFlags(isActive() ? FONT(BOLD) | HIGHLIGHT_COLOR : FOCUS_COLOR);
|
||||
headerSwitchName->setTextFlags(isActive() ? FONT(BOLD) | COLOR_THEME_ACTIVE : COLOR_THEME_PRIMARY2);
|
||||
active = !active;
|
||||
}
|
||||
}
|
||||
@@ -77,12 +77,12 @@ class LogicalSwitchEditPage: public Page
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT,
|
||||
PAGE_LINE_HEIGHT},
|
||||
STR_MENULOGICALSWITCHES, 0, FOCUS_COLOR);
|
||||
STR_MENULOGICALSWITCHES, 0, COLOR_THEME_PRIMARY2);
|
||||
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, FOCUS_COLOR);
|
||||
getSwitchPositionName(SWSRC_SW1 + index), 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void updateLogicalSwitchOneWindow()
|
||||
@@ -324,17 +324,17 @@ class LogicalSwitchButton : public Button
|
||||
void paint(BitmapBuffer* dc) override
|
||||
{
|
||||
if (active)
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, rect.h, HIGHLIGHT_COLOR);
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, rect.h, COLOR_THEME_ACTIVE);
|
||||
else
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, rect.h, FIELD_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, rect.h, COLOR_THEME_PRIMARY2);
|
||||
|
||||
paintLogicalSwitchLine(dc);
|
||||
|
||||
// The bounding rect
|
||||
if (hasFocus())
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FOCUS_BGCOLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, COLOR_THEME_FOCUS);
|
||||
else
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -421,10 +421,10 @@ void ModelLogicalSwitchesPage::build(FormWindow* window, int8_t focusIndex)
|
||||
});
|
||||
button->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -432,8 +432,8 @@ void ModelLogicalSwitchesPage::build(FormWindow* window, int8_t focusIndex)
|
||||
|
||||
if (focusIndex == i) {
|
||||
button->setFocus(SET_FOCUS_DEFAULT);
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
txt->invalidate();
|
||||
}
|
||||
|
||||
|
||||
@@ -63,11 +63,11 @@ class ScriptEditWindow : public Page {
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT,
|
||||
PAGE_LINE_HEIGHT},
|
||||
STR_MENUCUSTOMSCRIPTS, 0, FOCUS_COLOR);
|
||||
STR_MENUCUSTOMSCRIPTS, 0, COLOR_THEME_PRIMARY2);
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT,
|
||||
LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT},
|
||||
std::string("LUA") + std::to_string(idx + 1), 0, FOCUS_COLOR);
|
||||
std::string("LUA") + std::to_string(idx + 1), 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void buildBody(FormWindow * window, bool focusScript = false)
|
||||
@@ -180,8 +180,8 @@ class ScriptLineButton : public Button
|
||||
|
||||
void paint(BitmapBuffer* dc) override
|
||||
{
|
||||
LcdFlags textColor = DEFAULT_COLOR;
|
||||
LcdFlags bgColor = FIELD_BGCOLOR;
|
||||
LcdFlags textColor = COLOR_THEME_SECONDARY1;
|
||||
LcdFlags bgColor = COLOR_THEME_PRIMARY2;
|
||||
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), bgColor);
|
||||
|
||||
@@ -211,9 +211,9 @@ class ScriptLineButton : public Button
|
||||
|
||||
// bounding rect
|
||||
if (hasFocus())
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FOCUS_BGCOLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, COLOR_THEME_FOCUS);
|
||||
else
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -275,10 +275,10 @@ void ModelMixerScriptsPage::build(FormWindow * window, int8_t focusIdx)
|
||||
|
||||
button->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -286,8 +286,8 @@ void ModelMixerScriptsPage::build(FormWindow * window, int8_t focusIdx)
|
||||
|
||||
if (focusIdx == idx) {
|
||||
button->setFocus(SET_FOCUS_DEFAULT);
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
txt->invalidate();
|
||||
}
|
||||
|
||||
|
||||
@@ -73,11 +73,11 @@ class MixEditWindow : public Page
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT,
|
||||
PAGE_LINE_HEIGHT},
|
||||
STR_MIXES, 0, FOCUS_COLOR);
|
||||
STR_MIXES, 0, COLOR_THEME_PRIMARY2);
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT,
|
||||
LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT},
|
||||
getSourceString(MIXSRC_CH1 + channel), 0, FOCUS_COLOR);
|
||||
getSourceString(MIXSRC_CH1 + channel), 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void buildBody(FormWindow *window)
|
||||
@@ -255,7 +255,7 @@ class MixLineButton : public CommonInputOrMixButton
|
||||
{
|
||||
const MixData &line = g_model.mixData[index];
|
||||
|
||||
LcdFlags textColor = DEFAULT_COLOR;
|
||||
LcdFlags textColor = COLOR_THEME_SECONDARY1;
|
||||
|
||||
// first line ...
|
||||
drawValueOrGVar(dc, FIELD_PADDING_LEFT, FIELD_PADDING_TOP, line.weight,
|
||||
@@ -439,15 +439,15 @@ void ModelMixesPage::build(FormWindow * window, int8_t focusMixIndex)
|
||||
{35 - txt->left(),
|
||||
button->top() - txt->top() + (button->height() - 18) / 2, 25,
|
||||
17},
|
||||
mixerMultiplexBitmap[mix->mltpx], DEFAULT_COLOR);
|
||||
mixerMultiplexBitmap[mix->mltpx], COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
button->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -456,8 +456,8 @@ void ModelMixesPage::build(FormWindow * window, int8_t focusMixIndex)
|
||||
|
||||
if (focusMixIndex == mixIndex) {
|
||||
button->setFocus(SET_FOCUS_DEFAULT);
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
txt->invalidate();
|
||||
}
|
||||
|
||||
|
||||
@@ -42,11 +42,11 @@ class OutputEditWindow : public Page {
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT,
|
||||
PAGE_LINE_HEIGHT},
|
||||
STR_MENULIMITS, 0, FOCUS_COLOR);
|
||||
STR_MENULIMITS, 0, COLOR_THEME_PRIMARY2);
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT,
|
||||
LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT},
|
||||
getSourceString(MIXSRC_CH1 + channel), 0, FOCUS_COLOR);
|
||||
getSourceString(MIXSRC_CH1 + channel), 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void buildBody(FormWindow * window)
|
||||
@@ -126,8 +126,8 @@ class OutputLineButton : public Button {
|
||||
|
||||
void paint(BitmapBuffer * dc) override
|
||||
{
|
||||
LcdFlags textColor = DEFAULT_COLOR;
|
||||
LcdFlags bgColor = FIELD_BGCOLOR;
|
||||
LcdFlags textColor = COLOR_THEME_SECONDARY1;
|
||||
LcdFlags bgColor = COLOR_THEME_PRIMARY2;
|
||||
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), bgColor);
|
||||
|
||||
@@ -161,9 +161,9 @@ class OutputLineButton : public Button {
|
||||
|
||||
// bounding rect
|
||||
if (hasFocus())
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FOCUS_BGCOLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, COLOR_THEME_FOCUS);
|
||||
else
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -229,10 +229,10 @@ void ModelOutputsPage::build(FormWindow * window, int8_t focusChannel)
|
||||
});
|
||||
button->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -240,8 +240,8 @@ void ModelOutputsPage::build(FormWindow * window, int8_t focusChannel)
|
||||
|
||||
if (focusChannel == ch) {
|
||||
button->setFocus(SET_FOCUS_DEFAULT);
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
txt->invalidate();
|
||||
}
|
||||
|
||||
|
||||
@@ -140,11 +140,11 @@ class ModelButton : public Button
|
||||
if (buffer == nullptr) {
|
||||
return;
|
||||
}
|
||||
buffer->clear(FIELD_BGCOLOR);
|
||||
buffer->clear(COLOR_THEME_PRIMARY2);
|
||||
|
||||
if (error) {
|
||||
buffer->drawText(width() / 2, 2, "(Invalid Model)",
|
||||
DEFAULT_COLOR | CENTERED);
|
||||
COLOR_THEME_SECONDARY1 | CENTERED);
|
||||
} else {
|
||||
GET_FILENAME(filename, BITMAPS_PATH, partialModel.header.bitmap, "");
|
||||
const BitmapBuffer *bitmap = BitmapBuffer::loadBitmap(filename);
|
||||
@@ -153,7 +153,7 @@ class ModelButton : public Button
|
||||
delete bitmap;
|
||||
} else {
|
||||
buffer->drawText(width() / 2, 56, "(No Picture)",
|
||||
FONT(XXS) | DEFAULT_COLOR | CENTERED);
|
||||
FONT(XXS) | COLOR_THEME_SECONDARY1 | CENTERED);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -166,19 +166,19 @@ class ModelButton : public Button
|
||||
dc->drawBitmap(0, 0, buffer);
|
||||
|
||||
if (modelCell == modelslist.getCurrentModel()) {
|
||||
dc->drawSolidFilledRect(0, 0, width(), 20, HIGHLIGHT_COLOR);
|
||||
dc->drawSolidFilledRect(0, 0, width(), 20, COLOR_THEME_ACTIVE);
|
||||
dc->drawSizedText(width() / 2, 2, modelCell->modelName,
|
||||
LEN_MODEL_NAME,
|
||||
DEFAULT_COLOR | CENTERED);
|
||||
COLOR_THEME_SECONDARY1 | CENTERED);
|
||||
} else {
|
||||
LcdFlags textColor;
|
||||
// if (hasFocus()) {
|
||||
// dc->drawFilledRect(0, 0, width(), 20, SOLID, FOCUS_BGCOLOR, 5);
|
||||
// textColor = FOCUS_COLOR;
|
||||
// dc->drawFilledRect(0, 0, width(), 20, SOLID, COLOR_THEME_FOCUS, 5);
|
||||
// textColor = COLOR_THEME_PRIMARY2;
|
||||
// }
|
||||
// else {
|
||||
dc->drawFilledRect(0, 0, width(), 20, SOLID, FIELD_BGCOLOR, 5);
|
||||
textColor = DEFAULT_COLOR;
|
||||
dc->drawFilledRect(0, 0, width(), 20, SOLID, COLOR_THEME_PRIMARY2, 5);
|
||||
textColor = COLOR_THEME_SECONDARY1;
|
||||
// }
|
||||
|
||||
dc->drawSizedText(width() / 2, 2, modelCell->modelName,
|
||||
@@ -187,9 +187,9 @@ class ModelButton : public Button
|
||||
}
|
||||
|
||||
if (!hasFocus()) {
|
||||
dc->drawSolidRect(0, 0, width(), height(), 1, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(0, 0, width(), height(), 1, COLOR_THEME_SECONDARY2);
|
||||
} else {
|
||||
dc->drawSolidRect(0, 0, width(), height(), 2, FOCUS_BGCOLOR);
|
||||
dc->drawSolidRect(0, 0, width(), height(), 2, COLOR_THEME_FOCUS);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -73,8 +73,8 @@ class ChannelFailsafeBargraph: public Window {
|
||||
x += width() / 2;
|
||||
const coord_t xChannel = (channelValue > 0) ? x : x + 1 - lenChannel;
|
||||
const coord_t xFailsafe = (failsafeValue > 0) ? x : x + 1 - lenFailsafe;
|
||||
dc->drawSolidFilledRect(xChannel, + 2, lenChannel, (height() / 2) - 3, DEFAULT_COLOR);
|
||||
dc->drawSolidFilledRect(xFailsafe, (height() / 2) + 1, lenFailsafe, (height() / 2) - 3, ALARM_COLOR);
|
||||
dc->drawSolidFilledRect(xChannel, + 2, lenChannel, (height() / 2) - 3, COLOR_THEME_SECONDARY1);
|
||||
dc->drawSolidFilledRect(xFailsafe, (height() / 2) + 1, lenFailsafe, (height() / 2) - 3, COLOR_THEME_WARNING);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -147,7 +147,7 @@ class FailSafePage : public Page {
|
||||
new StaticText(&header,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT,
|
||||
PAGE_LINE_HEIGHT},
|
||||
STR_FAILSAFESET, 0, FOCUS_COLOR);
|
||||
STR_FAILSAFESET, 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -989,7 +989,7 @@ class ModuleWindow : public FormGroup {
|
||||
return std::string(buf);
|
||||
},
|
||||
"RSSI:", 50,
|
||||
DEFAULT_COLOR | CENTERED | FONT(BOLD) | FONT(XL));
|
||||
COLOR_THEME_SECONDARY1 | CENTERED | FONT(BOLD) | FONT(XL));
|
||||
rssiDialog->setCloseHandler([this]() {
|
||||
rangeButton->check(false);
|
||||
moduleState[moduleIdx].mode = MODULE_MODE_NORMAL;
|
||||
|
||||
@@ -80,23 +80,23 @@ class SensorButton : public Button {
|
||||
TelemetryItem &telemetryItem = telemetryItems[index];
|
||||
|
||||
if (telemetryItem.isAvailable())
|
||||
dc->drawSolidFilledRect(2, 2, rect.w - 4, rect.h - 4, HIGHLIGHT_COLOR);
|
||||
dc->drawSolidFilledRect(2, 2, rect.w - 4, rect.h - 4, COLOR_THEME_ACTIVE);
|
||||
else
|
||||
dc->drawSolidFilledRect(2, 2, rect.w - 4, rect.h - 4, FIELD_BGCOLOR);
|
||||
dc->drawSolidFilledRect(2, 2, rect.w - 4, rect.h - 4, COLOR_THEME_PRIMARY2);
|
||||
|
||||
if (telemetryItem.isFresh())
|
||||
dc->drawFilledCircle(24, (2 + rect.h - 4)/2, 4, DEFAULT_COLOR);
|
||||
dc->drawFilledCircle(24, (2 + rect.h - 4)/2, 4, COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc->drawNumber(2, 1, number, LEFT, 0, nullptr, ":");
|
||||
|
||||
dc->drawSizedText(SENSOR_COL1, line1, g_model.telemetrySensors[index].label, TELEM_LABEL_LEN);
|
||||
|
||||
if (telemetryItem.isAvailable()) {
|
||||
LcdFlags color = telemetryItem.isOld() ? ALARM_COLOR : DEFAULT_COLOR;
|
||||
LcdFlags color = telemetryItem.isOld() ? COLOR_THEME_WARNING : COLOR_THEME_SECONDARY1;
|
||||
drawSensorCustomValue(dc, SENSOR_COL2, line1, index, getValue(MIXSRC_FIRST_TELEM + 3 * index), LEFT | color);
|
||||
}
|
||||
else {
|
||||
dc->drawText(SENSOR_COL2, line1, "---", DEFAULT_COLOR);
|
||||
dc->drawText(SENSOR_COL2, line1, "---", COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
TelemetrySensor * sensor = & g_model.telemetrySensors[index];
|
||||
@@ -108,9 +108,9 @@ class SensorButton : public Button {
|
||||
}
|
||||
|
||||
if (hasFocus())
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FOCUS_BGCOLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, COLOR_THEME_FOCUS);
|
||||
else
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -139,9 +139,9 @@ class SensorEditWindow : public Page {
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT,
|
||||
PAGE_LINE_HEIGHT},
|
||||
STR_SENSOR + std::to_string(index + 1), 0,
|
||||
MENU_HIGHLIGHT_COLOR);
|
||||
COLOR_THEME_PRIMARY2);
|
||||
// dynamic display of sensor value ?
|
||||
//new StaticText(window, {70, 28, 100, 20}, "SF" + std::to_string(index), 0, MENU_COLOR);
|
||||
//new StaticText(window, {70, 28, 100, 20}, "SF" + std::to_string(index), 0, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
void updateSensorParametersWindow()
|
||||
@@ -440,9 +440,9 @@ void ModelTelemetryPage::build(FormWindow * window, int8_t focusSensorIndex)
|
||||
// Sensors columns titles
|
||||
uint8_t sensorsCount = getTelemetrySensorsCount();
|
||||
if (sensorsCount > 0) {
|
||||
new StaticText(window, {SENSOR_COL2, grid.getWindowHeight() + 3, SENSOR_COL3 - SENSOR_COL2, PAGE_LINE_HEIGHT}, STR_VALUE, 0, FONT(XS) | TEXT_DISABLE_COLOR);
|
||||
new StaticText(window, {SENSOR_COL2, grid.getWindowHeight() + 3, SENSOR_COL3 - SENSOR_COL2, PAGE_LINE_HEIGHT}, STR_VALUE, 0, FONT(XS) | COLOR_THEME_DISABLED);
|
||||
if (!g_model.ignoreSensorIds && !IS_SPEKTRUM_PROTOCOL()) {
|
||||
new StaticText(window, {SENSOR_COL3, grid.getWindowHeight() + 3, LCD_W - SENSOR_COL3, PAGE_LINE_HEIGHT}, STR_ID, 0, FONT(XS) | TEXT_DISABLE_COLOR);
|
||||
new StaticText(window, {SENSOR_COL3, grid.getWindowHeight() + 3, LCD_W - SENSOR_COL3, PAGE_LINE_HEIGHT}, STR_ID, 0, FONT(XS) | COLOR_THEME_DISABLED);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ void PageHeader::paint(BitmapBuffer * dc)
|
||||
{
|
||||
OpenTxTheme::instance()->drawPageHeaderBackground(dc, getIcon(), "");
|
||||
dc->drawSolidFilledRect(MENU_HEADER_HEIGHT, 0, LCD_W - MENU_HEADER_HEIGHT,
|
||||
MENU_HEADER_HEIGHT, HEADER_COLOR);
|
||||
MENU_HEADER_HEIGHT, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
Page::Page(unsigned icon):
|
||||
@@ -67,7 +67,7 @@ void Page::deleteLater(bool detach, bool trash)
|
||||
|
||||
void Page::paint(BitmapBuffer * dc)
|
||||
{
|
||||
dc->clear(DEFAULT_BGCOLOR);
|
||||
dc->clear(COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
|
||||
#if defined(HARDWARE_KEYS)
|
||||
|
||||
@@ -70,12 +70,12 @@ void RadioCalibrationPage::buildHeader(Window * window)
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT,
|
||||
PAGE_LINE_HEIGHT},
|
||||
STR_MENUCALIBRATION, 0, FOCUS_COLOR);
|
||||
STR_MENUCALIBRATION, 0, COLOR_THEME_PRIMARY2);
|
||||
|
||||
text = new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT,
|
||||
LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT},
|
||||
STR_MENUTOSTART, 0, FOCUS_COLOR);
|
||||
STR_MENUTOSTART, 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void RadioCalibrationPage::buildBody(FormWindow * window)
|
||||
|
||||
@@ -80,7 +80,7 @@ class RadioAnalogsDiagsWindow: public Window {
|
||||
|
||||
void RadioAnalogsDiagsPage::buildHeader(Window * window)
|
||||
{
|
||||
new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_MENU_RADIO_ANALOGS, 0, MENU_HIGHLIGHT_COLOR);
|
||||
new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_MENU_RADIO_ANALOGS, 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void RadioAnalogsDiagsPage::buildBody(Window * window)
|
||||
|
||||
@@ -124,7 +124,7 @@ class RadioKeyDiagsWindow : public Window
|
||||
|
||||
void RadioKeyDiagsPage::buildHeader(Window * window)
|
||||
{
|
||||
new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_MENU_RADIO_SWITCHES, 0, MENU_HIGHLIGHT_COLOR);
|
||||
new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_MENU_RADIO_SWITCHES, 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void RadioKeyDiagsPage::buildBody(Window * window)
|
||||
|
||||
@@ -41,25 +41,25 @@ class GhostModuleConfigWindow: public Window
|
||||
for (uint8_t line = 0; line < GHST_MENU_LINES; line++) {
|
||||
if (reusableBuffer.ghostMenu.line[line].splitLine) {
|
||||
if (reusableBuffer.ghostMenu.line[line].lineFlags & GHST_LINE_FLAGS_LABEL_SELECT) {
|
||||
dc->drawSolidFilledRect(xOffset, yOffset + line * lineSpacing, getTextWidth(reusableBuffer.ghostMenu.line[line].menuText, 0,FONT(L)), getFontHeight(FONT(L)), FONT(L) | FOCUS_BGCOLOR);
|
||||
dc->drawText(xOffset, yOffset + line * lineSpacing, reusableBuffer.ghostMenu.line[line].menuText, FONT(L) | DEFAULT_BGCOLOR);
|
||||
dc->drawSolidFilledRect(xOffset, yOffset + line * lineSpacing, getTextWidth(reusableBuffer.ghostMenu.line[line].menuText, 0,FONT(L)), getFontHeight(FONT(L)), FONT(L) | COLOR_THEME_FOCUS);
|
||||
dc->drawText(xOffset, yOffset + line * lineSpacing, reusableBuffer.ghostMenu.line[line].menuText, FONT(L) | COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
else {
|
||||
dc->drawText(xOffset, yOffset + line * lineSpacing, reusableBuffer.ghostMenu.line[line].menuText, FONT(L));
|
||||
}
|
||||
|
||||
if (reusableBuffer.ghostMenu.line[line].lineFlags & GHST_LINE_FLAGS_VALUE_SELECT) {
|
||||
dc->drawSolidFilledRect(xOffset, yOffset + line * lineSpacing, getTextWidth( &reusableBuffer.ghostMenu.line[line].menuText[reusableBuffer.ghostMenu.line[line].splitLine], 0,FONT(L)), getFontHeight(0), FOCUS_BGCOLOR);
|
||||
dc->drawText(xOffset, yOffset + line * lineSpacing, &reusableBuffer.ghostMenu.line[line].menuText[reusableBuffer.ghostMenu.line[line].splitLine], FONT(L) | DEFAULT_BGCOLOR);
|
||||
dc->drawSolidFilledRect(xOffset, yOffset + line * lineSpacing, getTextWidth( &reusableBuffer.ghostMenu.line[line].menuText[reusableBuffer.ghostMenu.line[line].splitLine], 0,FONT(L)), getFontHeight(0), COLOR_THEME_FOCUS);
|
||||
dc->drawText(xOffset, yOffset + line * lineSpacing, &reusableBuffer.ghostMenu.line[line].menuText[reusableBuffer.ghostMenu.line[line].splitLine], FONT(L) | COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
else {
|
||||
dc->drawText(xOffset2, yOffset + line * lineSpacing, &reusableBuffer.ghostMenu.line[line].menuText[reusableBuffer.ghostMenu.line[line].splitLine], FONT(L) | DEFAULT_COLOR);
|
||||
dc->drawText(xOffset2, yOffset + line * lineSpacing, &reusableBuffer.ghostMenu.line[line].menuText[reusableBuffer.ghostMenu.line[line].splitLine], FONT(L) | COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (reusableBuffer.ghostMenu.line[line].lineFlags & GHST_LINE_FLAGS_LABEL_SELECT) {
|
||||
dc->drawSolidFilledRect(xOffset, yOffset + line * lineSpacing, getTextWidth(reusableBuffer.ghostMenu.line[line].menuText, 0, FONT(L)), getFontHeight(FONT(L)), FOCUS_BGCOLOR);
|
||||
dc->drawText(xOffset, yOffset + line * lineSpacing, reusableBuffer.ghostMenu.line[line].menuText, FONT(L) | DEFAULT_BGCOLOR);
|
||||
dc->drawSolidFilledRect(xOffset, yOffset + line * lineSpacing, getTextWidth(reusableBuffer.ghostMenu.line[line].menuText, 0, FONT(L)), getFontHeight(FONT(L)), COLOR_THEME_FOCUS);
|
||||
dc->drawText(xOffset, yOffset + line * lineSpacing, reusableBuffer.ghostMenu.line[line].menuText, FONT(L) | COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
else if (reusableBuffer.ghostMenu.line[line].lineFlags & GHST_LINE_FLAGS_VALUE_EDIT) {
|
||||
if (BLINK_ON_PHASE) {
|
||||
@@ -67,7 +67,7 @@ class GhostModuleConfigWindow: public Window
|
||||
}
|
||||
}
|
||||
else {
|
||||
dc->drawText(xOffset, yOffset + line * lineSpacing, reusableBuffer.ghostMenu.line[line].menuText, FONT(L) | DEFAULT_COLOR);
|
||||
dc->drawText(xOffset, yOffset + line * lineSpacing, reusableBuffer.ghostMenu.line[line].menuText, FONT(L) | COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -87,7 +87,7 @@ RadioGhostModuleConfig::RadioGhostModuleConfig(uint8_t moduleIdx) :
|
||||
|
||||
void RadioGhostModuleConfig::buildHeader(Window * window)
|
||||
{
|
||||
new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, "GHOST MODULE", 0, MENU_COLOR);
|
||||
new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, "GHOST MODULE", 0, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
void RadioGhostModuleConfig::buildBody(FormWindow * window)
|
||||
|
||||
@@ -306,7 +306,7 @@ void RadioHardwarePage::build(FormWindow * window)
|
||||
#endif
|
||||
|
||||
#if defined(AUX_SERIAL) || defined(AUX2_SERIAL)
|
||||
new StaticText(window, grid.getFieldSlot(1,0), STR_TTL_WARNING, 0, ALARM_COLOR);
|
||||
new StaticText(window, grid.getFieldSlot(1,0), STR_TTL_WARNING, 0, COLOR_THEME_WARNING);
|
||||
grid.nextLine();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ class FileNameEditWindow : public Page
|
||||
|
||||
void buildHeader(Window *window)
|
||||
{
|
||||
new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_RENAME_FILE, 0, MENU_HIGHLIGHT_COLOR);
|
||||
new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_RENAME_FILE, 0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void buildBody(Window *window)
|
||||
@@ -158,7 +158,7 @@ class FilePreview : public Window
|
||||
{
|
||||
coord_t y = parent->getScrollPositionY() + 2;
|
||||
coord_t h = MENU_BODY_HEIGHT - 4;
|
||||
lcd->drawSolidFilledRect(0, y, width(), h, DISABLE_COLOR);
|
||||
lcd->drawSolidFilledRect(0, y, width(), h, COLOR_THEME_DISABLED);
|
||||
if (bitmap) {
|
||||
coord_t bitmapHeight = min<coord_t>(h, bitmap->height());
|
||||
coord_t bitmapWidth = min<coord_t>(width(), bitmap->width());
|
||||
@@ -279,7 +279,7 @@ void RadioSdManagerPage::build(FormWindow * window)
|
||||
build(window);
|
||||
return 0;
|
||||
}, OPAQUE);
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return FIELD_BGCOLOR; });
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return COLOR_THEME_PRIMARY2; });
|
||||
grid.nextLine();
|
||||
}
|
||||
|
||||
@@ -419,7 +419,7 @@ void RadioSdManagerPage::build(FormWindow * window)
|
||||
}
|
||||
return 0;
|
||||
}, OPAQUE);
|
||||
button->setBgColorHandler([=]() -> LcdFlags { return FIELD_BGCOLOR; });
|
||||
button->setBgColorHandler([=]() -> LcdFlags { return COLOR_THEME_PRIMARY2; });
|
||||
button->setFocusHandler([=](bool active) {
|
||||
if (active) {
|
||||
preview->setFile(getFullPath(name));
|
||||
|
||||
@@ -96,7 +96,7 @@ class SpectrumScaleWindow: public Window
|
||||
|
||||
void paint(BitmapBuffer * dc) override
|
||||
{
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), CURVE_AXIS_COLOR);
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), COLOR_THEME_SECONDARY2);
|
||||
|
||||
// Draw tracker
|
||||
int offset = reusableBuffer.spectrumAnalyser.track - (reusableBuffer.spectrumAnalyser.freq - reusableBuffer.spectrumAnalyser.span / 2);
|
||||
@@ -153,14 +153,14 @@ class SpectrumWindow: public Window
|
||||
int x = offset / reusableBuffer.spectrumAnalyser.step;
|
||||
if (x >= LCD_W - 1)
|
||||
break;
|
||||
dc->drawVerticalLine(x, 0, height(), STASHED, CURVE_AXIS_COLOR);
|
||||
dc->drawVerticalLine(x, 0, height(), STASHED, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
|
||||
for (uint8_t power = 20;; power += 20) {
|
||||
int y = SCALE_TOP - 1 - limit<int>(0, power << 1, SCALE_TOP);
|
||||
if (y <= 0)
|
||||
break;
|
||||
dc->drawHorizontalLine(0, y, width(), STASHED, CURVE_AXIS_COLOR);
|
||||
dc->drawHorizontalLine(0, y, width(), STASHED, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
|
||||
// Draw spectrum data
|
||||
@@ -208,7 +208,7 @@ RadioSpectrumAnalyser::RadioSpectrumAnalyser(uint8_t moduleIdx) :
|
||||
|
||||
void RadioSpectrumAnalyser::buildHeader(Window * window)
|
||||
{
|
||||
new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_MENU_SPECTRUM_ANALYSER, 0, MENU_COLOR);
|
||||
new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_MENU_SPECTRUM_ANALYSER, 0, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
void RadioSpectrumAnalyser::buildBody(FormWindow * window)
|
||||
|
||||
@@ -130,13 +130,13 @@ void RadioToolsPage::rebuild(FormWindow * window)
|
||||
return 0;
|
||||
},
|
||||
OPAQUE);
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return FIELD_BGCOLOR; });
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return COLOR_THEME_PRIMARY2; });
|
||||
b->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -162,13 +162,13 @@ void RadioToolsPage::rebuild(FormWindow * window)
|
||||
return 0;
|
||||
},
|
||||
OPAQUE);
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return FIELD_BGCOLOR; });
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return COLOR_THEME_PRIMARY2; });
|
||||
b->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -189,13 +189,13 @@ void RadioToolsPage::rebuild(FormWindow * window)
|
||||
return 0;
|
||||
},
|
||||
OPAQUE);
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return FIELD_BGCOLOR; });
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return COLOR_THEME_PRIMARY2; });
|
||||
b->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -214,13 +214,13 @@ void RadioToolsPage::rebuild(FormWindow * window)
|
||||
return 0;
|
||||
},
|
||||
OPAQUE);
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return FIELD_BGCOLOR; });
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return COLOR_THEME_PRIMARY2; });
|
||||
b->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -244,13 +244,13 @@ void RadioToolsPage::rebuild(FormWindow * window)
|
||||
return 0;
|
||||
},
|
||||
OPAQUE);
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return FIELD_BGCOLOR; });
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return COLOR_THEME_PRIMARY2; });
|
||||
b->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -273,13 +273,13 @@ void RadioToolsPage::rebuild(FormWindow * window)
|
||||
return 0;
|
||||
},
|
||||
OPAQUE);
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return FIELD_BGCOLOR; });
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return COLOR_THEME_PRIMARY2; });
|
||||
b->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -301,13 +301,13 @@ void RadioToolsPage::rebuild(FormWindow * window)
|
||||
return 0;
|
||||
},
|
||||
OPAQUE);
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return FIELD_BGCOLOR; });
|
||||
b->setBgColorHandler([=]() -> LcdFlags { return COLOR_THEME_PRIMARY2; });
|
||||
b->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
|
||||
@@ -48,7 +48,7 @@ class LayoutChoice: public FormField
|
||||
FormField::paint(dc);
|
||||
auto layout = getValue();
|
||||
if (layout) {
|
||||
layout->drawThumb(dc, 4, 4, editMode ? FOCUS_COLOR : LINE_COLOR);
|
||||
layout->drawThumb(dc, 4, 4, editMode ? COLOR_THEME_PRIMARY2 : COLOR_THEME_PRIMARY3);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,10 +141,10 @@ SetupWidgetsPageSlot::SetupWidgetsPageSlot(FormGroup * parent, const rect_t & re
|
||||
void SetupWidgetsPageSlot::paint(BitmapBuffer * dc)
|
||||
{
|
||||
if (hasFocus()) {
|
||||
dc->drawRect(0, 0, width()-1, height()-1, 2, STASHED, CHECKBOX_COLOR);
|
||||
dc->drawRect(0, 0, width()-1, height()-1, 2, STASHED, COLOR_THEME_FOCUS);
|
||||
}
|
||||
else {
|
||||
dc->drawSolidRect(0, 0, width()-1, height()-1, 2, LINE_COLOR);
|
||||
dc->drawSolidRect(0, 0, width()-1, height()-1, 2, COLOR_THEME_PRIMARY3);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -250,7 +250,7 @@ class SetupWidgetsPage: public FormWindow
|
||||
// void paint(BitmapBuffer * dc) override
|
||||
// {
|
||||
// //ViewMain::instance()->fullPaint(dc);
|
||||
// //dc->clear(DEFAULT_BGCOLOR);
|
||||
// //dc->clear(COLOR_THEME_SECONDARY3);
|
||||
// }
|
||||
};
|
||||
|
||||
|
||||
@@ -44,16 +44,16 @@ void SelectFabButton::paint(BitmapBuffer* dc)
|
||||
auto y_pos = FAB_BUTTON_SIZE;
|
||||
dc->drawSizedText(width() / 2, y_pos,
|
||||
title.c_str(), pos,
|
||||
FOCUS_COLOR | CENTERED | VCENTERED);
|
||||
COLOR_THEME_PRIMARY2 | CENTERED | VCENTERED);
|
||||
|
||||
if (pos != std::string::npos) {
|
||||
y_pos += PAGE_LINE_HEIGHT;
|
||||
dc->drawSizedText(width() / 2, y_pos, title.substr(pos+1).c_str(),
|
||||
255, FOCUS_COLOR | CENTERED | VCENTERED);
|
||||
255, COLOR_THEME_PRIMARY2 | CENTERED | VCENTERED);
|
||||
}
|
||||
|
||||
if (hasFocus()) {
|
||||
dc->drawSolidRect(0, 0, width(), height(), 2, CHECKBOX_COLOR);
|
||||
dc->drawSolidRect(0, 0, width(), height(), 2, COLOR_THEME_FOCUS);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -62,11 +62,11 @@ void SourceChoice::paint(BitmapBuffer * dc)
|
||||
unsigned value = getValue();
|
||||
LcdFlags textColor;
|
||||
if (editMode)
|
||||
textColor = FOCUS_COLOR;
|
||||
textColor = COLOR_THEME_PRIMARY2;
|
||||
else if (hasFocus())
|
||||
textColor = FOCUS_COLOR;
|
||||
textColor = COLOR_THEME_PRIMARY2;
|
||||
// else if (value == 0)
|
||||
// textColor = DISABLE_COLOR;
|
||||
// textColor = COLOR_THEME_DISABLED;
|
||||
else
|
||||
textColor = 0;
|
||||
|
||||
|
||||
@@ -59,8 +59,8 @@ class SpecialFunctionEditPage : public Page
|
||||
Page::checkEvents();
|
||||
if (active != isActive()) {
|
||||
invalidate();
|
||||
headerSF->setTextFlags(isActive() ? FONT(BOLD) | HIGHLIGHT_COLOR
|
||||
: FOCUS_COLOR);
|
||||
headerSF->setTextFlags(isActive() ? FONT(BOLD) | COLOR_THEME_ACTIVE
|
||||
: COLOR_THEME_PRIMARY2);
|
||||
active = !active;
|
||||
}
|
||||
}
|
||||
@@ -71,13 +71,13 @@ class SpecialFunctionEditPage : public Page
|
||||
window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT, 20},
|
||||
functions == g_model.customFn ? STR_MENUCUSTOMFUNC
|
||||
: STR_MENUSPECIALFUNCS,
|
||||
0, FOCUS_COLOR);
|
||||
0, COLOR_THEME_PRIMARY2);
|
||||
headerSF = new StaticText(
|
||||
window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT,
|
||||
LCD_W - PAGE_TITLE_LEFT, 20},
|
||||
(functions == g_model.customFn ? "SF" : "GF") + std::to_string(index+1),
|
||||
0, FOCUS_COLOR);
|
||||
0, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
void updateSpecialFunctionOneWindow()
|
||||
@@ -596,17 +596,17 @@ class SpecialFunctionButton : public Button
|
||||
void paint(BitmapBuffer *dc) override
|
||||
{
|
||||
if (active)
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, rect.h, HIGHLIGHT_COLOR);
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, rect.h, COLOR_THEME_ACTIVE);
|
||||
else
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, rect.h, FIELD_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, rect.h, COLOR_THEME_PRIMARY2);
|
||||
|
||||
paintSpecialFunctionLine(dc);
|
||||
|
||||
// The bounding rect
|
||||
if (hasFocus())
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FOCUS_BGCOLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 2, COLOR_THEME_FOCUS);
|
||||
else
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(0, 0, rect.w, rect.h, 1, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -725,10 +725,10 @@ void SpecialFunctionsPage::build(FormWindow *window, int8_t focusIndex)
|
||||
});
|
||||
button->setFocusHandler([=](bool focus) {
|
||||
if (focus) {
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
} else {
|
||||
txt->setBackgroundColor(FIELD_FRAME_COLOR);
|
||||
txt->setBackgroundColor(COLOR_THEME_SECONDARY2);
|
||||
txt->setTextFlags(CENTERED);
|
||||
}
|
||||
txt->invalidate();
|
||||
@@ -736,8 +736,8 @@ void SpecialFunctionsPage::build(FormWindow *window, int8_t focusIndex)
|
||||
|
||||
if (focusIndex == i) {
|
||||
button->setFocus(SET_FOCUS_DEFAULT);
|
||||
txt->setBackgroundColor(FOCUS_BGCOLOR);
|
||||
txt->setTextFlags(FOCUS_COLOR | CENTERED);
|
||||
txt->setBackgroundColor(COLOR_THEME_FOCUS);
|
||||
txt->setTextFlags(COLOR_THEME_PRIMARY2 | CENTERED);
|
||||
txt->invalidate();
|
||||
}
|
||||
|
||||
|
||||
@@ -30,22 +30,22 @@ void LuaPopup::paint(BitmapBuffer* dc, uint8_t type, const char* text, const cha
|
||||
{
|
||||
// popup background
|
||||
dc->drawSolidFilledRect(0, 0, rect.w, POPUP_HEADER_HEIGHT,
|
||||
FOCUS_BGCOLOR);
|
||||
COLOR_THEME_FOCUS);
|
||||
|
||||
const char* title = text;//TODO: based on 'type'
|
||||
|
||||
// title bar
|
||||
dc->drawText(FIELD_PADDING_LEFT,
|
||||
(POPUP_HEADER_HEIGHT - getFontHeight(FONT(STD))) / 2,
|
||||
title, FOCUS_COLOR);
|
||||
title, COLOR_THEME_PRIMARY2);
|
||||
|
||||
dc->drawSolidFilledRect(0, POPUP_HEADER_HEIGHT, rect.w,
|
||||
rect.h - POPUP_HEADER_HEIGHT,
|
||||
DEFAULT_BGCOLOR);
|
||||
COLOR_THEME_SECONDARY3);
|
||||
|
||||
dc->drawText(FIELD_PADDING_LEFT,
|
||||
POPUP_HEADER_HEIGHT + PAGE_LINE_HEIGHT,
|
||||
info, DEFAULT_COLOR);
|
||||
info, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
// singleton instance
|
||||
@@ -97,7 +97,7 @@ void StandaloneLuaWindow::deleteLater(bool detach, bool /*trash*/)
|
||||
|
||||
void StandaloneLuaWindow::paint(BitmapBuffer* dc)
|
||||
{
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), DEFAULT_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), COLOR_THEME_SECONDARY3);
|
||||
dc->drawBitmap(0 - dc->getOffsetX(), 0 - dc->getOffsetY(), &lcdBuffer);
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ bool StandaloneLuaWindow::displayPopup(event_t event, uint8_t type, const char*
|
||||
{
|
||||
// transparent background
|
||||
lcdBuffer.drawFilledRect(0, 0, LCD_W, LCD_H, SOLID,
|
||||
OVERLAY_COLOR, OPACITY(5));
|
||||
COLOR_THEME_PRIMARY1, OPACITY(5));
|
||||
|
||||
// center pop-up
|
||||
lcdBuffer.setOffset(LCD_W/2 - popup.rect.w/2, LCD_H/2 - popup.rect.h/2);
|
||||
|
||||
@@ -103,11 +103,11 @@ void SwitchWarnDialog::paint(BitmapBuffer * dc)
|
||||
// TODO add an helper
|
||||
strncpy(s, &STR_VSRCRAW[1 + (NUM_STICKS + 1 + i) * STR_VSRCRAW[0]], STR_VSRCRAW[0]);
|
||||
s[int(STR_VSRCRAW[0])] = '\0';
|
||||
dc->drawText(x, y, s, ALARM_COLOR | FONT(XL));
|
||||
dc->drawText(x, y, s, COLOR_THEME_WARNING | FONT(XL));
|
||||
y += 35;
|
||||
}
|
||||
else {
|
||||
dc->drawText(x, y, "...", ALARM_COLOR | FONT(XL));
|
||||
dc->drawText(x, y, "...", COLOR_THEME_WARNING | FONT(XL));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,13 +46,13 @@ void SwitchChoice::paint(BitmapBuffer * dc)
|
||||
unsigned value = getValue();
|
||||
LcdFlags textColor;
|
||||
if (editMode)
|
||||
textColor = FOCUS_COLOR;
|
||||
textColor = COLOR_THEME_PRIMARY2;
|
||||
else if (hasFocus())
|
||||
textColor = FOCUS_COLOR;
|
||||
textColor = COLOR_THEME_PRIMARY2;
|
||||
// else if (value == 0)
|
||||
// textColor = DISABLE_COLOR;
|
||||
// textColor = COLOR_THEME_DISABLED;
|
||||
else
|
||||
textColor = DEFAULT_COLOR;
|
||||
textColor = COLOR_THEME_SECONDARY1;
|
||||
|
||||
drawSwitch(dc, FIELD_PADDING_LEFT, FIELD_PADDING_TOP, value, textColor);
|
||||
dc->drawBitmapPattern(rect.w - 20, (rect.h - 11) / 2, LBM_DROPDOWN,
|
||||
|
||||
@@ -204,7 +204,7 @@ void TabsGroup::onEvent(event_t event)
|
||||
|
||||
void TabsGroup::paint(BitmapBuffer * dc)
|
||||
{
|
||||
dc->clear(DEFAULT_BGCOLOR);
|
||||
dc->clear(COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
|
||||
#if defined(HARDWARE_TOUCH)
|
||||
|
||||
@@ -115,14 +115,14 @@ void OpenTxTheme::drawThumb(BitmapBuffer * dc, coord_t x, coord_t y, uint32_t fl
|
||||
thumb = BitmapBuffer::loadBitmap(getFilePath("thumb.bmp"));
|
||||
}
|
||||
lcd->drawBitmap(x, y, thumb);
|
||||
if (flags == LINE_COLOR) {
|
||||
dc->drawFilledRect(x, y, THUMB_WIDTH, THUMB_HEIGHT, SOLID, OVERLAY_COLOR);
|
||||
if (flags == COLOR_THEME_PRIMARY3) {
|
||||
dc->drawFilledRect(x, y, THUMB_WIDTH, THUMB_HEIGHT, SOLID, COLOR_THEME_PRIMARY1);
|
||||
}
|
||||
}
|
||||
|
||||
void OpenTxTheme::drawBackground(BitmapBuffer * dc) const
|
||||
{
|
||||
dc->drawSolidFilledRect(0, 0, LCD_W, LCD_H, DEFAULT_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, LCD_W, LCD_H, COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
|
||||
//void OpenTxTheme::drawMessageBox(const char *title, const char *text,
|
||||
@@ -130,7 +130,7 @@ void OpenTxTheme::drawBackground(BitmapBuffer * dc) const
|
||||
//{
|
||||
// //if (flags & MESSAGEBOX_TYPE_ALERT) {
|
||||
// drawBackground();
|
||||
// lcdDrawFilledRect(0, POPUP_Y, LCD_W, POPUP_H, SOLID, FOCUS_COLOR |
|
||||
// lcdDrawFilledRect(0, POPUP_Y, LCD_W, POPUP_H, SOLID, COLOR_THEME_PRIMARY2 |
|
||||
// OPACITY(8));
|
||||
// //}
|
||||
//
|
||||
@@ -145,16 +145,16 @@ void OpenTxTheme::drawBackground(BitmapBuffer * dc) const
|
||||
//#if defined(TRANSLATIONS_FR) || defined(TRANSLATIONS_IT) ||
|
||||
//defined(TRANSLATIONS_CZ)
|
||||
// lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y, STR_WARNING,
|
||||
// ALARM_COLOR|FONT(XL)); lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+28,
|
||||
// title, ALARM_COLOR|FONT(XL));
|
||||
// COLOR_THEME_WARNING|FONT(XL)); lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+28,
|
||||
// title, COLOR_THEME_WARNING|FONT(XL));
|
||||
//#else
|
||||
// lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y, title, ALARM_COLOR|FONT(XL));
|
||||
// lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y, title, COLOR_THEME_WARNING|FONT(XL));
|
||||
// lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+28, STR_WARNING,
|
||||
// ALARM_COLOR|FONT(XL));
|
||||
// COLOR_THEME_WARNING|FONT(XL));
|
||||
//#endif
|
||||
// }
|
||||
// else if (title) {
|
||||
// lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y, title, ALARM_COLOR|FONT(XL));
|
||||
// lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y, title, COLOR_THEME_WARNING|FONT(XL));
|
||||
// }
|
||||
//
|
||||
// if (text) {
|
||||
@@ -169,15 +169,15 @@ void OpenTxTheme::drawBackground(BitmapBuffer * dc) const
|
||||
void OpenTxTheme::drawCheckBox(BitmapBuffer *dc, bool checked, coord_t x,
|
||||
coord_t y, bool focus) const
|
||||
{
|
||||
dc->drawSolidFilledRect(x, y, 16, 16, FIELD_BGCOLOR);
|
||||
dc->drawSolidFilledRect(x, y, 16, 16, COLOR_THEME_PRIMARY2);
|
||||
if (focus) {
|
||||
dc->drawSolidRect(x, y, 16, 16, 2, FOCUS_BGCOLOR);
|
||||
dc->drawSolidRect(x, y, 16, 16, 2, COLOR_THEME_FOCUS);
|
||||
}
|
||||
else {
|
||||
dc->drawSolidRect(x, y, 16, 16, 1, FIELD_FRAME_COLOR);
|
||||
dc->drawSolidRect(x, y, 16, 16, 1, COLOR_THEME_SECONDARY2);
|
||||
}
|
||||
if (checked) {
|
||||
dc->drawSolidFilledRect(x + 3, y + 3, 10, 10, CHECKBOX_COLOR);
|
||||
dc->drawSolidFilledRect(x + 3, y + 3, 10, 10, COLOR_THEME_FOCUS);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,13 +185,13 @@ void OpenTxTheme::drawChoice(BitmapBuffer * dc, ChoiceBase * choice, const char
|
||||
{
|
||||
LcdFlags textColor;
|
||||
if (choice->isEditMode())
|
||||
textColor = FOCUS_COLOR;
|
||||
textColor = COLOR_THEME_PRIMARY2;
|
||||
else if (choice->hasFocus())
|
||||
textColor = FOCUS_COLOR;
|
||||
textColor = COLOR_THEME_PRIMARY2;
|
||||
// else if (!str || str[0] == '\0')
|
||||
// textColor = FOCUS_COLOR;
|
||||
// textColor = COLOR_THEME_PRIMARY2;
|
||||
else
|
||||
textColor = DEFAULT_COLOR;
|
||||
textColor = COLOR_THEME_SECONDARY1;
|
||||
|
||||
dc->drawText(FIELD_PADDING_LEFT, FIELD_PADDING_TOP,
|
||||
str[0] == '\0' ? "---" : str, textColor);
|
||||
@@ -208,9 +208,9 @@ void OpenTxTheme::drawSlider(BitmapBuffer *dc, int vmin, int vmax, int value,
|
||||
int val = limit(vmin, value, vmax);
|
||||
int w = divRoundClosest((rect.w - 16) * (val - vmin), vmax - vmin);
|
||||
|
||||
LcdFlags color = DEFAULT_COLOR;
|
||||
LcdFlags color = COLOR_THEME_SECONDARY1;
|
||||
if (focus) {
|
||||
color = FOCUS_BGCOLOR;
|
||||
color = COLOR_THEME_FOCUS;
|
||||
}
|
||||
|
||||
dc->drawBitmapPattern(0, 11, LBM_SLIDER_BAR_LEFT, color);
|
||||
@@ -218,22 +218,22 @@ void OpenTxTheme::drawSlider(BitmapBuffer *dc, int vmin, int vmax, int value,
|
||||
dc->drawBitmapPattern(rect.w - 4, 11, LBM_SLIDER_BAR_RIGHT, color);
|
||||
|
||||
dc->drawBitmapPattern(w, 5, LBM_SLIDER_POINT_OUT, color);
|
||||
dc->drawBitmapPattern(w, 5, LBM_SLIDER_POINT_MID, FIELD_BGCOLOR);
|
||||
dc->drawBitmapPattern(w, 5, LBM_SLIDER_POINT_MID, COLOR_THEME_PRIMARY2);
|
||||
|
||||
if (edit) {
|
||||
dc->drawBitmapPattern(w, 5, LBM_SLIDER_POINT_IN, EDIT_MARKER_COLOR);
|
||||
dc->drawBitmapPattern(w, 5, LBM_SLIDER_POINT_IN, COLOR_THEME_EDIT);
|
||||
} else {
|
||||
dc->drawBitmapPattern(w, 5, LBM_SLIDER_POINT_IN, FIELD_BGCOLOR);
|
||||
dc->drawBitmapPattern(w, 5, LBM_SLIDER_POINT_IN, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
}
|
||||
|
||||
void OpenTxTheme::drawUsbPluggedScreen(BitmapBuffer * dc) const
|
||||
{
|
||||
// draw USB icon
|
||||
dc->clear(DEFAULT_BGCOLOR);
|
||||
dc->clear(COLOR_THEME_SECONDARY3);
|
||||
dc->drawBitmapPattern((LCD_W - LBM_USB_PLUGGED_W) / 2,
|
||||
(LCD_H - LBM_USB_PLUGGED_H) / 2,
|
||||
LBM_USB_PLUGGED, DEFAULT_COLOR);
|
||||
LBM_USB_PLUGGED, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -28,16 +28,6 @@ const ZoneOption OPTIONS_THEME_DEFAULT[] = {
|
||||
{ nullptr, ZoneOption::Bool }
|
||||
};
|
||||
|
||||
constexpr uint16_t __TEXT_COLOR = RGB(0x0C, 0x3F, 0x66);
|
||||
constexpr uint16_t __BACKGROUND_COLOR = RGB(0x12, 0x5E, 0x99);
|
||||
constexpr uint16_t __FOCUS_COLOR = RGB(0x14, 0xA1, 0xE5);
|
||||
constexpr uint16_t __DATAFIELD_FRAME_COLOR = RGB(0xB6, 0xE0, 0xF2);
|
||||
constexpr uint16_t __TAB_BACKGROUND_COLOR = RGB(0xE4, 0xEE, 0xF2);
|
||||
constexpr uint16_t __PARAM_BACKGROUND_COLOR = WHITE;
|
||||
|
||||
constexpr uint16_t __EDIT_MARKER_COLOR = RGB(0x00, 0x99, 0x09);
|
||||
constexpr uint16_t __ACTIVE_MARKER_COLOR = RGB(0xFF, 0xDE, 0x00);
|
||||
|
||||
class Theme480: public OpenTxTheme
|
||||
{
|
||||
public:
|
||||
@@ -51,58 +41,16 @@ class Theme480: public OpenTxTheme
|
||||
{
|
||||
TRACE("Load EdgeTX theme colors");
|
||||
|
||||
lcdColorTable[OS_COLOR_PRIMARY1_INDEX] = RGB(0, 0, 0);
|
||||
lcdColorTable[OS_COLOR_PRIMARY2_INDEX] = RGB(255, 255, 255);
|
||||
lcdColorTable[OS_COLOR_PRIMARY3_INDEX] = RGB(12, 63, 102);
|
||||
lcdColorTable[OS_COLOR_SECONDARY1_INDEX] = RGB(18, 94, 153);
|
||||
lcdColorTable[OS_COLOR_SECONDARY2_INDEX] = RGB(182, 224, 242);
|
||||
lcdColorTable[OS_COLOR_SECONDARY3_INDEX] = RGB(228, 238, 242);
|
||||
lcdColorTable[OS_COLOR_FOCUS_INDEX] = RGB(20, 161, 229);
|
||||
lcdColorTable[OS_COLOR_EDIT_INDEX] = RGB(0, 153, 9);
|
||||
lcdColorTable[OS_COLOR_ACTIVE_INDEX] = RGB(255, 222, 0);
|
||||
lcdColorTable[OS_COLOR_WARNING_INDEX] = RGB(224, 0, 0);
|
||||
|
||||
lcdColorTable[ALARM_COLOR_INDEX] = RED;
|
||||
lcdColorTable[BARGRAPH1_COLOR_INDEX] = RED;
|
||||
lcdColorTable[BARGRAPH2_COLOR_INDEX] = RGB(167, 167, 167);
|
||||
lcdColorTable[BARGRAPH_BGCOLOR_INDEX] = RGB(222, 222, 222);
|
||||
lcdColorTable[BATTERY_CHARGE_COLOR_INDEX] = GREEN;
|
||||
lcdColorTable[CHECKBOX_COLOR_INDEX] = __FOCUS_COLOR;
|
||||
lcdColorTable[CURVE_COLOR_INDEX] = RED;
|
||||
lcdColorTable[CURVE_CURSOR_COLOR_INDEX] = RED;
|
||||
lcdColorTable[DEFAULT_BGCOLOR_INDEX] = __TAB_BACKGROUND_COLOR;
|
||||
lcdColorTable[DEFAULT_COLOR_INDEX] = __TEXT_COLOR;
|
||||
lcdColorTable[DISABLE_COLOR_INDEX] = LIGHTGREY;
|
||||
lcdColorTable[EDIT_MARKER_COLOR_INDEX] = __EDIT_MARKER_COLOR;
|
||||
lcdColorTable[FIELD_BGCOLOR_INDEX] = WHITE;
|
||||
lcdColorTable[FIELD_FRAME_COLOR_INDEX] = __DATAFIELD_FRAME_COLOR;
|
||||
lcdColorTable[FOCUS_BGCOLOR_INDEX] = __FOCUS_COLOR;
|
||||
lcdColorTable[FOCUS_COLOR_INDEX] = WHITE;
|
||||
lcdColorTable[HEADER_COLOR_INDEX] = __BACKGROUND_COLOR;
|
||||
lcdColorTable[HEADER_CURRENT_BGCOLOR_INDEX] = __FOCUS_COLOR;
|
||||
lcdColorTable[HEADER_ICON_BGCOLOR_INDEX] = __BACKGROUND_COLOR;
|
||||
lcdColorTable[HIGHLIGHT_COLOR_INDEX] = __ACTIVE_MARKER_COLOR;
|
||||
lcdColorTable[LINE_COLOR_INDEX] = GREY;
|
||||
lcdColorTable[MAINVIEW_GRAPHICS_COLOR_INDEX] = RED;
|
||||
lcdColorTable[MAINVIEW_PANES_COLOR_INDEX] = WHITE;
|
||||
|
||||
lcdColorTable[MENU_BGCOLOR_INDEX] = WHITE;
|
||||
lcdColorTable[MENU_COLOR_INDEX] = __BACKGROUND_COLOR; // Menu font color
|
||||
|
||||
// Selected item in menu
|
||||
lcdColorTable[MENU_HIGHLIGHT_BGCOLOR_INDEX] = __FOCUS_COLOR;
|
||||
lcdColorTable[MENU_HIGHLIGHT_COLOR_INDEX] = WHITE;
|
||||
lcdColorTable[MENU_LINE_COLOR_INDEX] = __DATAFIELD_FRAME_COLOR;
|
||||
|
||||
lcdColorTable[MENU_TITLE_DISABLE_COLOR_INDEX] = __TEXT_COLOR;
|
||||
lcdColorTable[OVERLAY_COLOR_INDEX] = BLACK;
|
||||
lcdColorTable[SCROLLBAR_COLOR_INDEX] = __TEXT_COLOR;
|
||||
lcdColorTable[TEXT_DISABLE_COLOR_INDEX] = GREY;
|
||||
lcdColorTable[TEXT_STATUSBAR_COLOR_INDEX] = WHITE;
|
||||
lcdColorTable[TITLE_BGCOLOR_INDEX] = __BACKGROUND_COLOR;
|
||||
|
||||
lcdColorTable[TRIM_BGCOLOR_INDEX] = __FOCUS_COLOR;
|
||||
lcdColorTable[TRIM_SHADOW_COLOR_INDEX] = BLACK;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY1_INDEX] = RGB(0, 0, 0);
|
||||
lcdColorTable[COLOR_THEME_PRIMARY2_INDEX] = RGB(255, 255, 255);
|
||||
lcdColorTable[COLOR_THEME_PRIMARY3_INDEX] = RGB(12, 63, 102);
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = RGB(18, 94, 153);
|
||||
lcdColorTable[COLOR_THEME_SECONDARY2_INDEX] = RGB(182, 224, 242);
|
||||
lcdColorTable[COLOR_THEME_SECONDARY3_INDEX] = RGB(228, 238, 242);
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = RGB(20, 161, 229);
|
||||
lcdColorTable[COLOR_THEME_EDIT_INDEX] = RGB(0, 153, 9);
|
||||
lcdColorTable[COLOR_THEME_ACTIVE_INDEX] = RGB(255, 222, 0);
|
||||
lcdColorTable[COLOR_THEME_WARNING_INDEX] = RGB(224, 0, 0);
|
||||
}
|
||||
|
||||
void loadMenuIcon(uint8_t index, const uint8_t * lbm) const
|
||||
@@ -115,15 +63,15 @@ class Theme480: public OpenTxTheme
|
||||
delete menuIconNormal[index];
|
||||
menuIconNormal[index] = new BitmapBuffer(BMP_RGB565, mask->width(), mask->height());
|
||||
if (menuIconNormal[index]) {
|
||||
menuIconNormal[index]->clear(HEADER_ICON_BGCOLOR);
|
||||
menuIconNormal[index]->drawMask(0, 0, mask, FOCUS_COLOR);
|
||||
menuIconNormal[index]->clear(COLOR_THEME_SECONDARY1);
|
||||
menuIconNormal[index]->drawMask(0, 0, mask, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
delete menuIconSelected[index];
|
||||
menuIconSelected[index] = new BitmapBuffer(BMP_RGB565, mask->width(), mask->height());
|
||||
if (menuIconSelected[index]) {
|
||||
menuIconSelected[index]->clear(HEADER_CURRENT_BGCOLOR);
|
||||
menuIconSelected[index]->drawMask(0, 0, mask, FOCUS_COLOR);
|
||||
menuIconSelected[index]->clear(COLOR_THEME_FOCUS);
|
||||
menuIconSelected[index]->drawMask(0, 0, mask, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -197,27 +145,27 @@ class Theme480: public OpenTxTheme
|
||||
|
||||
currentMenuBackground->drawSolidFilledRect(
|
||||
0, 0, currentMenuBackground->width(), MENU_HEADER_HEIGHT,
|
||||
HEADER_COLOR);
|
||||
COLOR_THEME_SECONDARY1);
|
||||
|
||||
currentMenuBackground->drawSolidFilledRect(
|
||||
0, MENU_HEADER_HEIGHT, currentMenuBackground->width(),
|
||||
MENU_TITLE_TOP - MENU_HEADER_HEIGHT, DEFAULT_BGCOLOR);
|
||||
MENU_TITLE_TOP - MENU_HEADER_HEIGHT, COLOR_THEME_SECONDARY3);
|
||||
|
||||
currentMenuBackground->drawSolidFilledRect(
|
||||
0, MENU_TITLE_TOP, currentMenuBackground->width(),
|
||||
currentMenuBackground->height() - MENU_TITLE_TOP, TITLE_BGCOLOR);
|
||||
currentMenuBackground->height() - MENU_TITLE_TOP, COLOR_THEME_SECONDARY1);
|
||||
|
||||
currentMenuBackground->drawMask(0, 0, background,
|
||||
HEADER_CURRENT_BGCOLOR);
|
||||
COLOR_THEME_FOCUS);
|
||||
|
||||
currentMenuBackground->drawMask(0, 0, shadow, TRIM_SHADOW_COLOR);
|
||||
currentMenuBackground->drawMask(0, 0, shadow, COLOR_THEME_PRIMARY1);
|
||||
|
||||
currentMenuBackground->drawMask(10, 39, dot, FOCUS_COLOR);
|
||||
currentMenuBackground->drawMask(10, 39, dot, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
delete topleftBitmap;
|
||||
topleftBitmap = BitmapBuffer::load8bitMaskOnBackground(
|
||||
mask_topleft, HEADER_CURRENT_BGCOLOR, HEADER_COLOR);
|
||||
mask_topleft, COLOR_THEME_FOCUS, COLOR_THEME_SECONDARY1);
|
||||
|
||||
delete background;
|
||||
delete shadow;
|
||||
@@ -244,7 +192,7 @@ class Theme480: public OpenTxTheme
|
||||
// Unused:
|
||||
//
|
||||
// delete modelselIconBitmap;
|
||||
// modelselIconBitmap = BitmapBuffer::loadMaskOnBackground("modelsel/mask_iconback.png", TITLE_BGCOLOR, DEFAULT_BGCOLOR);
|
||||
// modelselIconBitmap = BitmapBuffer::loadMaskOnBackground("modelsel/mask_iconback.png", COLOR_THEME_SECONDARY1, COLOR_THEME_SECONDARY3);
|
||||
// if (modelselIconBitmap) {
|
||||
// BitmapBuffer * bitmap = BitmapBuffer::loadBitmap(getFilePath("modelsel/icon_default.png"));
|
||||
// modelselIconBitmap->drawBitmap(20, 8, bitmap);
|
||||
@@ -335,21 +283,21 @@ class Theme480: public OpenTxTheme
|
||||
uint32_t color = g_eeGeneral.themeData.options[1].value.unsignedValue;
|
||||
uint32_t bg_color = UNEXPECTED_SHUTDOWN() ? WHITE : g_eeGeneral.themeData.options[0].value.unsignedValue;
|
||||
|
||||
lcdColorTable[DEFAULT_BGCOLOR_INDEX] = bg_color;
|
||||
lcdColorTable[FOCUS_BGCOLOR_INDEX] = color;
|
||||
lcdColorTable[CHECKBOX_COLOR_INDEX] = color;
|
||||
lcdColorTable[SCROLLBAR_COLOR_INDEX] = color;
|
||||
lcdColorTable[CURVE_COLOR_INDEX] = color;
|
||||
lcdColorTable[CURVE_CURSOR_COLOR_INDEX] = color;
|
||||
lcdColorTable[TITLE_BGCOLOR_INDEX] = color;
|
||||
lcdColorTable[MENU_TITLE_DISABLE_COLOR_INDEX] =
|
||||
lcdColorTable[COLOR_THEME_SECONDARY3_INDEX] = bg_color;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY3_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_WARNING_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY3_INDEX] =
|
||||
RGB(GET_RED(color)>>1, GET_GREEN(color)>>1, GET_BLUE(color)>>1);
|
||||
lcdColorTable[TRIM_BGCOLOR_INDEX] = color;
|
||||
lcdColorTable[MAINVIEW_GRAPHICS_COLOR_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = color;
|
||||
#define DARKER(x) ((x * 70) / 100)
|
||||
lcdColorTable[MENU_BGCOLOR_INDEX] = RGB(DARKER(GET_RED(color)), DARKER(GET_GREEN(color)), DARKER(GET_BLUE(color)));
|
||||
lcdColorTable[HEADER_ICON_BGCOLOR_INDEX] = color;
|
||||
lcdColorTable[HEADER_CURRENT_BGCOLOR_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY2_INDEX] = RGB(DARKER(GET_RED(color)), DARKER(GET_GREEN(color)), DARKER(GET_BLUE(color)));
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = color;
|
||||
#endif
|
||||
loadIcons();
|
||||
loadThemeBitmaps();
|
||||
@@ -362,7 +310,7 @@ class Theme480: public OpenTxTheme
|
||||
}
|
||||
else {
|
||||
dc->drawSolidFilledRect(0 - dc->getOffsetX(), 0 - dc->getOffsetY(),
|
||||
LCD_W, LCD_H, DEFAULT_BGCOLOR);
|
||||
LCD_W, LCD_H, COLOR_THEME_SECONDARY3);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -380,10 +328,10 @@ class Theme480: public OpenTxTheme
|
||||
if (topleftBitmap) {
|
||||
dc->drawBitmap(0, 0, topleftBitmap);
|
||||
uint16_t width = topleftBitmap->width();
|
||||
dc->drawSolidFilledRect(width, 0, LCD_W - width, MENU_HEADER_HEIGHT, HEADER_COLOR);
|
||||
dc->drawSolidFilledRect(width, 0, LCD_W - width, MENU_HEADER_HEIGHT, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
else {
|
||||
dc->drawSolidFilledRect(0, 0, LCD_W, MENU_HEADER_HEIGHT, HEADER_COLOR);
|
||||
dc->drawSolidFilledRect(0, 0, LCD_W, MENU_HEADER_HEIGHT, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
if (icon == ICON_OPENTX)
|
||||
@@ -393,12 +341,12 @@ class Theme480: public OpenTxTheme
|
||||
|
||||
dc->drawSolidFilledRect(0, MENU_HEADER_HEIGHT, LCD_W,
|
||||
MENU_TITLE_TOP - MENU_HEADER_HEIGHT,
|
||||
DEFAULT_BGCOLOR); // the white separation line
|
||||
COLOR_THEME_SECONDARY3); // the white separation line
|
||||
|
||||
dc->drawSolidFilledRect(0, MENU_TITLE_TOP, LCD_W, MENU_TITLE_HEIGHT,
|
||||
TITLE_BGCOLOR); // the title line background
|
||||
COLOR_THEME_SECONDARY1); // the title line background
|
||||
if (title) {
|
||||
dc->drawText(MENUS_MARGIN_LEFT, MENU_TITLE_TOP + 3, title, FOCUS_COLOR);
|
||||
dc->drawText(MENUS_MARGIN_LEFT, MENU_TITLE_TOP + 3, title, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
|
||||
drawMenuDatetime(dc);
|
||||
@@ -431,7 +379,7 @@ class Theme480: public OpenTxTheme
|
||||
|
||||
void drawMenuDatetime(BitmapBuffer * dc) const
|
||||
{
|
||||
//dc->drawSolidVerticalLine(DATETIME_SEPARATOR_X, 7, 31, FOCUS_COLOR);
|
||||
//dc->drawSolidVerticalLine(DATETIME_SEPARATOR_X, 7, 31, COLOR_THEME_PRIMARY2);
|
||||
|
||||
struct gtm t;
|
||||
gettime(&t);
|
||||
@@ -442,18 +390,18 @@ class Theme480: public OpenTxTheme
|
||||
const char * const STR_MONTHS[] = TR_MONTHS;
|
||||
sprintf(str, "%d %s", t.tm_mday, STR_MONTHS[t.tm_mon]);
|
||||
#endif
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE1, str, FONT(XS)|FOCUS_COLOR|CENTERED);
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE1, str, FONT(XS)|COLOR_THEME_PRIMARY2|CENTERED);
|
||||
getTimerString(str, getValue(MIXSRC_TX_TIME));
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE2, str, FONT(XS)|FOCUS_COLOR|CENTERED);
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE2, str, FONT(XS)|COLOR_THEME_PRIMARY2|CENTERED);
|
||||
}
|
||||
|
||||
void drawProgressBar(BitmapBuffer *dc, coord_t x, coord_t y, coord_t w,
|
||||
coord_t h, int value, int total) const override
|
||||
{
|
||||
dc->drawSolidRect(x, y, w, h, 1, DEFAULT_COLOR);
|
||||
dc->drawSolidRect(x, y, w, h, 1, COLOR_THEME_SECONDARY1);
|
||||
if (value > 0) {
|
||||
int width = (w * value) / total;
|
||||
dc->drawSolidFilledRect(x + 2, y + 2, width - 4, h - 4, CHECKBOX_COLOR);
|
||||
dc->drawSolidFilledRect(x + 2, y + 2, width - 4, h - 4, COLOR_THEME_FOCUS);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -40,45 +40,45 @@ class FlyskyTheme: public OpenTxTheme
|
||||
{
|
||||
TRACE("Load FlySky theme colors");
|
||||
|
||||
lcdColorTable[DEFAULT_COLOR_INDEX] = BLACK;
|
||||
lcdColorTable[DEFAULT_BGCOLOR_INDEX] = WHITE;
|
||||
lcdColorTable[FOCUS_COLOR_INDEX] = WHITE;
|
||||
lcdColorTable[FOCUS_BGCOLOR_INDEX] = RED;
|
||||
lcdColorTable[TEXT_STATUSBAR_COLOR_INDEX] = WHITE;
|
||||
lcdColorTable[LINE_COLOR_INDEX] = GREY;
|
||||
lcdColorTable[CHECKBOX_COLOR_INDEX] = RGB(0, 71, 157);
|
||||
lcdColorTable[SCROLLBAR_COLOR_INDEX] = RGB(0, 71, 157);
|
||||
lcdColorTable[MENU_BGCOLOR_INDEX] = DARKBLUE;
|
||||
lcdColorTable[MENU_COLOR_INDEX] = WHITE;
|
||||
lcdColorTable[MENU_TITLE_DISABLE_COLOR_INDEX] = RGB(GET_RED(RED)>>1, GET_GREEN(RED)>>1, GET_BLUE(RED)>>1);
|
||||
lcdColorTable[HEADER_COLOR_INDEX] = DARKGREY;
|
||||
lcdColorTable[ALARM_COLOR_INDEX] = RED;
|
||||
lcdColorTable[HIGHLIGHT_COLOR_INDEX] = YELLOW;
|
||||
lcdColorTable[TEXT_DISABLE_COLOR_INDEX] = GREY;
|
||||
lcdColorTable[DISABLE_COLOR_INDEX] = LIGHTGREY;
|
||||
lcdColorTable[CURVE_COLOR_INDEX] = RED;
|
||||
lcdColorTable[CURVE_AXIS_COLOR_INDEX] = LIGHTGREY;
|
||||
lcdColorTable[CURVE_CURSOR_COLOR_INDEX] = RED;
|
||||
lcdColorTable[TRIM_BGCOLOR_INDEX] = RED;
|
||||
lcdColorTable[TRIM_SHADOW_COLOR_INDEX] = BLACK;
|
||||
lcdColorTable[MAINVIEW_PANES_COLOR_INDEX] = WHITE;
|
||||
lcdColorTable[MAINVIEW_GRAPHICS_COLOR_INDEX] = RED;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = BLACK;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY3_INDEX] = WHITE;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY2_INDEX] = WHITE;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = RED;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY2_INDEX] = WHITE;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY3_INDEX] = GREY;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = RGB(0, 71, 157);
|
||||
lcdColorTable[COLOR_THEME_PRIMARY3_INDEX] = RGB(0, 71, 157);
|
||||
lcdColorTable[COLOR_THEME_PRIMARY2_INDEX] = DARKBLUE;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = WHITE;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY3_INDEX] = RGB(GET_RED(RED)>>1, GET_GREEN(RED)>>1, GET_BLUE(RED)>>1);
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = DARKGREY;
|
||||
lcdColorTable[COLOR_THEME_WARNING_INDEX] = RED;
|
||||
lcdColorTable[COLOR_THEME_ACTIVE_INDEX] = YELLOW;
|
||||
lcdColorTable[COLOR_THEME_DISABLED_INDEX] = GREY;
|
||||
lcdColorTable[COLOR_THEME_DISABLED_INDEX] = LIGHTGREY;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = RED;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY2_INDEX] = LIGHTGREY;
|
||||
lcdColorTable[COLOR_THEME_WARNING_INDEX] = RED;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = RED;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY1_INDEX] = BLACK;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY2_INDEX] = WHITE;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = RED;
|
||||
|
||||
// The menu header (top bar)
|
||||
lcdColorTable[HEADER_BGCOLOR_INDEX] = DARKBLUE;
|
||||
lcdColorTable[HEADER_ICON_BGCOLOR_INDEX] = RGB(0, 71, 157);
|
||||
lcdColorTable[HEADER_CURRENT_BGCOLOR_INDEX] = RGB(2, 114, 250);
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = DARKBLUE;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = RGB(0, 71, 157);
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = RGB(2, 114, 250);
|
||||
|
||||
// The menu title
|
||||
lcdColorTable[TITLE_BGCOLOR_INDEX] = RGB(0, 71, 157);
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = RGB(0, 71, 157);
|
||||
|
||||
lcdColorTable[OVERLAY_COLOR_INDEX] = BLACK;
|
||||
lcdColorTable[BARGRAPH1_COLOR_INDEX] = RED;
|
||||
lcdColorTable[BARGRAPH2_COLOR_INDEX] = RGB(167, 167, 167);
|
||||
lcdColorTable[BARGRAPH_BGCOLOR_INDEX] = RGB(222, 222, 222);
|
||||
lcdColorTable[COLOR_THEME_PRIMARY1_INDEX] = BLACK;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = RED;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY2_INDEX] = RGB(167, 167, 167);
|
||||
lcdColorTable[COLOR_THEME_SECONDARY3_INDEX] = RGB(222, 222, 222);
|
||||
}
|
||||
|
||||
void loadMenuIcon(uint8_t index, const char * filename, uint32_t color=MENU_COLOR) const
|
||||
void loadMenuIcon(uint8_t index, const char * filename, uint32_t color=COLOR_THEME_SECONDARY1) const
|
||||
{
|
||||
TRACE("loadMenuIcon %s", getFilePath(filename));
|
||||
|
||||
@@ -94,14 +94,14 @@ class FlyskyTheme: public OpenTxTheme
|
||||
delete menuIconNormal[index];
|
||||
menuIconNormal[index] = new BitmapBuffer(BMP_RGB565, width, height);
|
||||
if (menuIconNormal[index]) {
|
||||
menuIconNormal[index]->clear(HEADER_BGCOLOR);
|
||||
menuIconNormal[index]->clear(COLOR_THEME_FOCUS);
|
||||
menuIconNormal[index]->drawMask(0, 0, mask, color);
|
||||
}
|
||||
|
||||
delete menuIconSelected[index];
|
||||
menuIconSelected[index] = new BitmapBuffer(BMP_RGB565, width, height);
|
||||
if (menuIconSelected[index]) {
|
||||
menuIconSelected[index]->clear(HEADER_CURRENT_BGCOLOR);
|
||||
menuIconSelected[index]->clear(COLOR_THEME_FOCUS);
|
||||
menuIconSelected[index]->drawMask(0, 0, mask, color);
|
||||
}
|
||||
}
|
||||
@@ -109,7 +109,7 @@ class FlyskyTheme: public OpenTxTheme
|
||||
delete menuIconNormal[index];
|
||||
menuIconNormal[index] = new BitmapBuffer(BMP_RGB565, MENU_HEADER_BUTTON_WIDTH, MENU_HEADER_BUTTON_WIDTH);
|
||||
if (menuIconNormal[index]) {
|
||||
menuIconNormal[index]->clear(HEADER_BGCOLOR);
|
||||
menuIconNormal[index]->clear(COLOR_THEME_FOCUS);
|
||||
menuIconNormal[index]->drawMask((MENU_HEADER_BUTTON_WIDTH-width)/2, (MENU_HEADER_BUTTON_WIDTH-width)/2, mask, color);
|
||||
}
|
||||
|
||||
@@ -117,9 +117,9 @@ class FlyskyTheme: public OpenTxTheme
|
||||
menuIconSelected[index] = new BitmapBuffer(BMP_RGB565, MENU_HEADER_BUTTON_WIDTH, MENU_HEADER_BUTTON_WIDTH);
|
||||
if (menuIconSelected[index]) {
|
||||
if (index < ICON_RADIO)
|
||||
menuIconSelected[index]->clear(HEADER_CURRENT_BGCOLOR /*HEADER_LOGO_BGCOLOR*/);
|
||||
menuIconSelected[index]->clear(COLOR_THEME_FOCUS /*HEADER_LOGO_BGCOLOR*/);
|
||||
else
|
||||
menuIconSelected[index]->clear(HEADER_CURRENT_BGCOLOR);
|
||||
menuIconSelected[index]->clear(COLOR_THEME_FOCUS);
|
||||
menuIconSelected[index]->drawMask((MENU_HEADER_BUTTON_WIDTH-width)/2, (MENU_HEADER_BUTTON_WIDTH-height)/2, mask, color);
|
||||
}
|
||||
}
|
||||
@@ -129,7 +129,7 @@ class FlyskyTheme: public OpenTxTheme
|
||||
void loadIcons() const
|
||||
{
|
||||
#if defined(LOG_TELEMETRY) || defined(WATCHDOG_DISABLED)
|
||||
loadMenuIcon(ICON_OPENTX, "mask_opentx_testmode.png", DEFAULT_COLOR);
|
||||
loadMenuIcon(ICON_OPENTX, "mask_opentx_testmode.png", COLOR_THEME_SECONDARY1);
|
||||
#else
|
||||
loadMenuIcon(ICON_OPENTX, "mask_edgetx.png");
|
||||
#endif
|
||||
@@ -187,16 +187,16 @@ class FlyskyTheme: public OpenTxTheme
|
||||
currentMenuBackground = new BitmapBuffer(BMP_RGB565, 36, 53);
|
||||
}
|
||||
if (currentMenuBackground) {
|
||||
currentMenuBackground->drawSolidFilledRect(0, 0, currentMenuBackground->width(), MENU_HEADER_HEIGHT, HEADER_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);
|
||||
currentMenuBackground->drawSolidFilledRect(0, 0, currentMenuBackground->width(), MENU_HEADER_HEIGHT, COLOR_THEME_FOCUS);
|
||||
currentMenuBackground->drawSolidFilledRect(0, MENU_HEADER_HEIGHT, currentMenuBackground->width(), MENU_TITLE_TOP - MENU_HEADER_HEIGHT, COLOR_THEME_SECONDARY3);
|
||||
currentMenuBackground->drawSolidFilledRect(0, MENU_TITLE_TOP, currentMenuBackground->width(), currentMenuBackground->height() - MENU_TITLE_TOP, COLOR_THEME_SECONDARY1);
|
||||
currentMenuBackground->drawMask(0, 0, background, COLOR_THEME_FOCUS);
|
||||
currentMenuBackground->drawMask(0, 0, shadow, COLOR_THEME_PRIMARY1);
|
||||
currentMenuBackground->drawMask(10, 39, dot, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
delete topleftBitmap;
|
||||
topleftBitmap = BitmapBuffer::loadMaskOnBackground("topleft.png", TITLE_BGCOLOR, HEADER_BGCOLOR);
|
||||
topleftBitmap = BitmapBuffer::loadMaskOnBackground("topleft.png", COLOR_THEME_SECONDARY1, COLOR_THEME_FOCUS);
|
||||
|
||||
delete background;
|
||||
delete shadow;
|
||||
@@ -217,7 +217,7 @@ class FlyskyTheme: public OpenTxTheme
|
||||
|
||||
// Model Selection screen
|
||||
// delete modelselIconBitmap;
|
||||
// modelselIconBitmap = BitmapBuffer::loadMaskOnBackground("modelsel/mask_iconback.png", TITLE_BGCOLOR, DEFAULT_BGCOLOR);
|
||||
// modelselIconBitmap = BitmapBuffer::loadMaskOnBackground("modelsel/mask_iconback.png", COLOR_THEME_SECONDARY1, COLOR_THEME_SECONDARY3);
|
||||
// if (modelselIconBitmap) {
|
||||
// BitmapBuffer * bitmap = BitmapBuffer::loadBitmap(getFilePath("modelsel/icon_default.png"));
|
||||
// modelselIconBitmap->drawBitmap(20, 8, bitmap);
|
||||
@@ -244,29 +244,29 @@ class FlyskyTheme: public OpenTxTheme
|
||||
|
||||
// Channels monitor screen
|
||||
delete chanMonLockedBitmap;
|
||||
chanMonLockedBitmap = BitmapBuffer::loadMaskOnBackground("mask_monitor_lockch.png", DEFAULT_COLOR, DEFAULT_BGCOLOR);
|
||||
chanMonLockedBitmap = BitmapBuffer::loadMaskOnBackground("mask_monitor_lockch.png", COLOR_THEME_SECONDARY1, COLOR_THEME_SECONDARY3);
|
||||
|
||||
delete chanMonInvertedBitmap;
|
||||
chanMonInvertedBitmap = BitmapBuffer::loadMaskOnBackground("mask_monitor_inver.png", DEFAULT_COLOR, DEFAULT_BGCOLOR);
|
||||
chanMonInvertedBitmap = BitmapBuffer::loadMaskOnBackground("mask_monitor_inver.png", COLOR_THEME_SECONDARY1, COLOR_THEME_SECONDARY3);
|
||||
|
||||
// Mixer setup screen
|
||||
delete mixerSetupMixerBitmap;
|
||||
mixerSetupMixerBitmap = BitmapBuffer::loadMaskOnBackground("mask_sbar_mixer.png", MENU_COLOR, HEADER_BGCOLOR);
|
||||
mixerSetupMixerBitmap = BitmapBuffer::loadMaskOnBackground("mask_sbar_mixer.png", COLOR_THEME_SECONDARY1, COLOR_THEME_FOCUS);
|
||||
|
||||
delete mixerSetupToBitmap;
|
||||
mixerSetupToBitmap = BitmapBuffer::loadMaskOnBackground("mask_sbar_to.png", MENU_COLOR, HEADER_BGCOLOR);
|
||||
mixerSetupToBitmap = BitmapBuffer::loadMaskOnBackground("mask_sbar_to.png", COLOR_THEME_SECONDARY1, COLOR_THEME_FOCUS);
|
||||
|
||||
delete mixerSetupOutputBitmap;
|
||||
mixerSetupOutputBitmap = BitmapBuffer::loadMaskOnBackground("mask_sbar_output.png", MENU_COLOR, HEADER_BGCOLOR);
|
||||
mixerSetupOutputBitmap = BitmapBuffer::loadMaskOnBackground("mask_sbar_output.png", COLOR_THEME_SECONDARY1, COLOR_THEME_FOCUS);
|
||||
|
||||
delete mixerSetupAddBitmap;
|
||||
mixerSetupAddBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_add.png"), DEFAULT_COLOR, DEFAULT_BGCOLOR);
|
||||
mixerSetupAddBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_add.png"), COLOR_THEME_SECONDARY1, COLOR_THEME_SECONDARY3);
|
||||
|
||||
delete mixerSetupMultiBitmap;
|
||||
mixerSetupMultiBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_multi.png"), DEFAULT_COLOR, DEFAULT_BGCOLOR);
|
||||
mixerSetupMultiBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_multi.png"), COLOR_THEME_SECONDARY1, COLOR_THEME_SECONDARY3);
|
||||
|
||||
delete mixerSetupReplaceBitmap;
|
||||
mixerSetupReplaceBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_replace.png"), DEFAULT_COLOR, DEFAULT_BGCOLOR);
|
||||
mixerSetupReplaceBitmap = BitmapBuffer::loadMaskOnBackground(getFilePath("mask_mplex_replace.png"), COLOR_THEME_SECONDARY1, COLOR_THEME_SECONDARY3);
|
||||
|
||||
delete mixerSetupLabelIcon;
|
||||
mixerSetupLabelIcon = BitmapBuffer::loadMask(getFilePath("mask_textline_label.png"));
|
||||
@@ -308,21 +308,21 @@ class FlyskyTheme: public OpenTxTheme
|
||||
uint32_t color = g_eeGeneral.themeData.options[1].unsignedValue;
|
||||
uint32_t bg_color = UNEXPECTED_SHUTDOWN() ? WHITE : g_eeGeneral.themeData.options[0].unsignedValue;
|
||||
|
||||
lcdColorTable[DEFAULT_BGCOLOR_INDEX] = bg_color;
|
||||
lcdColorTable[FOCUS_BGCOLOR_INDEX] = color;
|
||||
lcdColorTable[CHECKBOX_COLOR_INDEX] = color;
|
||||
lcdColorTable[SCROLLBAR_COLOR_INDEX] = color;
|
||||
lcdColorTable[CURVE_COLOR_INDEX] = color;
|
||||
lcdColorTable[CURVE_CURSOR_COLOR_INDEX] = color;
|
||||
lcdColorTable[TITLE_BGCOLOR_INDEX] = color;
|
||||
lcdColorTable[MENU_TITLE_DISABLE_COLOR_INDEX] =
|
||||
lcdColorTable[COLOR_THEME_SECONDARY3_INDEX] = bg_color;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY3_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_WARNING_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_PRIMARY3_INDEX] =
|
||||
RGB(GET_RED(color)>>1, GET_GREEN(color)>>1, GET_BLUE(color)>>1);
|
||||
lcdColorTable[TRIM_BGCOLOR_INDEX] = color;
|
||||
lcdColorTable[MAINVIEW_GRAPHICS_COLOR_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = color;
|
||||
#define DARKER(x) ((x * 70) / 100)
|
||||
lcdColorTable[HEADER_BGCOLOR_INDEX] = RGB(DARKER(GET_RED(color)), DARKER(GET_GREEN(color)), DARKER(GET_BLUE(color)));
|
||||
lcdColorTable[HEADER_ICON_BGCOLOR_INDEX] = color;
|
||||
lcdColorTable[HEADER_CURRENT_BGCOLOR_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = RGB(DARKER(GET_RED(color)), DARKER(GET_GREEN(color)), DARKER(GET_BLUE(color)));
|
||||
lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = color;
|
||||
lcdColorTable[COLOR_THEME_FOCUS_INDEX] = color;
|
||||
#endif
|
||||
loadIcons();
|
||||
loadThemeBitmaps();
|
||||
@@ -344,7 +344,7 @@ class FlyskyTheme: public OpenTxTheme
|
||||
if (topleftBitmap) {
|
||||
dc->drawBitmap(0, 0, topleftBitmap);
|
||||
uint16_t width = topleftBitmap->width();
|
||||
dc->drawSolidFilledRect(width, 0, LCD_W - width, MENU_HEADER_HEIGHT, MENU_BGCOLOR);
|
||||
dc->drawSolidFilledRect(width, 0, LCD_W - width, MENU_HEADER_HEIGHT, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -355,10 +355,10 @@ class FlyskyTheme: public OpenTxTheme
|
||||
// dc->drawBitmap(0, 0, topleftBitmap);
|
||||
// uint16_t width = topleftBitmap->width();
|
||||
// dc->drawSolidFilledRect(width, 0, LCD_W-width,
|
||||
// MENU_HEADER_HEIGHT, HEADER_BGCOLOR);
|
||||
// MENU_HEADER_HEIGHT, COLOR_THEME_FOCUS);
|
||||
// }
|
||||
// else {
|
||||
dc->drawSolidFilledRect(0, 0, LCD_W, MENU_HEADER_HEIGHT, HEADER_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, LCD_W, MENU_HEADER_HEIGHT, COLOR_THEME_FOCUS);
|
||||
// }
|
||||
//
|
||||
// if (icon == ICON_OPENTX)
|
||||
@@ -368,12 +368,12 @@ class FlyskyTheme: public OpenTxTheme
|
||||
//
|
||||
dc->drawSolidFilledRect(0, MENU_HEADER_HEIGHT, LCD_W,
|
||||
MENU_TITLE_TOP - MENU_HEADER_HEIGHT,
|
||||
DEFAULT_BGCOLOR); // the white separation line
|
||||
COLOR_THEME_SECONDARY3); // the white separation line
|
||||
dc->drawSolidFilledRect(0, MENU_TITLE_TOP, LCD_W, MENU_TITLE_HEIGHT,
|
||||
TITLE_BGCOLOR); // the title line background
|
||||
COLOR_THEME_SECONDARY1); // the title line background
|
||||
//
|
||||
if (title) {
|
||||
dc->drawText(MENUS_MARGIN_LEFT, MENU_TITLE_TOP + 2, title, MENU_COLOR);
|
||||
dc->drawText(MENUS_MARGIN_LEFT, MENU_TITLE_TOP + 2, title, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -393,7 +393,7 @@ class FlyskyTheme: public OpenTxTheme
|
||||
uint8_t padding_left = 4;
|
||||
|
||||
dc->drawSolidFilledRect(0, 0, 4, MENU_HEADER_BUTTON_WIDTH,
|
||||
HEADER_BGCOLOR);
|
||||
COLOR_THEME_FOCUS);
|
||||
for (unsigned i = 0; i < tabs.size(); i++) {
|
||||
dc->drawBitmap(
|
||||
padding_left + i * MENU_HEADER_BUTTON_WIDTH, 0,
|
||||
@@ -404,13 +404,13 @@ class FlyskyTheme: public OpenTxTheme
|
||||
// coord_t w = width() - x;
|
||||
// if (w > 0) {
|
||||
// dc->drawSolidFilledRect(x, 0, w, MENU_HEADER_BUTTON_WIDTH,
|
||||
// HEADER_BGCOLOR);
|
||||
// COLOR_THEME_FOCUS);
|
||||
// }
|
||||
}
|
||||
|
||||
void drawMenuDatetime(BitmapBuffer * dc) const
|
||||
{
|
||||
dc->drawSolidVerticalLine(DATETIME_SEPARATOR_X, 7, 31, FOCUS_COLOR);
|
||||
dc->drawSolidVerticalLine(DATETIME_SEPARATOR_X, 7, 31, COLOR_THEME_PRIMARY2);
|
||||
|
||||
struct gtm t;
|
||||
gettime(&t);
|
||||
@@ -422,19 +422,19 @@ class FlyskyTheme: public OpenTxTheme
|
||||
const char * const STR_MONTHS[] = TR_MONTHS;
|
||||
sprintf(str, "%d %s", t.tm_mday, STR_MONTHS[t.tm_mon]);
|
||||
#endif
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE1, str, FONT(XS)|FOCUS_COLOR|CENTERED);
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE1, str, FONT(XS)|COLOR_THEME_PRIMARY2|CENTERED);
|
||||
|
||||
getTimerString(str, getValue(MIXSRC_TX_TIME));
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE2, str, FONT(XS)|FOCUS_COLOR|CENTERED);
|
||||
dc->drawText(DATETIME_MIDDLE, DATETIME_LINE2, str, FONT(XS)|COLOR_THEME_PRIMARY2|CENTERED);
|
||||
}
|
||||
|
||||
void drawProgressBar(BitmapBuffer *dc, coord_t x, coord_t y, coord_t w,
|
||||
coord_t h, int value, int total) const override
|
||||
{
|
||||
dc->drawSolidRect(x, y, w, h, 1, DEFAULT_COLOR);
|
||||
dc->drawSolidRect(x, y, w, h, 1, COLOR_THEME_SECONDARY1);
|
||||
if (value > 0) {
|
||||
int width = (w * value) / total;
|
||||
dc->drawSolidFilledRect(x + 2, y + 2, width - 4, h - 4, CHECKBOX_COLOR);
|
||||
dc->drawSolidFilledRect(x + 2, y + 2, width - 4, h - 4, COLOR_THEME_FOCUS);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,11 +34,11 @@ void TimeEdit::paint(BitmapBuffer * dc)
|
||||
|
||||
LcdFlags textColor;
|
||||
if (editMode)
|
||||
textColor = FOCUS_COLOR;
|
||||
textColor = COLOR_THEME_PRIMARY2;
|
||||
else if (hasFocus())
|
||||
textColor = FOCUS_COLOR;
|
||||
textColor = COLOR_THEME_PRIMARY2;
|
||||
else
|
||||
textColor = DEFAULT_COLOR;
|
||||
textColor = COLOR_THEME_SECONDARY1;
|
||||
|
||||
dc->drawText(FIELD_PADDING_LEFT, FIELD_PADDING_TOP,
|
||||
getTimerString(getValue(), (textFlags & TIMEHOUR) != 0),
|
||||
|
||||
@@ -33,15 +33,15 @@ AboutUs::AboutUs() :
|
||||
{
|
||||
content->setRect({(LCD_W - ABOUT_WIDTH) / 2, 20, ABOUT_WIDTH, LCD_H - 40});
|
||||
|
||||
messageWidget->setTextFlags(CENTERED | FONT(BOLD) | DEFAULT_COLOR);
|
||||
messageWidget->setTextFlags(CENTERED | FONT(BOLD) | COLOR_THEME_SECONDARY1);
|
||||
messageWidget->setTop(content->top() + 40);
|
||||
messageWidget->setHeight(2*PAGE_LINE_HEIGHT);
|
||||
|
||||
messageWidget->setText("EdgeTX Endeavour (2.4.0)\n"
|
||||
"Copyright (C) 2021 EdgeTX");
|
||||
|
||||
qrcode = BitmapBuffer::load8bitMaskOnBackground(mask_qrcode, DEFAULT_COLOR,
|
||||
DEFAULT_BGCOLOR);
|
||||
qrcode = BitmapBuffer::load8bitMaskOnBackground(mask_qrcode, COLOR_THEME_SECONDARY1,
|
||||
COLOR_THEME_SECONDARY3);
|
||||
new StaticBitmap(content,
|
||||
rect_t{ content->width() / 2 - qrcode->width() / 2, 80,
|
||||
qrcode->width(), qrcode->height()},
|
||||
|
||||
@@ -46,9 +46,9 @@ class ChannelsViewFooter: public Window {
|
||||
// Draw single legend
|
||||
coord_t drawChannelsMonitorLegend(BitmapBuffer * dc, coord_t x, const char * s, int color)
|
||||
{
|
||||
dc->drawSolidFilledRect(x, 4, LEG_COLORBOX + 2, LEG_COLORBOX + 2, BARGRAPH_BGCOLOR);
|
||||
dc->drawSolidFilledRect(x, 4, LEG_COLORBOX + 2, LEG_COLORBOX + 2, COLOR_THEME_SECONDARY3);
|
||||
dc->drawSolidFilledRect(x + 1, 5, LEG_COLORBOX, LEG_COLORBOX, color);
|
||||
dc->drawText(x + 20, 4, s, TEXT_STATUSBAR_COLOR);
|
||||
dc->drawText(x + 20, 4, s, COLOR_THEME_PRIMARY2);
|
||||
return x + 25 + getTextWidth(s);
|
||||
}
|
||||
|
||||
@@ -56,9 +56,9 @@ class ChannelsViewFooter: public Window {
|
||||
{
|
||||
// Draw legend bar
|
||||
coord_t x = 10;
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), TITLE_BGCOLOR);
|
||||
x = drawChannelsMonitorLegend(dc, MENUS_MARGIN_LEFT, STR_MONITOR_OUTPUT_DESC, HIGHLIGHT_COLOR);
|
||||
drawChannelsMonitorLegend(dc, x, STR_MONITOR_MIXER_DESC, FOCUS_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), COLOR_THEME_SECONDARY1);
|
||||
x = drawChannelsMonitorLegend(dc, MENUS_MARGIN_LEFT, STR_MONITOR_OUTPUT_DESC, COLOR_THEME_ACTIVE);
|
||||
drawChannelsMonitorLegend(dc, x, STR_MONITOR_MIXER_DESC, COLOR_THEME_FOCUS);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@ class LogicalSwitchDisplayButton : public TextButton
|
||||
TextButton(parent, rect, std::move(text), nullptr, OPAQUE), index(index)
|
||||
{
|
||||
setBgColorHandler([=]() -> LcdFlags {
|
||||
if (getSwitch(SWSRC_SW1 + index)) return HIGHLIGHT_COLOR;
|
||||
return FIELD_BGCOLOR;
|
||||
if (getSwitch(SWSRC_SW1 + index)) return COLOR_THEME_ACTIVE;
|
||||
return COLOR_THEME_PRIMARY2;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -42,9 +42,9 @@ class LogicalSwitchDisplayButton : public TextButton
|
||||
bool newvalue = getSwitch(SWSRC_SW1 + index);
|
||||
if (value != newvalue) {
|
||||
if (newvalue) {
|
||||
setTextFlags(FONT(BOLD) | DEFAULT_COLOR);
|
||||
setTextFlags(FONT(BOLD) | COLOR_THEME_SECONDARY1);
|
||||
} else {
|
||||
setTextFlags(FONT(STD) | DEFAULT_COLOR);
|
||||
setTextFlags(FONT(STD) | COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
value = newvalue;
|
||||
invalidate();
|
||||
|
||||
@@ -45,10 +45,10 @@ class LogicalSwitchDisplayFooter : public Window
|
||||
|
||||
void paint(BitmapBuffer* dc) override
|
||||
{
|
||||
dc->clear(TITLE_BGCOLOR);
|
||||
dc->clear(COLOR_THEME_SECONDARY1);
|
||||
LogicalSwitchData* cs = lswAddress(index);
|
||||
|
||||
LcdFlags textColor = FOCUS_COLOR;
|
||||
LcdFlags textColor = COLOR_THEME_PRIMARY2;
|
||||
dc->drawTextAtIndex(10, 1, STR_VCSWFUNC, cs->func, textColor);
|
||||
// CSW params
|
||||
unsigned int cstate = lswFamily(cs->func);
|
||||
|
||||
@@ -50,7 +50,7 @@ ViewMainMenu::ViewMainMenu(Window* parent) :
|
||||
//
|
||||
// auto title = new StaticText(this,
|
||||
// {0, pos, width(), getFontHeight(FONT(XL))},
|
||||
// "Tasks", 0, FOCUS_COLOR | FONT(XL) | CENTERED);
|
||||
// "Tasks", 0, COLOR_THEME_PRIMARY2 | FONT(XL) | CENTERED);
|
||||
// pos += title->height() + PAGE_LINE_SPACING;
|
||||
|
||||
carousel->addButton(ICON_MODEL_SELECT, "Select\nModel", [=]() -> uint8_t {
|
||||
@@ -129,7 +129,7 @@ void ViewMainMenu::paint(BitmapBuffer* dc)
|
||||
rect_t zone = carouselRect;
|
||||
zone.x -= 8; zone.y -= 8;
|
||||
zone.w += 16; zone.h += 16;
|
||||
dc->drawFilledRect(zone.x, zone.y, zone.w, zone.h, SOLID, OVERLAY_COLOR, OPACITY(5));
|
||||
dc->drawFilledRect(zone.x, zone.y, zone.w, zone.h, SOLID, COLOR_THEME_PRIMARY1, OPACITY(5));
|
||||
}
|
||||
|
||||
void ViewMainMenu::deleteLater(bool detach, bool trash)
|
||||
|
||||
@@ -49,10 +49,10 @@ class ThrottleCurveWindow : public Window
|
||||
void paint(BitmapBuffer * dc) override
|
||||
{
|
||||
// Axis
|
||||
dc->drawHorizontalLine(0, height() - 2, width(), SOLID | DEFAULT_COLOR);
|
||||
dc->drawVerticalLine(0, 0, height(), SOLID, DEFAULT_COLOR);
|
||||
dc->drawHorizontalLine(0, height() - 2, width(), SOLID | COLOR_THEME_SECONDARY1);
|
||||
dc->drawVerticalLine(0, 0, height(), SOLID, COLOR_THEME_SECONDARY1);
|
||||
for (coord_t i=0; i < width(); i+=6) {
|
||||
dc->drawVerticalLine(i,height() - 4, 3, SOLID | DEFAULT_COLOR);
|
||||
dc->drawVerticalLine(i,height() - 4, 3, SOLID | COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
// Curve
|
||||
@@ -64,17 +64,17 @@ class ThrottleCurveWindow : public Window
|
||||
if (prev_yv != (coord_t)-1) {
|
||||
if (prev_yv < yv) {
|
||||
for (int y=prev_yv; y<=yv; y++) {
|
||||
dc->drawBitmapPattern(i, y, LBM_POINT, DEFAULT_COLOR);
|
||||
dc->drawBitmapPattern(i, y, LBM_POINT, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int y=yv; y<=prev_yv; y++) {
|
||||
dc->drawBitmapPattern(i, y, LBM_POINT, DEFAULT_COLOR);
|
||||
dc->drawBitmapPattern(i, y, LBM_POINT, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
dc->drawBitmapPattern(i, yv, LBM_POINT, DEFAULT_COLOR);
|
||||
dc->drawBitmapPattern(i, yv, LBM_POINT, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
prev_yv = yv;
|
||||
}
|
||||
|
||||
@@ -37,8 +37,8 @@ class DebugInfoNumber : public Window
|
||||
{
|
||||
coord_t prefixSize = 0;
|
||||
if (prefix != nullptr) {
|
||||
prefixSize = getTextWidth(prefix, 0, HEADER_COLOR | FONT(XS));
|
||||
new StaticText(this, {0, 0, prefixSize, rect.h}, prefix, 0, HEADER_COLOR | FONT(XS));
|
||||
prefixSize = getTextWidth(prefix, 0, COLOR_THEME_SECONDARY1 | FONT(XS));
|
||||
new StaticText(this, {0, 0, prefixSize, rect.h}, prefix, 0, COLOR_THEME_SECONDARY1 | FONT(XS));
|
||||
}
|
||||
new DynamicNumber<uint32_t>(this, {prefixSize, 0, rect.w - prefixSize, rect.h},
|
||||
numberHandler);
|
||||
|
||||
@@ -421,7 +421,7 @@ void ViewTextWindow::drawVerticalScrollbar(BitmapBuffer *dc)
|
||||
if (yhgt < 15) yhgt = 15;
|
||||
if (yhgt + yofs > maxPos) yhgt = maxPos - yofs;
|
||||
dc->drawSolidFilledRect(body.getRect().w - SCROLLBAR_WIDTH, yofs,
|
||||
SCROLLBAR_WIDTH, yhgt, SCROLLBAR_COLOR);
|
||||
SCROLLBAR_WIDTH, yhgt, COLOR_THEME_PRIMARY3);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -119,7 +119,7 @@ bool isInSetup;
|
||||
new StaticText(window,
|
||||
{PAGE_TITLE_LEFT, PAGE_TITLE_TOP + 10,
|
||||
LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT},
|
||||
name, 0, MENU_HIGHLIGHT_COLOR);
|
||||
name, 0, COLOR_THEME_PRIMARY2);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -116,12 +116,12 @@ void Widget::paint(BitmapBuffer * dc)
|
||||
&& !FAST_BLINK_ON_PHASE) {
|
||||
return;
|
||||
}
|
||||
dc->drawRect(0, 0, width(), height(), 2, STASHED, CHECKBOX_COLOR);
|
||||
dc->drawRect(0, 0, width(), height(), 2, STASHED, COLOR_THEME_FOCUS);
|
||||
}
|
||||
|
||||
if (fullscreen && (RTOS_GET_MS() - fsStartedTS < FULLSCREEN_HINT_DELAY)) {
|
||||
dc->drawText(width() / 2, height() / 2, "Press [RTN] long to exit",
|
||||
FONT(XL) | CENTERED | VCENTERED | LINE_COLOR);
|
||||
FONT(XL) | CENTERED | VCENTERED | COLOR_THEME_PRIMARY3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,11 +49,11 @@ class GaugeWidget: public Widget
|
||||
int percent = divRoundClosest(100 * (value - min), (max - min));
|
||||
|
||||
// Gauge label
|
||||
drawSource(dc, 0, 0, index, FONT(XS) | FOCUS_COLOR);
|
||||
drawSource(dc, 0, 0, index, FONT(XS) | COLOR_THEME_PRIMARY2);
|
||||
|
||||
// Gauge
|
||||
lcdSetColor(color);
|
||||
dc->drawSolidFilledRect(0, 16, width(), 16, FOCUS_COLOR);
|
||||
dc->drawSolidFilledRect(0, 16, width(), 16, COLOR_THEME_PRIMARY2);
|
||||
dc->drawNumber(0+width()/2, 17, percent, FONT(XS) | CUSTOM_COLOR | CENTERED, 0, nullptr, "%");
|
||||
dc->invertRect(w, 16, width() - w, 16, CUSTOM_COLOR);
|
||||
}
|
||||
|
||||
@@ -51,12 +51,12 @@ class ModelBitmapWidget: public Widget
|
||||
|
||||
auto iconMask = theme->getIconMask(ICON_MODEL);
|
||||
if (iconMask) {
|
||||
dc->drawMask(6, 4, iconMask, HEADER_COLOR);
|
||||
dc->drawMask(6, 4, iconMask, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
dc->drawSizedText(45, 10, g_model.header.name, LEN_MODEL_NAME,
|
||||
FONT(XS) | DEFAULT_COLOR);
|
||||
dc->drawSolidFilledRect(39, 27, rect.w - 48, 2, HEADER_COLOR);
|
||||
FONT(XS) | COLOR_THEME_SECONDARY1);
|
||||
dc->drawSolidFilledRect(39, 27, rect.w - 48, 2, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
// smaller space to draw
|
||||
else if (buffer) {
|
||||
@@ -90,7 +90,7 @@ class ModelBitmapWidget: public Widget
|
||||
buffer.reset(new BitmapBuffer(BMP_RGB565, width(), height()));
|
||||
}
|
||||
|
||||
buffer->clear(DEFAULT_BGCOLOR);
|
||||
buffer->clear(COLOR_THEME_SECONDARY3);
|
||||
if (!filename.empty()) {
|
||||
std::unique_ptr<BitmapBuffer> bitmap(BitmapBuffer::loadBitmap(fullpath.c_str()));
|
||||
if (!bitmap) {
|
||||
|
||||
@@ -66,16 +66,16 @@ class OutputsWidget: public Widget
|
||||
dc->drawSolidFilledRect(barLft, barTop, barW , barH, CUSTOM_COLOR);
|
||||
}
|
||||
if (fillW)
|
||||
dc->drawSolidFilledRect((chanVal > 0 ? barMid : barMid - fillW), barTop, fillW, barH, BARGRAPH1_COLOR);
|
||||
lcd->drawSolidVerticalLine(barMid, barTop, barH, MAINVIEW_GRAPHICS_COLOR);
|
||||
dc->drawSolidFilledRect((chanVal > 0 ? barMid : barMid - fillW), barTop, fillW, barH, COLOR_THEME_SECONDARY1);
|
||||
lcd->drawSolidVerticalLine(barMid, barTop, barH, COLOR_THEME_SECONDARY1);
|
||||
dc->drawRect(x, rowTop, w, rowH + 1);
|
||||
dc->drawNumber(x + barW - 10, barTop, chanVal, FONT(XS) | DEFAULT_COLOR | RIGHT, 0, nullptr, "%");
|
||||
dc->drawNumber(x + barW - 10, barTop, chanVal, FONT(XS) | COLOR_THEME_SECONDARY1 | RIGHT, 0, nullptr, "%");
|
||||
if (g_model.limitData[curChan - 1].name[0] != 0) {
|
||||
dc->drawNumber(barLft + 1, barTop, curChan, FONT(XS) | DEFAULT_COLOR | LEFT | LEADING0, 2);
|
||||
dc->drawSizedText(barLft + 23, barTop, g_model.limitData[curChan - 1].name, sizeof(g_model.limitData[curChan - 1].name), FONT(XS) | DEFAULT_COLOR | LEFT);
|
||||
dc->drawNumber(barLft + 1, barTop, curChan, FONT(XS) | COLOR_THEME_SECONDARY1 | LEFT | LEADING0, 2);
|
||||
dc->drawSizedText(barLft + 23, barTop, g_model.limitData[curChan - 1].name, sizeof(g_model.limitData[curChan - 1].name), FONT(XS) | COLOR_THEME_SECONDARY1 | LEFT);
|
||||
}
|
||||
else {
|
||||
drawSource(dc, barLft + 1, barTop, MIXSRC_FIRST_CH+curChan-1, FONT(XS) | DEFAULT_COLOR | LEFT);
|
||||
drawSource(dc, barLft + 1, barTop, MIXSRC_FIRST_CH+curChan-1, FONT(XS) | COLOR_THEME_SECONDARY1 | LEFT);
|
||||
}
|
||||
}
|
||||
return lastChan - 1;
|
||||
|
||||
@@ -53,7 +53,7 @@ class TextWidget: public Widget
|
||||
|
||||
const ZoneOption TextWidget::options[] = {
|
||||
{ STR_TEXT, ZoneOption::String, OPTION_VALUE_STRING(TEXT_WIDGET_DEFAULT_LABEL) },
|
||||
{ STR_COLOR, ZoneOption::Color, OPTION_VALUE_UNSIGNED(DEFAULT_COLOR>>16) },
|
||||
{ STR_COLOR, ZoneOption::Color, OPTION_VALUE_UNSIGNED(COLOR_THEME_SECONDARY1>>16) },
|
||||
{ STR_SIZE, ZoneOption::TextSize, OPTION_VALUE_UNSIGNED(0) },
|
||||
{ STR_SHADOW, ZoneOption::Bool, OPTION_VALUE_BOOL(false) },
|
||||
{ nullptr, ZoneOption::Bool }
|
||||
|
||||
@@ -43,51 +43,51 @@ class TimerWidget: public Widget
|
||||
|
||||
if (width() >= 180 && height() >= 70) {
|
||||
if (timerState.val >= 0 || !(timerState.val % 2)) {
|
||||
dc->drawBitmapPattern(0, 0, LBM_TIMER_BACKGROUND, MAINVIEW_PANES_COLOR);
|
||||
dc->drawBitmapPattern(0, 0, LBM_TIMER_BACKGROUND, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
else {
|
||||
dc->drawBitmapPattern(0, 0, LBM_TIMER_BACKGROUND, MENU_BGCOLOR);
|
||||
dc->drawBitmapPattern(0, 0, LBM_TIMER_BACKGROUND, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
if (timerData.start && timerState.val >= 0) {
|
||||
dc->drawBitmapPatternPie(
|
||||
2, 3, LBM_RSCALE, MAINVIEW_GRAPHICS_COLOR, 0,
|
||||
2, 3, LBM_RSCALE, COLOR_THEME_SECONDARY1, 0,
|
||||
timerState.val <= 0 ? 360 : 360 * (timerData.start - timerState.val) / timerData.start);
|
||||
}
|
||||
else {
|
||||
dc->drawBitmapPattern(3, 4, LBM_TIMER, MAINVIEW_GRAPHICS_COLOR);
|
||||
dc->drawBitmapPattern(3, 4, LBM_TIMER, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
if (abs(timerState.val) >= 3600) {
|
||||
drawTimer(dc, 70, 31, abs(timerState.val), DEFAULT_COLOR | FONT(STD) | LEFT | TIMEHOUR);
|
||||
drawTimer(dc, 70, 31, abs(timerState.val), COLOR_THEME_SECONDARY1 | FONT(STD) | LEFT | TIMEHOUR);
|
||||
}
|
||||
else {
|
||||
drawTimer(dc,76, 31, abs(timerState.val), DEFAULT_COLOR | FONT(XL) | LEFT);
|
||||
drawTimer(dc,76, 31, abs(timerState.val), COLOR_THEME_SECONDARY1 | FONT(XL) | LEFT);
|
||||
}
|
||||
if (ZLEN(timerData.name) > 0) {
|
||||
dc->drawSizedText(78, 20, timerData.name, LEN_TIMER_NAME, FONT(XS) | DEFAULT_COLOR);
|
||||
dc->drawSizedText(78, 20, timerData.name, LEN_TIMER_NAME, FONT(XS) | COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
else {
|
||||
drawStringWithIndex(dc, 137, 17, "TMR", index + 1, FONT(XS) | DEFAULT_COLOR);
|
||||
drawStringWithIndex(dc, 137, 17, "TMR", index + 1, FONT(XS) | COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (timerState.val < 0 && timerState.val % 2) {
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), HEADER_ICON_BGCOLOR);
|
||||
dc->drawSolidFilledRect(0, 0, width(), height(), COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
drawStringWithIndex(dc, 2, 0, "TMR", index + 1, FONT(XS) | FOCUS_COLOR);
|
||||
drawStringWithIndex(dc, 2, 0, "TMR", index + 1, FONT(XS) | COLOR_THEME_PRIMARY2);
|
||||
if (width() > 100 && height() > 40) {
|
||||
if (abs(timerState.val) >= 3600) {
|
||||
drawTimer(dc,3, 16, abs(timerState.val), FOCUS_COLOR | LEFT | TIMEHOUR);
|
||||
drawTimer(dc,3, 16, abs(timerState.val), COLOR_THEME_PRIMARY2 | LEFT | TIMEHOUR);
|
||||
}
|
||||
else {
|
||||
drawTimer(dc, 3, 16, abs(timerState.val), FOCUS_COLOR | LEFT | FONT(STD));
|
||||
drawTimer(dc, 3, 16, abs(timerState.val), COLOR_THEME_PRIMARY2 | LEFT | FONT(STD));
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (abs(timerState.val) >= 3600) {
|
||||
drawTimer(dc,3, 14, abs(timerState.val), FOCUS_COLOR | LEFT | FONT(XS) | TIMEHOUR);
|
||||
drawTimer(dc,3, 14, abs(timerState.val), COLOR_THEME_PRIMARY2 | LEFT | FONT(XS) | TIMEHOUR);
|
||||
}
|
||||
else {
|
||||
drawTimer(dc, 3, 14, abs(timerState.val), FOCUS_COLOR | LEFT);
|
||||
drawTimer(dc, 3, 14, abs(timerState.val), COLOR_THEME_PRIMARY2 | LEFT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ class ValueWidget: public Widget
|
||||
if (field >= MIXSRC_FIRST_TIMER && field <= MIXSRC_LAST_TIMER) {
|
||||
TimerState & timerState = timersStates[field - MIXSRC_FIRST_TIMER];
|
||||
if (timerState.val < 0) {
|
||||
color = ALARM_COLOR;
|
||||
color = COLOR_THEME_WARNING;
|
||||
}
|
||||
if (persistentData->options[2].value.boolValue) {
|
||||
drawSource(dc, xLabel + 1, yLabel + 1, field, attrLabel | COLOR2FLAGS(BLACK));
|
||||
@@ -111,7 +111,7 @@ class ValueWidget: public Widget
|
||||
TelemetryItem& telemetryItem =
|
||||
telemetryItems[(field - MIXSRC_FIRST_TELEM) / 3];
|
||||
if (!telemetryItem.isAvailable() || telemetryItem.isOld()) {
|
||||
color = TEXT_DISABLE_COLOR;
|
||||
color = COLOR_THEME_DISABLED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ Clear the LCD screen
|
||||
static int luaLcdClear(lua_State * L)
|
||||
{
|
||||
if (luaLcdAllowed && luaLcdBuffer) {
|
||||
LcdFlags color = luaL_optunsigned(L, 1, DEFAULT_BGCOLOR_INDEX << 16u);
|
||||
LcdFlags color = luaL_optunsigned(L, 1, COLOR_THEME_SECONDARY3_INDEX << 16u);
|
||||
luaLcdBuffer->clear(COLOR(COLOR_VAL(color)));
|
||||
}
|
||||
return 0;
|
||||
@@ -256,8 +256,8 @@ static int luaLcdDrawText(lua_State *L)
|
||||
luaLcdBuffer->drawSolidFilledRect(
|
||||
ix, y - INVERT_BOX_MARGIN,
|
||||
width + 2 * INVERT_BOX_MARGIN, height + 2 * INVERT_BOX_MARGIN,
|
||||
FOCUS_BGCOLOR);
|
||||
att = (att & 0xFFFF) | FOCUS_COLOR;
|
||||
COLOR_THEME_FOCUS);
|
||||
att = (att & 0xFFFF) | COLOR_THEME_PRIMARY2;
|
||||
}
|
||||
|
||||
luaLcdBuffer->drawText(x, y, s, att);
|
||||
@@ -375,8 +375,8 @@ static int luaLcdDrawNumber(lua_State *L)
|
||||
luaLcdBuffer->drawSolidFilledRect(
|
||||
ix, y - INVERT_BOX_MARGIN,
|
||||
width + 2 * INVERT_BOX_MARGIN, height + 2 * INVERT_BOX_MARGIN,
|
||||
FOCUS_BGCOLOR);
|
||||
att = (att & 0xFFFF) | FOCUS_COLOR;
|
||||
COLOR_THEME_FOCUS);
|
||||
att = (att & 0xFFFF) | COLOR_THEME_PRIMARY2;
|
||||
}
|
||||
|
||||
if ((att & SHADOWED) && !(att & INVERS)) {
|
||||
@@ -766,30 +766,30 @@ Set a color for specific area
|
||||
* `TEXT_BGCOLOR`
|
||||
* `TEXT_INVERTED_COLOR`
|
||||
* `TEXT_INVERTED_BGCOLOR`
|
||||
* `LINE_COLOR`
|
||||
* `COLOR_THEME_PRIMARY3`
|
||||
* `SCROLLBOX_COLOR`
|
||||
* `MENU_TITLE_BGCOLOR`
|
||||
* `COLOR_THEME_SECONDARY1_THEME_SECONDARY1`
|
||||
* `MENU_TITLE_COLOR`
|
||||
* `MENU_TITLE_DISABLE_COLOR`
|
||||
* `HEADER_COLOR`
|
||||
* `ALARM_COLOR`
|
||||
* `COLOR_THEME_PRIMARY3`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_WARNING`
|
||||
* `WARNING_COLOR`
|
||||
* `TEXT_DISABLE_COLOR`
|
||||
* `CURVE_AXIS_COLOR`
|
||||
* `CURVE_COLOR`
|
||||
* `CURVE_CURSOR_COLOR`
|
||||
* `TITLE_BGCOLOR`
|
||||
* `TRIM_BGCOLOR`
|
||||
* `TRIM_SHADOW_COLOR`
|
||||
* `HEADER_BGCOLOR`
|
||||
* `HEADER_ICON_BGCOLOR`
|
||||
* `HEADER_CURRENT_BGCOLOR`
|
||||
* `MAINVIEW_PANES_COLOR`
|
||||
* `MAINVIEW_GRAPHICS_COLOR`
|
||||
* `OVERLAY_COLOR`
|
||||
* `BARGRAPH1_COLOR`
|
||||
* `BARGRAPH2_COLOR`
|
||||
* `BARGRAPH_BGCOLOR`
|
||||
* `COLOR_THEME_DISABLED`
|
||||
* `COLOR_THEME_SECONDARY2`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_WARNING`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_FOCUS`
|
||||
* `COLOR_THEME_PRIMARY1`
|
||||
* `COLOR_THEME_FOCUS`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_FOCUS`
|
||||
* `COLOR_THEME_PRIMARY2`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_PRIMARY1`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_SECONDARY2`
|
||||
* `COLOR_THEME_SECONDARY3`
|
||||
* `CUSTOM_COLOR`
|
||||
|
||||
@param color (number) color in 5/6/5 rgb format. The following prefined colors are available
|
||||
|
||||
@@ -1903,62 +1903,27 @@ const luaR_value_entry opentxConstants[] = {
|
||||
{ "COLOR", ZoneOption::Color },
|
||||
{ "BOOL", ZoneOption::Bool },
|
||||
{ "STRING", ZoneOption::String },
|
||||
{ "MENU_HEADER_HEIGHT", COLOR2FLAGS(MENU_HEADER_HEIGHT) },
|
||||
|
||||
// Colors gui/colorlcd/colors.h
|
||||
{ "OS_COLOR_PRIMARY1", COLOR2FLAGS(OS_COLOR_PRIMARY1_INDEX) },
|
||||
{ "OS_COLOR_PRIMARY2", COLOR2FLAGS(OS_COLOR_PRIMARY2_INDEX) },
|
||||
{ "OS_COLOR_PRIMARY3", COLOR2FLAGS(OS_COLOR_PRIMARY3_INDEX) },
|
||||
{ "OS_COLOR_SECONDARY1", COLOR2FLAGS(OS_COLOR_SECONDARY1_INDEX) },
|
||||
{ "OS_COLOR_SECONDARY2", COLOR2FLAGS(OS_COLOR_SECONDARY2_INDEX) },
|
||||
{ "OS_COLOR_SECONDARY3", COLOR2FLAGS(OS_COLOR_SECONDARY3_INDEX) },
|
||||
{ "OS_COLOR_FOCUS", COLOR2FLAGS(OS_COLOR_FOCUS_INDEX) },
|
||||
{ "OS_COLOR_EDIT", COLOR2FLAGS(OS_COLOR_EDIT_INDEX) },
|
||||
{ "OS_COLOR_ACTIVE", COLOR2FLAGS(OS_COLOR_ACTIVE_INDEX) },
|
||||
{ "OS_COLOR_WARNING", COLOR2FLAGS(OS_COLOR_WARNING_INDEX) },
|
||||
|
||||
{ "ALARM_COLOR", COLOR2FLAGS(ALARM_COLOR_INDEX) },
|
||||
{ "BARGRAPH1_COLOR", COLOR2FLAGS(BARGRAPH1_COLOR_INDEX) },
|
||||
{ "BARGRAPH2_COLOR", COLOR2FLAGS(BARGRAPH2_COLOR_INDEX) },
|
||||
{ "BARGRAPH_BGCOLOR", COLOR2FLAGS(BARGRAPH_BGCOLOR_INDEX) },
|
||||
{ "BATTERY_CHARGE_COLOR", COLOR2FLAGS(BATTERY_CHARGE_COLOR_INDEX) },
|
||||
{ "CHECKBOX_COLOR", COLOR2FLAGS(CHECKBOX_COLOR_INDEX) },
|
||||
{ "CURVE_AXIS_COLOR", COLOR2FLAGS(CURVE_AXIS_COLOR_INDEX) },
|
||||
{ "CURVE_COLOR", COLOR2FLAGS(CURVE_COLOR_INDEX) },
|
||||
{ "CURVE_CURSOR_COLOR", COLOR2FLAGS(CURVE_CURSOR_COLOR_INDEX) },
|
||||
{ "COLOR_THEME_PRIMARY1", COLOR2FLAGS(COLOR_THEME_PRIMARY1_INDEX) },
|
||||
{ "COLOR_THEME_PRIMARY2", COLOR2FLAGS(COLOR_THEME_PRIMARY2_INDEX) },
|
||||
{ "COLOR_THEME_PRIMARY3", COLOR2FLAGS(COLOR_THEME_PRIMARY3_INDEX) },
|
||||
{ "COLOR_THEME_SECONDARY1", COLOR2FLAGS(COLOR_THEME_SECONDARY1_INDEX) },
|
||||
{ "COLOR_THEME_SECONDARY2", COLOR2FLAGS(COLOR_THEME_SECONDARY2_INDEX) },
|
||||
{ "COLOR_THEME_SECONDARY3", COLOR2FLAGS(COLOR_THEME_SECONDARY3_INDEX) },
|
||||
{ "COLOR_THEME_FOCUS", COLOR2FLAGS(COLOR_THEME_FOCUS_INDEX) },
|
||||
{ "COLOR_THEME_EDIT", COLOR2FLAGS(COLOR_THEME_EDIT_INDEX) },
|
||||
{ "COLOR_THEME_ACTIVE", COLOR2FLAGS(COLOR_THEME_ACTIVE_INDEX) },
|
||||
{ "COLOR_THEME_WARNING", COLOR2FLAGS(COLOR_THEME_WARNING_INDEX) },
|
||||
{ "COLOR_THEME_DISABLED", COLOR2FLAGS(COLOR_THEME_DISABLED_INDEX) },
|
||||
{ "CUSTOM_COLOR", COLOR2FLAGS(CUSTOM_COLOR_INDEX) },
|
||||
{ "DEFAULT_BGCOLOR", COLOR2FLAGS(DEFAULT_BGCOLOR_INDEX) },
|
||||
{ "DEFAULT_COLOR", COLOR2FLAGS(DEFAULT_COLOR_INDEX) },
|
||||
{ "DISABLE_COLOR", COLOR2FLAGS(DISABLE_COLOR_INDEX) },
|
||||
{ "FOCUS_BGCOLOR", COLOR2FLAGS(FOCUS_BGCOLOR_INDEX) },
|
||||
{ "FOCUS_COLOR", COLOR2FLAGS(FOCUS_COLOR_INDEX) },
|
||||
{ "HEADER_BGCOLOR", COLOR2FLAGS(HEADER_BGCOLOR_INDEX) },
|
||||
{ "HEADER_COLOR", COLOR2FLAGS(HEADER_COLOR_INDEX) },
|
||||
{ "HEADER_CURRENT_BGCOLOR", COLOR2FLAGS(HEADER_CURRENT_BGCOLOR_INDEX) },
|
||||
{ "HEADER_ICON_BGCOLOR", COLOR2FLAGS(HEADER_ICON_BGCOLOR_INDEX) },
|
||||
//{ "HEADER_SEPARATOR_COLOR", COLOR2FLAGS(HEADER_SEPARATOR_COLOR_INDEX) },
|
||||
{ "HIGHLIGHT_COLOR", COLOR2FLAGS(HIGHLIGHT_COLOR_INDEX) },
|
||||
{ "LINE_COLOR", COLOR2FLAGS(LINE_COLOR_INDEX) },
|
||||
{ "MAINVIEW_GRAPHICS_COLOR", COLOR2FLAGS(MAINVIEW_GRAPHICS_COLOR_INDEX) },
|
||||
{ "MAINVIEW_PANES_COLOR", COLOR2FLAGS(MAINVIEW_PANES_COLOR_INDEX) },
|
||||
{ "MENU_BGCOLOR", COLOR2FLAGS(MENU_BGCOLOR_INDEX) },
|
||||
{ "MENU_COLOR", COLOR2FLAGS(MENU_COLOR_INDEX) },
|
||||
{ "MENU_HEADER_HEIGHT", COLOR2FLAGS(MENU_HEADER_HEIGHT) },
|
||||
{ "MENU_HIGHLIGHT_BGCOLOR", COLOR2FLAGS(MENU_HIGHLIGHT_BGCOLOR_INDEX) },
|
||||
{ "MENU_HIGHLIGHT_COLOR", COLOR2FLAGS(MENU_HIGHLIGHT_COLOR_INDEX) },
|
||||
{ "MENU_LINE_COLOR", COLOR2FLAGS(MENU_LINE_COLOR_INDEX) },
|
||||
//{ "MENU_TITLE_BGCOLOR", COLOR2FLAGS(MENU_TITLE_BGCOLOR) },
|
||||
{ "OVERLAY_COLOR", COLOR2FLAGS(OVERLAY_COLOR_INDEX) },
|
||||
{ "SCROLLBAR_COLOR", COLOR2FLAGS(SCROLLBAR_COLOR_INDEX) },
|
||||
{ "TABLE_BGCOLOR", COLOR2FLAGS(TABLE_BGCOLOR_INDEX) },
|
||||
{ "TABLE_HEADER_BGCOLOR", COLOR2FLAGS(TABLE_HEADER_BGCOLOR_INDEX) },
|
||||
{ "TEXT_DISABLE_COLOR", COLOR2FLAGS(TEXT_DISABLE_COLOR_INDEX) },
|
||||
{ "TEXT_STATUSBAR_COLOR", COLOR2FLAGS(TEXT_STATUSBAR_COLOR_INDEX) },
|
||||
{ "TITLE_BGCOLOR", COLOR2FLAGS(TITLE_BGCOLOR_INDEX) },
|
||||
|
||||
// TO DO: Old style theme color constants
|
||||
// Synonyms of the above colors
|
||||
{ "TEXT_COLOR", COLOR2FLAGS(DEFAULT_COLOR_INDEX) },
|
||||
{ "TEXT_BGCOLOR", COLOR2FLAGS(DEFAULT_BGCOLOR_INDEX) },
|
||||
{ "WARNING_COLOR", COLOR2FLAGS(HIGHLIGHT_COLOR_INDEX) },
|
||||
{ "TEXT_COLOR", COLOR2FLAGS(COLOR_THEME_SECONDARY1_INDEX) },
|
||||
{ "TEXT_BGCOLOR", COLOR2FLAGS(COLOR_THEME_SECONDARY3_INDEX) },
|
||||
{ "WARNING_COLOR", COLOR2FLAGS(COLOR_THEME_ACTIVE_INDEX) },
|
||||
|
||||
{ "WHITE", (double)WHITE },
|
||||
{ "GREY", (double)GREY },
|
||||
|
||||
+31
-31
@@ -53,7 +53,7 @@ static int luaLcdClear(lua_State *L)
|
||||
{
|
||||
if (luaLcdAllowed) {
|
||||
#if defined(COLORLCD)
|
||||
LcdFlags color = luaL_optunsigned(L, 1, DEFAULT_BGCOLOR);
|
||||
LcdFlags color = luaL_optunsigned(L, 1, COLOR_THEME_SECONDARY3);
|
||||
lcd->clear(color);
|
||||
#else
|
||||
lcdClear();
|
||||
@@ -810,36 +810,36 @@ Set a color for specific area
|
||||
|
||||
@param area (unsigned number) specific screen area in the list bellow
|
||||
* `CUSTOM_COLOR`
|
||||
* `DEFAULT_COLOR`
|
||||
* `DEFAULT_BGCOLOR`
|
||||
* `FOCUS_COLOR`
|
||||
* `FOCUS_BGCOLOR`
|
||||
* `LINE_COLOR`
|
||||
* `CHECKBOX_COLOR`
|
||||
* `MENU_BGCOLOR`
|
||||
* `MENU_COLOR`
|
||||
* `MENU_TITLE_DISABLE_COLOR`
|
||||
* `HEADER_COLOR`
|
||||
* `ALARM_COLOR`
|
||||
* `HIGHLIGHT_COLOR`
|
||||
* `TEXT_DISABLE_COLOR`
|
||||
* `HEADER_COLOR`
|
||||
* `DISABLE_COLOR`
|
||||
* `CURVE_CURSOR_COLOR`
|
||||
* `TITLE_BGCOLOR`
|
||||
* `TRIM_BGCOLOR`
|
||||
* `TRIM_SHADOW_COLOR`
|
||||
* `MAINVIEW_PANES_COLOR`
|
||||
* `MAINVIEW_GRAPHICS_COLOR`
|
||||
* `MENU_BGCOLOR`
|
||||
* `HEADER_ICON_BGCOLOR`
|
||||
* `HEADER_CURRENT_BGCOLOR`
|
||||
* `MAINVIEW_PANES_COLOR`
|
||||
* `MAINVIEW_GRAPHICS_COLOR`
|
||||
* `OVERLAY_COLOR`
|
||||
* `BARGRAPH1_COLOR`
|
||||
* `BARGRAPH2_COLOR`
|
||||
* `BARGRAPH_BGCOLOR`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_SECONDARY3`
|
||||
* `COLOR_THEME_PRIMARY2`
|
||||
* `COLOR_THEME_FOCUS`
|
||||
* `COLOR_THEME_PRIMARY3`
|
||||
* `COLOR_THEME_FOCUS`
|
||||
* `COLOR_THEME_PRIMARY2`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_PRIMARY3`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_WARNING`
|
||||
* `COLOR_THEME_ACTIVE`
|
||||
* `COLOR_THEME_DISABLED`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_DISABLED`
|
||||
* `COLOR_THEME_WARNING`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_FOCUS`
|
||||
* `COLOR_THEME_PRIMARY1`
|
||||
* `COLOR_THEME_PRIMARY2`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_PRIMARY2`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_FOCUS`
|
||||
* `COLOR_THEME_PRIMARY2`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_PRIMARY1`
|
||||
* `COLOR_THEME_SECONDARY1`
|
||||
* `COLOR_THEME_SECONDARY2`
|
||||
* `COLOR_THEME_SECONDARY3`
|
||||
* `CUSTOM_COLOR`
|
||||
|
||||
@param color (number) color in 5/6/5 rgb format. The following prefined colors are available
|
||||
|
||||
@@ -31,8 +31,8 @@ static void drawProgressScreen(const char* filename, int progress, int total)
|
||||
|
||||
lcd->reset();
|
||||
l_theme->drawBackground(lcd);
|
||||
lcd->drawText(LCD_W/2, LCD_H/2 - 30, STR_CONVERTING, FONT(XL) | CENTERED | ALARM_COLOR);
|
||||
lcd->drawText(LCD_W/2, LCD_H/2, filename, FONT(STD) | CENTERED | DEFAULT_COLOR);
|
||||
lcd->drawText(LCD_W/2, LCD_H/2 - 30, STR_CONVERTING, FONT(XL) | CENTERED | COLOR_THEME_WARNING);
|
||||
lcd->drawText(LCD_W/2, LCD_H/2, filename, FONT(STD) | CENTERED | COLOR_THEME_SECONDARY1);
|
||||
|
||||
l_theme->drawProgressBar(lcd,
|
||||
LCD_W / 4,
|
||||
|
||||
@@ -108,29 +108,29 @@ void drawChargingInfo(uint16_t chargeState){
|
||||
}
|
||||
text = STR_BATTERYCHARGING;
|
||||
h = ((BATTERY_H_INNER * progress) / 100);
|
||||
color = BATTERY_CHARGE_COLOR;
|
||||
color = COLOR_THEME_EDIT;
|
||||
}
|
||||
else if(CHARGE_FINISHED == chargeState)
|
||||
{
|
||||
text = STR_BATTERYFULL;
|
||||
h = BATTERY_H_INNER;
|
||||
color = BATTERY_CHARGE_COLOR;
|
||||
color = COLOR_THEME_EDIT;
|
||||
}
|
||||
else
|
||||
{
|
||||
text = STR_BATTERYNONE;
|
||||
h = BATTERY_H_INNER;
|
||||
color = TRIM_SHADOW_COLOR;
|
||||
color = COLOR_THEME_PRIMARY1;
|
||||
}
|
||||
|
||||
BACKLIGHT_ENABLE();
|
||||
lcd->drawSizedText(LCD_W/2, LCD_H-50, text, strlen(text), CENTERED|MAINVIEW_PANES_COLOR);
|
||||
lcd->drawSizedText(LCD_W/2, LCD_H-50, text, strlen(text), CENTERED|COLOR_THEME_PRIMARY2);
|
||||
|
||||
lcd->drawFilledRect((LCD_W - BATTERY_W)/2, BATTERY_TOP, BATTERY_W, BATTERY_H, SOLID, MAINVIEW_PANES_COLOR);
|
||||
lcd->drawFilledRect((LCD_W - BATTERY_W_INNER)/2, BATTERY_TOP_INNER, BATTERY_W_INNER, BATTERY_H_INNER, SOLID, TRIM_SHADOW_COLOR);
|
||||
lcd->drawFilledRect((LCD_W - BATTERY_W)/2, BATTERY_TOP, BATTERY_W, BATTERY_H, SOLID, COLOR_THEME_PRIMARY2);
|
||||
lcd->drawFilledRect((LCD_W - BATTERY_W_INNER)/2, BATTERY_TOP_INNER, BATTERY_W_INNER, BATTERY_H_INNER, SOLID, COLOR_THEME_PRIMARY1);
|
||||
|
||||
lcd->drawFilledRect((LCD_W - BATTERY_W_INNER)/2, BATTERY_TOP_INNER + BATTERY_H_INNER - h , BATTERY_W_INNER, h, SOLID, color);
|
||||
lcd->drawFilledRect((LCD_W - BATTERY_CONNECTOR_W)/2, BATTERY_TOP-BATTERY_CONNECTOR_H , BATTERY_CONNECTOR_W, BATTERY_CONNECTOR_H, SOLID, MAINVIEW_PANES_COLOR);
|
||||
lcd->drawFilledRect((LCD_W - BATTERY_CONNECTOR_W)/2, BATTERY_TOP-BATTERY_CONNECTOR_H , BATTERY_CONNECTOR_W, BATTERY_CONNECTOR_H, SOLID, COLOR_THEME_PRIMARY2);
|
||||
}
|
||||
#define CHARGE_INFO_DURATION 500
|
||||
//this method should be called by timer interrupt or by GPIO interrupt
|
||||
|
||||
@@ -195,7 +195,7 @@ void boardInit()
|
||||
}
|
||||
void boardOff()
|
||||
{
|
||||
lcd->drawFilledRect(0, 0, LCD_WIDTH, LCD_HEIGHT, SOLID, HEADER_BGCOLOR);
|
||||
lcd->drawFilledRect(0, 0, LCD_WIDTH, LCD_HEIGHT, SOLID, COLOR_THEME_FOCUS);
|
||||
lcdOff();
|
||||
|
||||
while (pwrPressed()) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include "../../common/arm/stm32/bootloader/boot.h"
|
||||
#include "../../common/arm/stm32/bootloader/bin_files.h"
|
||||
|
||||
#define SELECTED_COLOR (INVERS | DEFAULT_COLOR)
|
||||
#define SELECTED_COLOR (INVERS | COLOR_THEME_SECONDARY1)
|
||||
#define DEFAULT_PADDING 28
|
||||
#define DOUBLE_PADDING 56
|
||||
#define MESSAGE_TOP (LCD_H - (2*DOUBLE_PADDING))
|
||||
@@ -54,11 +54,11 @@ const uint8_t LBM_OK[] = {
|
||||
|
||||
void bootloaderInitScreen()
|
||||
{
|
||||
// lcdColorTable[DEFAULT_COLOR_INDEX] = WHITE;
|
||||
// lcdColorTable[DEFAULT_BGCOLOR_INDEX] = BLACK;
|
||||
// lcdColorTable[LINE_COLOR_INDEX] = RED;
|
||||
// lcdColorTable[BARGRAPH1_COLOR_INDEX] = RED;
|
||||
// lcdColorTable[BARGRAPH2_COLOR_INDEX] = RGB(73, 219, 62); // green
|
||||
// lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = WHITE;
|
||||
// lcdColorTable[COLOR_THEME_SECONDARY3_INDEX] = BLACK;
|
||||
// lcdColorTable[COLOR_THEME_PRIMARY3_INDEX] = RED;
|
||||
// lcdColorTable[COLOR_THEME_SECONDARY1_INDEX] = RED;
|
||||
// lcdColorTable[COLOR_THEME_SECONDARY2_INDEX] = RGB(73, 219, 62); // green
|
||||
|
||||
backlightEnable(BACKLIGHT_LEVEL_MAX);
|
||||
|
||||
|
||||
@@ -108,53 +108,6 @@ constexpr uint32_t ALERT_BUTTON_TOP = 300;
|
||||
constexpr uint32_t PAGE_TITLE_TOP = 2;
|
||||
constexpr uint32_t PAGE_TITLE_LEFT = 50;
|
||||
|
||||
/*enum LcdColorIndex
|
||||
{
|
||||
DEFAULT_COLOR_INDEX,
|
||||
DEFAULT_BGCOLOR_INDEX,
|
||||
FOCUS_COLOR_INDEX,
|
||||
FOCUS_BGCOLOR_INDEX,
|
||||
TEXT_STATUSBAR_COLOR_INDEX,
|
||||
LINE_COLOR_INDEX,
|
||||
MENU_LINE_COLOR_INDEX = LINE_COLOR_INDEX,
|
||||
CHECKBOX_COLOR_INDEX,
|
||||
SCROLLBAR_COLOR_INDEX,
|
||||
MENU_BGCOLOR_INDEX,
|
||||
MENU_HIGHLIGHT_BGCOLOR_INDEX = MENU_BGCOLOR_INDEX,
|
||||
MENU_COLOR_INDEX,
|
||||
MENU_TITLE_DISABLE_COLOR_INDEX,
|
||||
HEADER_COLOR_INDEX,
|
||||
ALARM_COLOR_INDEX,
|
||||
HIGHLIGHT_COLOR_INDEX,
|
||||
MENU_HIGHLIGHT_COLOR_INDEX = HIGHLIGHT_COLOR_INDEX,
|
||||
TEXT_DISABLE_COLOR_INDEX,
|
||||
DISABLE_COLOR_INDEX,
|
||||
CURVE_COLOR_INDEX,
|
||||
CURVE_AXIS_COLOR_INDEX,
|
||||
CURVE_CURSOR_COLOR_INDEX,
|
||||
HEADER_BGCOLOR_INDEX,
|
||||
HEADER_ICON_BGCOLOR_INDEX,
|
||||
HEADER_CURRENT_BGCOLOR_INDEX,
|
||||
TITLE_BGCOLOR_INDEX,
|
||||
TRIM_BGCOLOR_INDEX,
|
||||
TRIM_SHADOW_COLOR_INDEX,
|
||||
MAINVIEW_PANES_COLOR_INDEX,
|
||||
MAINVIEW_GRAPHICS_COLOR_INDEX,
|
||||
OVERLAY_COLOR_INDEX,
|
||||
CUSTOM_COLOR_INDEX,
|
||||
BARGRAPH1_COLOR_INDEX,
|
||||
BARGRAPH2_COLOR_INDEX,
|
||||
BARGRAPH_BGCOLOR_INDEX,
|
||||
SCROLLBOX_COLOR_INDEX,
|
||||
BATTERY_CHARGE_COLOR_INDEX,
|
||||
|
||||
LCD_COLOR_COUNT,
|
||||
|
||||
TABLE_HEADER_BGCOLOR_INDEX,
|
||||
TABLE_BGCOLOR_INDEX,
|
||||
};*/
|
||||
|
||||
|
||||
constexpr uint32_t INPUT_EDIT_LABELS_WIDTH = 80;
|
||||
constexpr coord_t INPUT_EDIT_CURVE_WIDTH = LCD_W;
|
||||
constexpr coord_t INPUT_EDIT_CURVE_HEIGHT = 158;
|
||||
|
||||
@@ -93,15 +93,15 @@ bool checkScreenshot_colorlcd(const BitmapBuffer* dc, const char* test)
|
||||
TEST(Lcd_colorlcd, lines)
|
||||
{
|
||||
BitmapBuffer dc(BMP_RGB565, LCD_W, LCD_H);
|
||||
dc.clear(DEFAULT_BGCOLOR);
|
||||
dc.clear(COLOR_THEME_SECONDARY3);
|
||||
dc.setClippingRect(50, 400, 50, 230);
|
||||
|
||||
for (int x = 10; x <= 100; x += 10) {
|
||||
dc.drawLine(x, x, x + 200, x + 50, 0xF0, DEFAULT_COLOR);
|
||||
dc.drawLine(x, x, x + 200, x + 50, 0xF0, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
for (int x = 200; x >= 100; x -= 10) {
|
||||
dc.drawLine(x, x, x - 50, x + 100, 0xF0, DEFAULT_COLOR);
|
||||
dc.drawLine(x, x, x - 50, x + 100, 0xF0, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
|
||||
dc.clearClippingRect();
|
||||
@@ -113,10 +113,10 @@ TEST(Lcd_colorlcd, vline)
|
||||
loadFonts();
|
||||
|
||||
BitmapBuffer dc(BMP_RGB565, LCD_W, LCD_H);
|
||||
dc.clear(DEFAULT_BGCOLOR);
|
||||
dc.clear(COLOR_THEME_SECONDARY3);
|
||||
|
||||
for (int x=0; x<100; x+=2) {
|
||||
dc.drawSolidVerticalLine(x, x/2, 12, DEFAULT_COLOR);
|
||||
dc.drawSolidVerticalLine(x, x/2, 12, COLOR_THEME_SECONDARY1);
|
||||
}
|
||||
EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "vline"));
|
||||
}
|
||||
@@ -126,27 +126,27 @@ TEST(Lcd_colorlcd, primitives)
|
||||
loadFonts();
|
||||
|
||||
BitmapBuffer dc(BMP_RGB565, LCD_W, LCD_H);
|
||||
dc.clear(DEFAULT_BGCOLOR);
|
||||
dc.clear(COLOR_THEME_SECONDARY3);
|
||||
|
||||
dc.drawText(8, 8, "The quick brown fox jumps over the lazy dog", DISABLE_COLOR);
|
||||
dc.drawText(5, 5, "The quick brown fox jumps over the lazy dog", DEFAULT_COLOR);
|
||||
dc.drawText(8, 8, "The quick brown fox jumps over the lazy dog", COLOR_THEME_DISABLED);
|
||||
dc.drawText(5, 5, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc.drawFilledRect(10, 30, 30, 30, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawFilledRect(50, 30, 30, 30, DOTTED, DEFAULT_COLOR);
|
||||
dc.drawFilledRect(10, 30, 30, 30, SOLID, COLOR_THEME_SECONDARY1);
|
||||
dc.drawFilledRect(50, 30, 30, 30, DOTTED, COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc.drawRect(90, 30, 30, 30, 1, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawRect(130, 30, 30, 30, 2, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawRect(170, 30, 30, 30, 5, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawRect(90, 30, 30, 30, 1, SOLID, COLOR_THEME_SECONDARY1);
|
||||
dc.drawRect(130, 30, 30, 30, 2, SOLID, COLOR_THEME_SECONDARY1);
|
||||
dc.drawRect(170, 30, 30, 30, 5, SOLID, COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc.drawVerticalLine(10, 70, 100, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawVerticalLine(15, 70, 90, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawVerticalLine(20, 70, 80, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawVerticalLine(25, 70, 70, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawVerticalLine(10, 70, 100, SOLID, COLOR_THEME_SECONDARY1);
|
||||
dc.drawVerticalLine(15, 70, 90, SOLID, COLOR_THEME_SECONDARY1);
|
||||
dc.drawVerticalLine(20, 70, 80, SOLID, COLOR_THEME_SECONDARY1);
|
||||
dc.drawVerticalLine(25, 70, 70, SOLID, COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc.drawHorizontalLine(30, 70, 100, SOLID, DEFAULT_COLOR);
|
||||
dc.drawHorizontalLine(30, 75, 90, SOLID, DEFAULT_COLOR);
|
||||
dc.drawHorizontalLine(30, 80, 80, SOLID, DEFAULT_COLOR);
|
||||
dc.drawHorizontalLine(30, 85, 70, SOLID, DEFAULT_COLOR);
|
||||
dc.drawHorizontalLine(30, 70, 100, SOLID, COLOR_THEME_SECONDARY1);
|
||||
dc.drawHorizontalLine(30, 75, 90, SOLID, COLOR_THEME_SECONDARY1);
|
||||
dc.drawHorizontalLine(30, 80, 80, SOLID, COLOR_THEME_SECONDARY1);
|
||||
dc.drawHorizontalLine(30, 85, 70, SOLID, COLOR_THEME_SECONDARY1);
|
||||
|
||||
|
||||
EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "primitives_" TRANSLATIONS));
|
||||
@@ -157,29 +157,29 @@ TEST(Lcd_colorlcd, transparency)
|
||||
loadFonts();
|
||||
|
||||
BitmapBuffer dc(BMP_RGB565, LCD_W, LCD_H);
|
||||
dc.clear(DEFAULT_BGCOLOR);
|
||||
dc.clear(COLOR_THEME_SECONDARY3);
|
||||
|
||||
// , OPACITY(4)
|
||||
dc.drawText(8, 8, "The quick brown fox jumps over the lazy dog", DEFAULT_COLOR);
|
||||
dc.drawText(8, 8, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1);
|
||||
// , OPACITY(12)
|
||||
dc.drawText(5, 5, "The quick brown fox jumps over the lazy dog", DEFAULT_COLOR);
|
||||
dc.drawText(5, 5, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc.drawFilledRect(10, 30, 30, 30, SOLID, TITLE_BGCOLOR, OPACITY(8));
|
||||
dc.drawFilledRect(50, 30, 30, 30, DOTTED, DEFAULT_COLOR, OPACITY(10));
|
||||
dc.drawFilledRect(10, 30, 30, 30, SOLID, COLOR_THEME_SECONDARY1, OPACITY(8));
|
||||
dc.drawFilledRect(50, 30, 30, 30, DOTTED, COLOR_THEME_SECONDARY1, OPACITY(10));
|
||||
|
||||
dc.drawRect(90, 30, 30, 30, 1, SOLID, TITLE_BGCOLOR, OPACITY(8));
|
||||
dc.drawRect(130, 30, 30, 30, 2, SOLID, TITLE_BGCOLOR, OPACITY(8));
|
||||
dc.drawRect(170, 30, 30, 30, 5, SOLID, TITLE_BGCOLOR, OPACITY(8));
|
||||
dc.drawRect(90, 30, 30, 30, 1, SOLID, COLOR_THEME_SECONDARY1, OPACITY(8));
|
||||
dc.drawRect(130, 30, 30, 30, 2, SOLID, COLOR_THEME_SECONDARY1, OPACITY(8));
|
||||
dc.drawRect(170, 30, 30, 30, 5, SOLID, COLOR_THEME_SECONDARY1, OPACITY(8));
|
||||
|
||||
dc.drawVerticalLine(10, 70, 100, SOLID, TITLE_BGCOLOR, OPACITY(2));
|
||||
dc.drawVerticalLine(15, 70, 90, SOLID, TITLE_BGCOLOR, OPACITY(6));
|
||||
dc.drawVerticalLine(20, 70, 80, SOLID, TITLE_BGCOLOR, OPACITY(10));
|
||||
dc.drawVerticalLine(25, 70, 70, SOLID, TITLE_BGCOLOR, OPACITY(OPACITY_MAX));
|
||||
dc.drawVerticalLine(10, 70, 100, SOLID, COLOR_THEME_SECONDARY1, OPACITY(2));
|
||||
dc.drawVerticalLine(15, 70, 90, SOLID, COLOR_THEME_SECONDARY1, OPACITY(6));
|
||||
dc.drawVerticalLine(20, 70, 80, SOLID, COLOR_THEME_SECONDARY1, OPACITY(10));
|
||||
dc.drawVerticalLine(25, 70, 70, SOLID, COLOR_THEME_SECONDARY1, OPACITY(OPACITY_MAX));
|
||||
|
||||
dc.drawHorizontalLine(30, 70, 100, SOLID, DEFAULT_COLOR, OPACITY(2));
|
||||
dc.drawHorizontalLine(30, 75, 90, SOLID, DEFAULT_COLOR, OPACITY(6));
|
||||
dc.drawHorizontalLine(30, 80, 80, SOLID, DEFAULT_COLOR, OPACITY(10));
|
||||
dc.drawHorizontalLine(30, 85, 70, SOLID, DEFAULT_COLOR, OPACITY(OPACITY_MAX));
|
||||
dc.drawHorizontalLine(30, 70, 100, SOLID, COLOR_THEME_SECONDARY1, OPACITY(2));
|
||||
dc.drawHorizontalLine(30, 75, 90, SOLID, COLOR_THEME_SECONDARY1, OPACITY(6));
|
||||
dc.drawHorizontalLine(30, 80, 80, SOLID, COLOR_THEME_SECONDARY1, OPACITY(10));
|
||||
dc.drawHorizontalLine(30, 85, 70, SOLID, COLOR_THEME_SECONDARY1, OPACITY(OPACITY_MAX));
|
||||
|
||||
|
||||
for(int n=0; n<10; n++) {
|
||||
@@ -206,22 +206,22 @@ TEST(Lcd_colorlcd, fonts)
|
||||
loadFonts();
|
||||
|
||||
BitmapBuffer dc(BMP_RGB565, LCD_W, LCD_H);
|
||||
dc.clear(DEFAULT_BGCOLOR);
|
||||
dc.clear(COLOR_THEME_SECONDARY3);
|
||||
|
||||
dc.drawText(8, 8, "The quick brown fox jumps over the lazy dog", DEFAULT_COLOR|OPACITY(4));
|
||||
dc.drawText(5, 5, "The quick brown fox jumps over the lazy dog", DEFAULT_COLOR|OPACITY(12));
|
||||
dc.drawText(8, 8, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1|OPACITY(4));
|
||||
dc.drawText(5, 5, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1|OPACITY(12));
|
||||
|
||||
dc.drawText(10, 200, "The quick", DEFAULT_COLOR|VERTICAL);
|
||||
dc.drawText(30, 200, "The quick brown fox", DEFAULT_COLOR|VERTICAL);
|
||||
dc.drawText(10, 200, "The quick", COLOR_THEME_SECONDARY1|VERTICAL);
|
||||
dc.drawText(30, 200, "The quick brown fox", COLOR_THEME_SECONDARY1|VERTICAL);
|
||||
|
||||
dc.drawText(50, 25, "The quick", DEFAULT_COLOR | FONT(XXS));
|
||||
dc.drawText(50, 40, "The quick", DEFAULT_COLOR | FONT(XS));
|
||||
dc.drawText(50, 55, "The quick", DEFAULT_COLOR | FONT(L));
|
||||
dc.drawText(50, 80, "The quick", DEFAULT_COLOR | FONT(XL));
|
||||
dc.drawText(50, 120, "The quick", DEFAULT_COLOR | FONT(XXL));
|
||||
dc.drawText(50, 25, "The quick", COLOR_THEME_SECONDARY1 | FONT(XXS));
|
||||
dc.drawText(50, 40, "The quick", COLOR_THEME_SECONDARY1 | FONT(XS));
|
||||
dc.drawText(50, 55, "The quick", COLOR_THEME_SECONDARY1 | FONT(L));
|
||||
dc.drawText(50, 80, "The quick", COLOR_THEME_SECONDARY1 | FONT(XL));
|
||||
dc.drawText(50, 120, "The quick", COLOR_THEME_SECONDARY1 | FONT(XXL));
|
||||
|
||||
dc.drawText(8, 208, "The quick brown fox jumps over the lazy dog", TITLE_BGCOLOR|OPACITY(4));
|
||||
dc.drawText(5, 205, "The quick brown fox jumps over the lazy dog", TITLE_BGCOLOR|OPACITY(12));
|
||||
dc.drawText(8, 208, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1|OPACITY(4));
|
||||
dc.drawText(5, 205, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1|OPACITY(12));
|
||||
|
||||
EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "fonts_" TRANSLATIONS));
|
||||
}
|
||||
@@ -232,24 +232,24 @@ TEST(Lcd_colorlcd, clipping)
|
||||
loadFonts();
|
||||
|
||||
BitmapBuffer dc(BMP_RGB565, LCD_W, LCD_H);
|
||||
dc.clear(DEFAULT_BGCOLOR);
|
||||
dc.clear(COLOR_THEME_SECONDARY3);
|
||||
|
||||
dc.drawSolidVerticalLine(100, 0, LCD_H, DEFAULT_COLOR);
|
||||
dc.drawSolidVerticalLine(400, 0, LCD_H, DEFAULT_COLOR);
|
||||
dc.drawSolidVerticalLine(100, 0, LCD_H, COLOR_THEME_SECONDARY1);
|
||||
dc.drawSolidVerticalLine(400, 0, LCD_H, COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc.drawSolidHorizontalLine(0, 50, LCD_W, DEFAULT_COLOR);
|
||||
dc.drawSolidHorizontalLine(0, 200, LCD_W, DEFAULT_COLOR);
|
||||
dc.drawSolidHorizontalLine(0, 50, LCD_W, COLOR_THEME_SECONDARY1);
|
||||
dc.drawSolidHorizontalLine(0, 200, LCD_W, COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc.setClippingRect(100, 400, 50, 200);
|
||||
|
||||
dc.drawSolidHorizontalLine(0, 80, LCD_W, TITLE_BGCOLOR);
|
||||
dc.drawHorizontalLine( 0, 81, LCD_W, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawSolidHorizontalLine(0, 80, LCD_W, COLOR_THEME_SECONDARY1);
|
||||
dc.drawHorizontalLine( 0, 81, LCD_W, SOLID, COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc.drawSolidVerticalLine(150, 0, LCD_H, TITLE_BGCOLOR);
|
||||
dc.drawVerticalLine( 151, 0, LCD_H, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawSolidVerticalLine(150, 0, LCD_H, COLOR_THEME_SECONDARY1);
|
||||
dc.drawVerticalLine( 151, 0, LCD_H, SOLID, COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc.drawSolidRect(70, 20, 50, 50, 2, TITLE_BGCOLOR);
|
||||
dc.drawRect( 380, 20, 50, 50, 2, SOLID, TITLE_BGCOLOR);
|
||||
dc.drawSolidRect(70, 20, 50, 50, 2, COLOR_THEME_SECONDARY1);
|
||||
dc.drawRect( 380, 20, 50, 50, 2, SOLID, COLOR_THEME_SECONDARY1);
|
||||
|
||||
dc.clearClippingRect();
|
||||
EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "clipping"));
|
||||
@@ -258,7 +258,7 @@ TEST(Lcd_colorlcd, clipping)
|
||||
TEST(Lcd_colorlcd, bitmap)
|
||||
{
|
||||
BitmapBuffer dc(BMP_RGB565, LCD_W, LCD_H);
|
||||
dc.clear(DEFAULT_BGCOLOR);
|
||||
dc.clear(COLOR_THEME_SECONDARY3);
|
||||
|
||||
dc.setClippingRect(100, 400, 50, 200);
|
||||
std::unique_ptr<BitmapBuffer> bmp(BitmapBuffer::loadBitmap(TESTS_PATH "/opentx.png"));
|
||||
@@ -273,7 +273,7 @@ TEST(Lcd_colorlcd, bitmap)
|
||||
TEST(Lcd_colorlcd, masks)
|
||||
{
|
||||
BitmapBuffer dc(BMP_RGB565, LCD_W, LCD_H);
|
||||
dc.clear(DEFAULT_BGCOLOR);
|
||||
dc.clear(COLOR_THEME_SECONDARY3);
|
||||
|
||||
BitmapBuffer* mask = BitmapBuffer::loadMask(TESTS_PATH "/mask_menu_radio.png");
|
||||
for (int i=0; i<LCD_W; i += mask->width()) {
|
||||
|
||||
Reference in New Issue
Block a user