mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-25 20:26:41 +00:00
Add named colors list
This commit is contained in:
parent
a94e3e2fe3
commit
bf3859ce0f
@ -329,43 +329,6 @@ static inline lv_color_t haspLogColor(lv_color_t color)
|
||||
// OK
|
||||
static lv_color_t haspPayloadToColor(const char * payload)
|
||||
{
|
||||
switch(strlen(payload)) {
|
||||
case 3:
|
||||
if(!strcasecmp_P(payload, PSTR("red"))) return haspLogColor(LV_COLOR_RED);
|
||||
break;
|
||||
case 4:
|
||||
if(!strcasecmp_P(payload, PSTR("blue"))) return haspLogColor(LV_COLOR_BLUE);
|
||||
if(!strcasecmp_P(payload, PSTR("cyan"))) return haspLogColor(LV_COLOR_CYAN);
|
||||
if(!strcasecmp_P(payload, PSTR("gray"))) return haspLogColor(LV_COLOR_GRAY);
|
||||
// if(!strcmp_P(payload, PSTR("aqua"))) return haspLogColor(LV_COLOR_AQUA);
|
||||
// if(!strcmp_P(payload, PSTR("lime"))) return haspLogColor(LV_COLOR_LIME);
|
||||
// if(!strcmp_P(payload, PSTR("teal"))) return haspLogColor(LV_COLOR_TEAL);
|
||||
// if(!strcmp_P(payload, PSTR("navy"))) return haspLogColor(LV_COLOR_NAVY);
|
||||
break;
|
||||
case 5:
|
||||
if(!strcasecmp_P(payload, PSTR("green"))) return haspLogColor(LV_COLOR_GREEN);
|
||||
if(!strcasecmp_P(payload, PSTR("white"))) return haspLogColor(LV_COLOR_WHITE);
|
||||
if(!strcasecmp_P(payload, PSTR("black"))) return haspLogColor(LV_COLOR_BLACK);
|
||||
// if(!strcmp_P(payload, PSTR("olive"))) return haspLogColor(LV_COLOR_OLIVE);
|
||||
break;
|
||||
case 6:
|
||||
if(!strcasecmp_P(payload, PSTR("yellow"))) return haspLogColor(LV_COLOR_YELLOW);
|
||||
if(!strcasecmp_P(payload, PSTR("orange"))) return haspLogColor(LV_COLOR_ORANGE);
|
||||
if(!strcasecmp_P(payload, PSTR("purple"))) return haspLogColor(LV_COLOR_PURPLE);
|
||||
if(!strcasecmp_P(payload, PSTR("silver"))) return haspLogColor(LV_COLOR_SILVER);
|
||||
// if(!strcmp_P(payload, PSTR("maroon"))) return haspLogColor(LV_COLOR_MAROON);
|
||||
break;
|
||||
case 7:
|
||||
if(!strcasecmp_P(payload, PSTR("magenta"))) return haspLogColor(LV_COLOR_MAGENTA);
|
||||
break;
|
||||
|
||||
default:
|
||||
// if(!strcmp_P(payload, PSTR("darkblue"))) return haspLogColor(LV_COLOR_MAKE(0, 51, 102));
|
||||
// if(!strcmp_P(payload, PSTR("lightblue"))) return haspLogColor(LV_COLOR_MAKE(46, 203,
|
||||
// 203));
|
||||
break;
|
||||
}
|
||||
|
||||
/* HEX format #rrggbb or #rrggbbaa */
|
||||
char pattern[4];
|
||||
snprintf_P(pattern, sizeof(pattern), PSTR(" 2x")); // % cannot be escaped, so we build our own pattern
|
||||
@ -394,6 +357,95 @@ static lv_color_t haspPayloadToColor(const char * payload)
|
||||
return lv_color_make(R8, G8, B8);
|
||||
}
|
||||
|
||||
/* Named Color Scheme*/
|
||||
switch(sdbm(payload)) {
|
||||
case ATTR_RED:
|
||||
return lv_color_hex(0xFF0000);
|
||||
case ATTR_TAN:
|
||||
return lv_color_hex(0xD2B48C);
|
||||
case ATTR_AQUA:
|
||||
return lv_color_hex(0x00FFFF);
|
||||
case ATTR_BLUE:
|
||||
return lv_color_hex(0x0000FF);
|
||||
case ATTR_CYAN:
|
||||
return lv_color_hex(0x00FFFF);
|
||||
case ATTR_GOLD:
|
||||
return lv_color_hex(0xFFD700);
|
||||
case ATTR_GRAY:
|
||||
return lv_color_hex(0x808080);
|
||||
case ATTR_GREY:
|
||||
return lv_color_hex(0x808080);
|
||||
case ATTR_LIME:
|
||||
return lv_color_hex(0x00FF00);
|
||||
case ATTR_NAVY:
|
||||
return lv_color_hex(0x000080);
|
||||
case ATTR_PERU:
|
||||
return lv_color_hex(0xCD853F);
|
||||
case ATTR_PINK:
|
||||
return lv_color_hex(0xFFC0CB);
|
||||
case ATTR_PLUM:
|
||||
return lv_color_hex(0xDDA0DD);
|
||||
case ATTR_SNOW:
|
||||
return lv_color_hex(0xFFFAFA);
|
||||
case ATTR_TEAL:
|
||||
return lv_color_hex(0x008080);
|
||||
case ATTR_AZURE:
|
||||
return lv_color_hex(0xF0FFFF);
|
||||
case ATTR_BEIGE:
|
||||
return lv_color_hex(0xF5F5DC);
|
||||
case ATTR_BLACK:
|
||||
return lv_color_hex(0x000000);
|
||||
case ATTR_BLUSH:
|
||||
return lv_color_hex(0xB00000);
|
||||
case ATTR_BROWN:
|
||||
return lv_color_hex(0xA52A2A);
|
||||
case ATTR_CORAL:
|
||||
return lv_color_hex(0xFF7F50);
|
||||
case ATTR_GREEN:
|
||||
return lv_color_hex(0x008000);
|
||||
case ATTR_IVORY:
|
||||
return lv_color_hex(0xFFFFF0);
|
||||
case ATTR_KHAKI:
|
||||
return lv_color_hex(0xF0E68C);
|
||||
case ATTR_LINEN:
|
||||
return lv_color_hex(0xFAF0E6);
|
||||
case ATTR_OLIVE:
|
||||
return lv_color_hex(0x808000);
|
||||
case ATTR_WHEAT:
|
||||
return lv_color_hex(0xF5DEB3);
|
||||
case ATTR_WHITE:
|
||||
return lv_color_hex(0xFFFFFF);
|
||||
case ATTR_BISQUE:
|
||||
return lv_color_hex(0xFFE4C4);
|
||||
case ATTR_INDIGO:
|
||||
return lv_color_hex(0x4B0082);
|
||||
case ATTR_MAROON:
|
||||
return lv_color_hex(0x800000);
|
||||
case ATTR_ORANGE:
|
||||
return lv_color_hex(0xFFA500);
|
||||
case ATTR_ORCHID:
|
||||
return lv_color_hex(0xDA70D6);
|
||||
case ATTR_PURPLE:
|
||||
return lv_color_hex(0x800080);
|
||||
case ATTR_SALMON:
|
||||
return lv_color_hex(0xFA8072);
|
||||
case ATTR_SIENNA:
|
||||
return lv_color_hex(0xA0522D);
|
||||
case ATTR_SILVER:
|
||||
return lv_color_hex(0xC0C0C0);
|
||||
case ATTR_TOMATO:
|
||||
return lv_color_hex(0xFF6347);
|
||||
case ATTR_VIOLET:
|
||||
return lv_color_hex(0xEE82EE);
|
||||
case ATTR_YELLOW:
|
||||
return lv_color_hex(0xFFFF00);
|
||||
case ATTR_FUCHSIA:
|
||||
return lv_color_hex(0xFF00FF);
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* Unknown format */
|
||||
Log.warning(TAG_ATTR, F("Invalid color %s"), payload);
|
||||
return LV_COLOR_BLACK;
|
||||
|
@ -292,3 +292,46 @@ _HASP_ATTRIBUTE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t)
|
||||
// Buttonmatrix
|
||||
#define ATTR_MAP 45628
|
||||
#endif
|
||||
|
||||
/* Named COLOR attributes */
|
||||
#define ATTR_RED 177
|
||||
#define ATTR_TAN 7873
|
||||
#define ATTR_AQUA 3452
|
||||
#define ATTR_BLUE 37050
|
||||
#define ATTR_CYAN 9763
|
||||
#define ATTR_GOLD 53440
|
||||
#define ATTR_GRAY 64675
|
||||
#define ATTR_GREY 64927
|
||||
#define ATTR_LIME 34741
|
||||
#define ATTR_NAVY 44918
|
||||
#define ATTR_PERU 36344
|
||||
#define ATTR_PINK 51958
|
||||
#define ATTR_PLUM 64308
|
||||
#define ATTR_SNOW 35587
|
||||
#define ATTR_TEAL 52412
|
||||
#define ATTR_AZURE 44239
|
||||
#define ATTR_BEIGE 12132
|
||||
#define ATTR_BLACK 26527
|
||||
#define ATTR_BLUSH 41376
|
||||
#define ATTR_BROWN 10774
|
||||
#define ATTR_CORAL 16369
|
||||
#define ATTR_GREEN 26019
|
||||
#define ATTR_IVORY 1257
|
||||
#define ATTR_KHAKI 32162
|
||||
#define ATTR_LINEN 30074
|
||||
#define ATTR_OLIVE 47963
|
||||
#define ATTR_WHEAT 11591
|
||||
#define ATTR_WHITE 28649
|
||||
#define ATTR_BISQUE 60533
|
||||
#define ATTR_INDIGO 46482
|
||||
#define ATTR_MAROON 12528
|
||||
#define ATTR_ORANGE 21582
|
||||
#define ATTR_ORCHID 39235
|
||||
#define ATTR_PURPLE 53116
|
||||
#define ATTR_SALMON 29934
|
||||
#define ATTR_SIENNA 50930
|
||||
#define ATTR_SILVER 62989
|
||||
#define ATTR_TOMATO 8234
|
||||
#define ATTR_VIOLET 61695
|
||||
#define ATTR_YELLOW 10484
|
||||
#define ATTR_FUCHSIA 5463
|
||||
|
Loading…
x
Reference in New Issue
Block a user