Did a scripted search and replace to replace 40 existing theme colors with 11 new theme colors.

This commit is contained in:
jfrickmann
2021-08-22 19:39:50 +02:00
committed by Raphael Coeffic
parent 5db5783be5
commit 95b87db3e0
71 changed files with 727 additions and 945 deletions
+7 -7
View File
@@ -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()
+23 -23
View File
@@ -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
View File
@@ -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_
+17 -17
View File
@@ -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)
+5 -5
View File
@@ -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();
+18 -18
View File
@@ -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);
}
+4 -4
View File
@@ -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)
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -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);
}
}
+9 -9
View File
@@ -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()) {
+9 -9
View File
@@ -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);
}
+29 -28
View File
@@ -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);
}
+12 -12
View File
@@ -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);
}
}
}
+12 -12
View File
@@ -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);
+10 -10
View File
@@ -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();
}
+2 -2
View File
@@ -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);
}
+11 -11
View File
@@ -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,
+14 -14
View File
@@ -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();
}
+11 -11
View File
@@ -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();
}
+9 -9
View File
@@ -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();
}
+11 -11
View File
@@ -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();
}
+11 -11
View File
@@ -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);
}
}
+4 -4
View File
@@ -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;
+11 -11
View File
@@ -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);
}
}
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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
+4 -4
View File
@@ -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)
+28 -28
View File
@@ -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();
+4 -4
View File
@@ -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);
// }
};
+3 -3
View File
@@ -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);
}
}
+3 -3
View File
@@ -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;
+13 -13
View File
@@ -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();
}
+6 -6
View File
@@ -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));
}
}
}
+4 -4
View File
@@ -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,
+1 -1
View File
@@ -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)
+24 -24
View File
@@ -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);
}
+46 -98
View File
@@ -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);
}
}
+80 -80
View File
@@ -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);
}
}
+3 -3
View File
@@ -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),
+3 -3
View File
@@ -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()},
+5 -5
View File
@@ -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);
+2 -2
View File
@@ -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)
+6 -6
View File
@@ -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;
}
+2 -2
View File
@@ -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);
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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);
};
};
+2 -2
View File
@@ -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);
}
}
+2 -2
View File
@@ -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);
}
+4 -4
View File
@@ -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) {
+6 -6
View File
@@ -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;
+1 -1
View File
@@ -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 }
+14 -14
View File
@@ -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);
}
}
}
+2 -2
View File
@@ -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;
}
}
+26 -26
View File
@@ -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
+16 -51
View File
@@ -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
View File
@@ -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,
+7 -7
View File
@@ -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
+1 -1
View File
@@ -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);
-47
View File
@@ -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;
+62 -62
View File
@@ -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()) {