diff --git a/yoRadio/src/core/config.cpp b/yoRadio/src/core/config.cpp index f126a95..c1495fc 100644 --- a/yoRadio/src/core/config.cpp +++ b/yoRadio/src/core/config.cpp @@ -101,6 +101,7 @@ void Config::loadTheme(){ theme.playlist[2] = color565(COLOR_PLAYLIST_2); theme.playlist[3] = color565(COLOR_PLAYLIST_3); theme.playlist[4] = color565(COLOR_PLAYLIST_4); + #include "../displays/tools/tftinverttitle.h" } template int Config::eepromWrite(int ee, const T& value) { diff --git a/yoRadio/src/core/display.cpp b/yoRadio/src/core/display.cpp index ccad4f1..7585874 100644 --- a/yoRadio/src/core/display.cpp +++ b/yoRadio/src/core/display.cpp @@ -90,7 +90,11 @@ void Display::_buildPager(){ #endif #if !defined(DSP_LCD) && DSP_MODEL!=DSP_NOKIA5110 _plbackground = new FillWidget(playlBGConf, config.theme.plcurrentfill); - _metabackground = new FillWidget(metaBGConf, config.theme.metafill); + #if DSP_INVERT_TITLE + _metabackground = new FillWidget(metaBGConf, config.theme.metafill); + #else + _metabackground = new FillWidget(metaBGConfInv, config.theme.metafill); + #endif #endif #if DSP_MODEL==DSP_NOKIA5110 _plbackground = new FillWidget(playlBGConf, 1); diff --git a/yoRadio/src/core/options.h b/yoRadio/src/core/options.h index 6ed0815..3fffe56 100644 --- a/yoRadio/src/core/options.h +++ b/yoRadio/src/core/options.h @@ -1,7 +1,7 @@ #ifndef options_h #define options_h -#define YOVERSION "0.8.971" +#define YOVERSION "0.8.979" /******************************************************* DO NOT EDIT THIS FILE. @@ -283,7 +283,7 @@ The connection tables are located here https://github.com/e2002/yoradio#connecti #define AUTOBACKLIGHT(x) ({uint16_t _lh=(x>AUTOBACKLIGHT_MAX?AUTOBACKLIGHT_MAX:x); map(_lh, AUTOBACKLIGHT_MAX, 0, AUTOBACKLIGHT_MIN, 100);}) // autobacklight function #endif #ifndef DSP_INVERT_TITLE - #define DSP_INVERT_TITLE true // Invert title colors for OLED displays ? + #define DSP_INVERT_TITLE true // Invert title colors for displays ? #endif /* *** ST7735 display submodel *** diff --git a/yoRadio/src/displays/conf/displayGC9106conf.h b/yoRadio/src/displays/conf/displayGC9106conf.h index 2106cbb..9dd5485 100644 --- a/yoRadio/src/displays/conf/displayGC9106conf.h +++ b/yoRadio/src/displays/conf/displayGC9106conf.h @@ -32,6 +32,7 @@ const ScrollConfig weatherConf PROGMEM = {{ TFT_FRAMEWDT, 80-13, 1, WA_LEFT } /* BACKGROUNGC9106DS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 0, 0, WA_LEFT }, DSP_WIDTH, 16, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 16, 0, WA_LEFT }, DSP_WIDTH, 1, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT, 80-1-1-2, 0, WA_LEFT }, MAX_WIDTH, 2, false }; const FillConfig playlBGConf PROGMEM = {{ 0, 30, 0, WA_LEFT }, DSP_WIDTH, 20, false }; const FillConfig heapbarConf PROGMEM = {{ 0, 79, 0, WA_LEFT }, DSP_WIDTH, 1, false }; diff --git a/yoRadio/src/displays/conf/displayGC9A01Aconf.h b/yoRadio/src/displays/conf/displayGC9A01Aconf.h index 9483121..b3aa2df 100644 --- a/yoRadio/src/displays/conf/displayGC9A01Aconf.h +++ b/yoRadio/src/displays/conf/displayGC9A01Aconf.h @@ -29,6 +29,7 @@ const ScrollConfig apSettConf PROGMEM = {{ TFT_FRAMEWDT+32, 240-TFT_FRAMEWDT const ScrollConfig weatherConf PROGMEM = {{ TFT_FRAMEWDT+30, 37, 1, WA_LEFT }, 140, true, MAX_WIDTH-60, 0, 3, 30 }; /* BACKGROUNDS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 32+20, 0, WA_LEFT }, DSP_WIDTH, 30, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 32+20+30, 0, WA_LEFT }, DSP_WIDTH, 1, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT+56, 240-TFT_FRAMEWDT-6, 0, WA_LEFT }, MAX_WIDTH-112, 6+TFT_FRAMEWDT+1, true }; const FillConfig playlBGConf PROGMEM = {{ 0, 107, 0, WA_LEFT }, DSP_WIDTH, 24, false }; const FillConfig heapbarConf PROGMEM = {{ 0, 83, 0, WA_LEFT }, DSP_WIDTH, 1, false }; diff --git a/yoRadio/src/displays/conf/displayILI9225conf.h b/yoRadio/src/displays/conf/displayILI9225conf.h index e535d6c..ca9c7cf 100644 --- a/yoRadio/src/displays/conf/displayILI9225conf.h +++ b/yoRadio/src/displays/conf/displayILI9225conf.h @@ -30,6 +30,7 @@ const ScrollConfig weatherConf PROGMEM = {{ TFT_FRAMEWDT, 50, 2, WA_LEFT }, 1 /* BACKGROUNDS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 0, 0, WA_LEFT }, DSP_WIDTH, 22, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 22, 0, WA_LEFT }, DSP_WIDTH, 1, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT, DSP_HEIGHT-TFT_FRAMEWDT-4, 0, WA_LEFT }, MAX_WIDTH, 4, true }; const FillConfig playlBGConf PROGMEM = {{ 0, 76, 0, WA_LEFT }, DSP_WIDTH, 22, false }; const FillConfig heapbarConf PROGMEM = {{ 0, DSP_HEIGHT-1, 0, WA_LEFT }, DSP_WIDTH, 1, false }; diff --git a/yoRadio/src/displays/conf/displayILI9341conf.h b/yoRadio/src/displays/conf/displayILI9341conf.h index 80ec5ea..9b98f9d 100644 --- a/yoRadio/src/displays/conf/displayILI9341conf.h +++ b/yoRadio/src/displays/conf/displayILI9341conf.h @@ -28,6 +28,7 @@ const ScrollConfig weatherConf PROGMEM = {{ 8, 87, 2, WA_LEFT }, 140, true, M /* BACKGROUNDS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 0, 0, WA_LEFT }, DSP_WIDTH, 38, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 38, 0, WA_LEFT }, DSP_WIDTH, 1, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT, 240-TFT_FRAMEWDT-6, 0, WA_LEFT }, MAX_WIDTH, 6, true }; const FillConfig playlBGConf PROGMEM = {{ 0, 107, 0, WA_LEFT }, DSP_WIDTH, 24, false }; const FillConfig heapbarConf PROGMEM = {{ 0, 239, 0, WA_LEFT }, DSP_WIDTH, 1, false }; diff --git a/yoRadio/src/displays/conf/displayILI9488conf.h b/yoRadio/src/displays/conf/displayILI9488conf.h index 5756d7e..e55971c 100644 --- a/yoRadio/src/displays/conf/displayILI9488conf.h +++ b/yoRadio/src/displays/conf/displayILI9488conf.h @@ -29,6 +29,7 @@ const ScrollConfig weatherConf PROGMEM = {{ TFT_FRAMEWDT, 116, 2, WA_LEFT }, /* BACKGROUNDS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 0, 0, WA_LEFT }, DSP_WIDTH, 50, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 50, 0, WA_LEFT }, DSP_WIDTH, 2, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT, DSP_HEIGHT-TFT_FRAMEWDT-8, 0, WA_LEFT }, MAX_WIDTH, 8, true }; const FillConfig playlBGConf PROGMEM = {{ 0, 138, 0, WA_LEFT }, DSP_WIDTH, 36, false }; const FillConfig heapbarConf PROGMEM = {{ 0, DSP_HEIGHT-2, 0, WA_LEFT }, DSP_WIDTH, 2, false }; diff --git a/yoRadio/src/displays/conf/displayST7735_144conf.h b/yoRadio/src/displays/conf/displayST7735_144conf.h index 8227c7d..70a6b6e 100644 --- a/yoRadio/src/displays/conf/displayST7735_144conf.h +++ b/yoRadio/src/displays/conf/displayST7735_144conf.h @@ -28,6 +28,7 @@ const ScrollConfig weatherConf PROGMEM = {{ TFT_FRAMEWDT, 42, 1, WA_LEFT }, 1 /* BACKGROUNDS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 0, 0, WA_LEFT }, DSP_WIDTH, 22, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 22, 0, WA_LEFT }, DSP_WIDTH, 1, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT, 118, 0, WA_LEFT }, MAX_WIDTH-6*3-4, 5, true }; const FillConfig playlBGConf PROGMEM = {{ 0, 52, 0, WA_LEFT }, DSP_WIDTH, 22, false }; const FillConfig heapbarConf PROGMEM = {{ 0, 127, 0, WA_LEFT }, DSP_WIDTH, 1, false }; diff --git a/yoRadio/src/displays/conf/displayST7735_blackconf.h b/yoRadio/src/displays/conf/displayST7735_blackconf.h index bc294ae..d613fc5 100644 --- a/yoRadio/src/displays/conf/displayST7735_blackconf.h +++ b/yoRadio/src/displays/conf/displayST7735_blackconf.h @@ -27,6 +27,7 @@ const ScrollConfig weatherConf PROGMEM = {{ TFT_FRAMEWDT, 42, 1, WA_LEFT }, 1 /* BACKGROUNDS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 0, 0, WA_LEFT }, DSP_WIDTH, 22, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 22, 0, WA_LEFT }, DSP_WIDTH, 1, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT, 118, 0, WA_LEFT }, MAX_WIDTH, 5, true }; const FillConfig playlBGConf PROGMEM = {{ 0, 52, 0, WA_LEFT }, DSP_WIDTH, 22, false }; const FillConfig heapbarConf PROGMEM = {{ 0, 127, 0, WA_LEFT }, DSP_WIDTH, 1, false }; diff --git a/yoRadio/src/displays/conf/displayST7735_miniconf.h b/yoRadio/src/displays/conf/displayST7735_miniconf.h index 1805516..7d7b7cf 100644 --- a/yoRadio/src/displays/conf/displayST7735_miniconf.h +++ b/yoRadio/src/displays/conf/displayST7735_miniconf.h @@ -32,6 +32,7 @@ const ScrollConfig weatherConf PROGMEM = {{ TFT_FRAMEWDT, 80-13, 1, WA_LEFT } /* BACKGROUNGC9106DS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 0, 0, WA_LEFT }, DSP_WIDTH, 16, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 16, 0, WA_LEFT }, DSP_WIDTH, 1, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT, 80-1-1-2, 0, WA_LEFT }, MAX_WIDTH, 2, false }; const FillConfig playlBGConf PROGMEM = {{ 0, 30, 0, WA_LEFT }, DSP_WIDTH, 20, false }; const FillConfig heapbarConf PROGMEM = {{ 0, 79, 0, WA_LEFT }, DSP_WIDTH, 1, false }; diff --git a/yoRadio/src/displays/conf/displayST7789_240conf.h b/yoRadio/src/displays/conf/displayST7789_240conf.h index 8613081..76197a8 100644 --- a/yoRadio/src/displays/conf/displayST7789_240conf.h +++ b/yoRadio/src/displays/conf/displayST7789_240conf.h @@ -27,6 +27,7 @@ const ScrollConfig apSettConf PROGMEM = {{ TFT_FRAMEWDT, 240-TFT_FRAMEWDT-16 const ScrollConfig weatherConf PROGMEM = {{ TFT_FRAMEWDT, 198, 1, WA_LEFT }, 140, true, MAX_WIDTH, 0, 3, 30 }; /* BACKGROUNDS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 0, 0, WA_LEFT }, DSP_WIDTH, 38, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 38, 0, WA_LEFT }, DSP_WIDTH, 1, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT, 240-TFT_FRAMEWDT-6, 0, WA_LEFT }, MAX_WIDTH, 6, true }; const FillConfig playlBGConf PROGMEM = {{ 0, 107, 0, WA_LEFT }, DSP_WIDTH, 24, false }; const FillConfig heapbarConf PROGMEM = {{ 0, 239, 0, WA_LEFT }, DSP_WIDTH, 1, false }; diff --git a/yoRadio/src/displays/conf/displayST7789conf.h b/yoRadio/src/displays/conf/displayST7789conf.h index b87d889..7b6d423 100644 --- a/yoRadio/src/displays/conf/displayST7789conf.h +++ b/yoRadio/src/displays/conf/displayST7789conf.h @@ -28,6 +28,7 @@ const ScrollConfig weatherConf PROGMEM = {{ 8, 87, 2, WA_LEFT }, 140, true, M /* BACKGROUNDS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 0, 0, WA_LEFT }, DSP_WIDTH, 38, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 38, 0, WA_LEFT }, DSP_WIDTH, 1, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT, 240-TFT_FRAMEWDT-6, 0, WA_LEFT }, MAX_WIDTH, 6, true }; const FillConfig playlBGConf PROGMEM = {{ 0, 107, 0, WA_LEFT }, DSP_WIDTH, 24, false }; const FillConfig heapbarConf PROGMEM = {{ 0, 239, 0, WA_LEFT }, DSP_WIDTH, 1, false }; diff --git a/yoRadio/src/displays/conf/displayST7796conf.h b/yoRadio/src/displays/conf/displayST7796conf.h index ccdd8dd..ef28913 100644 --- a/yoRadio/src/displays/conf/displayST7796conf.h +++ b/yoRadio/src/displays/conf/displayST7796conf.h @@ -29,6 +29,7 @@ const ScrollConfig weatherConf PROGMEM = {{ TFT_FRAMEWDT, 116, 2, WA_LEFT }, /* BACKGROUNDS */ /* {{ left, top, fontsize, align }, width, height, outlined } */ const FillConfig metaBGConf PROGMEM = {{ 0, 0, 0, WA_LEFT }, DSP_WIDTH, 50, false }; +const FillConfig metaBGConfInv PROGMEM = {{ 0, 50, 0, WA_LEFT }, DSP_WIDTH, 2, false }; const FillConfig volbarConf PROGMEM = {{ TFT_FRAMEWDT, DSP_HEIGHT-TFT_FRAMEWDT-8, 0, WA_LEFT }, MAX_WIDTH, 8, true }; const FillConfig playlBGConf PROGMEM = {{ 0, 138, 0, WA_LEFT }, DSP_WIDTH, 36, false }; const FillConfig heapbarConf PROGMEM = {{ 0, DSP_HEIGHT-2, 0, WA_LEFT }, DSP_WIDTH, 2, false }; diff --git a/yoRadio/src/displays/tools/tftinverttitle.h b/yoRadio/src/displays/tools/tftinverttitle.h new file mode 100644 index 0000000..02f575d --- /dev/null +++ b/yoRadio/src/displays/tools/tftinverttitle.h @@ -0,0 +1,13 @@ +#ifndef _TFTINVERTTITLE_H_ +#define _TFTINVERTTITLE_H_ + +#if !defined(DSP_LCD) && DSP_MODEL!=DSP_NOKIA5110 + #if !DSP_INVERT_TITLE + uint16_t newbg = config.theme.meta; + config.theme.meta = config.theme.metabg; + config.theme.metabg = newbg; + config.theme.metafill = config.theme.div; + #endif +#endif + +#endif