mirror of
https://projects.vdr-developer.org/git/vdr-plugin-tvguide.git
synced 2023-10-05 15:01:48 +02:00
Changed color buttons to nOpacity style
This commit is contained in:
parent
47c3fea545
commit
68928cb9f0
4
HISTORY
4
HISTORY
@ -4,3 +4,7 @@ VDR Plugin 'tvguide' Revision History
|
|||||||
2012-08-12: Version 0.0.1
|
2012-08-12: Version 0.0.1
|
||||||
|
|
||||||
- Initial revision.
|
- Initial revision.
|
||||||
|
|
||||||
|
2013-01-17: Version 0.0.2
|
||||||
|
|
||||||
|
- Changed color buttons to nOpacity style
|
||||||
|
4
config.c
4
config.c
@ -13,7 +13,7 @@ cTvguideConfig::cTvguideConfig() {
|
|||||||
displayTime = 160;
|
displayTime = 160;
|
||||||
minuteHeight = 0;
|
minuteHeight = 0;
|
||||||
timeColWidth = 120;
|
timeColWidth = 120;
|
||||||
headerHeight = 120;
|
headerHeight = 145;
|
||||||
footerHeight = 80;
|
footerHeight = 80;
|
||||||
stepMinutes = 30;
|
stepMinutes = 30;
|
||||||
bigStepHours = 3;
|
bigStepHours = 3;
|
||||||
@ -21,7 +21,7 @@ cTvguideConfig::cTvguideConfig() {
|
|||||||
jumpChannels = 5;
|
jumpChannels = 5;
|
||||||
hideChannelLogos = 0;
|
hideChannelLogos = 0;
|
||||||
logoWidth = 130;
|
logoWidth = 130;
|
||||||
logoHeight = 73;
|
logoHeight = 100;
|
||||||
logoExtension = 0;
|
logoExtension = 0;
|
||||||
hideEpgImages = 0;
|
hideEpgImages = 0;
|
||||||
epgImageWidth = 315;
|
epgImageWidth = 315;
|
||||||
|
64
footer.c
64
footer.c
@ -1,59 +1,53 @@
|
|||||||
#include "footer.h"
|
#include "footer.h"
|
||||||
|
|
||||||
cFooter::cFooter() {
|
cFooter::cFooter() {
|
||||||
int buttonHeight= tvguideConfig.footerHeight - 20;
|
buttonBorder = 20;
|
||||||
textY = (buttonHeight - tvguideConfig.FontButton->Height())/2;
|
buttonWidth = (tvguideConfig.osdWidth - tvguideConfig.timeColWidth - 5*buttonBorder)/4;
|
||||||
int distanceX = 20;
|
buttonHeight= tvguideConfig.footerHeight - 2*buttonBorder;
|
||||||
buttonWidth = (tvguideConfig.osdWidth - tvguideConfig.timeColWidth-5*distanceX)/4;
|
buttonY = (tvguideConfig.footerHeight - buttonHeight)/2;
|
||||||
int startX = tvguideConfig.timeColWidth + distanceX;
|
|
||||||
int Y = tvguideConfig.osdHeight - tvguideConfig.footerHeight + (tvguideConfig.footerHeight - buttonHeight)/2;
|
|
||||||
|
|
||||||
buttonRed = new cStyledPixmap(osdManager.requestPixmap(3, cRect(startX, Y, buttonWidth, buttonHeight), cRect::Null, "btnRed"), "btnRed");
|
footer = osdManager.requestPixmap(2, cRect( tvguideConfig.timeColWidth,
|
||||||
buttonGreen = new cStyledPixmap(osdManager.requestPixmap(3, cRect(startX + buttonWidth + distanceX, Y, buttonWidth, buttonHeight), cRect::Null, "btnGreen"), "btnGreen");
|
tvguideConfig.osdHeight - tvguideConfig.footerHeight,
|
||||||
buttonYellow = new cStyledPixmap(osdManager.requestPixmap(3, cRect(startX + 2*(buttonWidth + distanceX), Y, buttonWidth, buttonHeight), cRect::Null, "btnYellow"), "btnYellow");
|
tvguideConfig.osdWidth - tvguideConfig.timeColWidth,
|
||||||
buttonBlue = new cStyledPixmap(osdManager.requestPixmap(3, cRect(startX + 3*(buttonWidth + distanceX), Y, buttonWidth, buttonHeight), cRect::Null, "btnBlue"), "btnBlue");
|
tvguideConfig.footerHeight),
|
||||||
|
cRect::Null, "footer");
|
||||||
|
footer->Fill(clrTransparent);
|
||||||
}
|
}
|
||||||
|
|
||||||
cFooter::~cFooter(void) {
|
cFooter::~cFooter(void) {
|
||||||
delete buttonRed;
|
osdManager.releasePixmap(footer, "footer");;
|
||||||
delete buttonGreen;
|
|
||||||
delete buttonYellow;
|
|
||||||
delete buttonBlue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cFooter::drawRedButton() {
|
void cFooter::drawRedButton() {
|
||||||
buttonRed->setColor(theme.Color(clrButtonRed), theme.Color(clrButtonRedBlending));
|
|
||||||
buttonRed->drawBackground();
|
|
||||||
buttonRed->drawBorder();
|
|
||||||
cString text(tr("Set Timer"));
|
cString text(tr("Set Timer"));
|
||||||
int width = tvguideConfig.FontButton->Width(*(text));
|
DrawButton(*text, theme.Color(clrButtonRed), theme.Color(clrButtonRedBorder), 0);
|
||||||
buttonRed->DrawText(cPoint((buttonWidth-width)/2, textY), *(text), theme.Color(clrFontButtons), clrTransparent, tvguideConfig.FontButton);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cFooter::drawGreenButton() {
|
void cFooter::drawGreenButton() {
|
||||||
buttonGreen->setColor(theme.Color(clrButtonGreen), theme.Color(clrButtonGreenBlending));
|
|
||||||
buttonGreen->drawBackground();
|
|
||||||
buttonGreen->drawBorder();
|
|
||||||
cString text = cString::sprintf("%d %s", tvguideConfig.jumpChannels, tr("Channels back"));
|
cString text = cString::sprintf("%d %s", tvguideConfig.jumpChannels, tr("Channels back"));
|
||||||
int width = tvguideConfig.FontButton->Width(*text);
|
DrawButton(*text, theme.Color(clrButtonGreen), theme.Color(clrButtonGreenBorder), 1);
|
||||||
buttonGreen->DrawText(cPoint((buttonWidth-width)/2, textY), *text, theme.Color(clrFontButtons), clrTransparent, tvguideConfig.FontButton);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cFooter::drawYellowButton() {
|
void cFooter::drawYellowButton() {
|
||||||
buttonYellow->setColor(theme.Color(clrButtonYellow), theme.Color(clrButtonYellowBlending));
|
|
||||||
buttonYellow->drawBackground();
|
|
||||||
buttonYellow->drawBorder();
|
|
||||||
cString text = cString::sprintf("%d %s", tvguideConfig.jumpChannels, tr("Channels forward"));
|
cString text = cString::sprintf("%d %s", tvguideConfig.jumpChannels, tr("Channels forward"));
|
||||||
int width = tvguideConfig.FontButton->Width(*text);
|
DrawButton(*text, theme.Color(clrButtonYellow), theme.Color(clrButtonYellowBorder), 2);
|
||||||
buttonYellow->DrawText(cPoint((buttonWidth-width)/2, textY), *text, theme.Color(clrFontButtons), clrTransparent, tvguideConfig.FontButton);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cFooter::drawBlueButton() {
|
void cFooter::drawBlueButton() {
|
||||||
buttonBlue->setColor(theme.Color(clrButtonBlue), theme.Color(clrButtonBlueBlending));
|
|
||||||
buttonBlue->drawBackground();
|
|
||||||
buttonBlue->drawBorder();
|
|
||||||
cString text(tr("Switch to Channel"));
|
cString text(tr("Switch to Channel"));
|
||||||
int width = tvguideConfig.FontButton->Width(*(text));
|
DrawButton(*text, theme.Color(clrButtonBlue), theme.Color(clrButtonBlueBorder), 3);
|
||||||
buttonBlue->DrawText(cPoint((buttonWidth-width)/2, textY), *(text), theme.Color(clrFontButtons), clrTransparent, tvguideConfig.FontButton);
|
}
|
||||||
|
|
||||||
|
void cFooter::DrawButton(const char *text, tColor color, tColor borderColor, int num) {
|
||||||
|
|
||||||
|
int left = num * buttonWidth + (num + 1) * buttonBorder;
|
||||||
|
footer->DrawRectangle(cRect(left, buttonY, buttonWidth, buttonHeight), borderColor);
|
||||||
|
|
||||||
|
cImageLoader imgLoader;
|
||||||
|
imgLoader.DrawBackground(theme.Color(clrButtonBlend), color, buttonWidth-4, buttonHeight-4);
|
||||||
|
footer->DrawImage(cPoint(left+2, buttonY+2), imgLoader.GetImage());
|
||||||
|
|
||||||
|
int textWidth = tvguideConfig.FontButton->Width(text);
|
||||||
|
int textHeight = tvguideConfig.FontButton->Height();
|
||||||
|
footer->DrawText(cPoint(left + (buttonWidth-textWidth)/2, buttonY + (buttonHeight-textHeight)/2), text, theme.Color(clrFontButtons), clrTransparent, tvguideConfig.FontButton);
|
||||||
}
|
}
|
10
footer.h
10
footer.h
@ -5,12 +5,12 @@
|
|||||||
|
|
||||||
class cFooter {
|
class cFooter {
|
||||||
private:
|
private:
|
||||||
cStyledPixmap *buttonRed;
|
cPixmap *footer;
|
||||||
cStyledPixmap *buttonGreen;
|
|
||||||
cStyledPixmap *buttonYellow;
|
|
||||||
cStyledPixmap *buttonBlue;
|
|
||||||
int textY;
|
|
||||||
int buttonWidth;
|
int buttonWidth;
|
||||||
|
int buttonHeight;
|
||||||
|
int buttonY;
|
||||||
|
int buttonBorder;
|
||||||
|
void DrawButton(const char *text, tColor color, tColor borderColor, int num);
|
||||||
public:
|
public:
|
||||||
cFooter();
|
cFooter();
|
||||||
virtual ~cFooter(void);
|
virtual ~cFooter(void);
|
||||||
|
106
imageloader.c
106
imageloader.c
@ -1,5 +1,8 @@
|
|||||||
#include "imageloader.h"
|
#include "imageloader.h"
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <string>
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
using namespace Magick;
|
using namespace Magick;
|
||||||
|
|
||||||
@ -9,61 +12,66 @@ cImageLoader::cImageLoader() {
|
|||||||
cImageLoader::~cImageLoader() {
|
cImageLoader::~cImageLoader() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cImageLoader::LoadLogo(const char *logo)
|
bool cImageLoader::LoadLogo(const char *logo, int width = tvguideConfig.logoWidth, int height = tvguideConfig.logoHeight) {
|
||||||
{
|
if ((width == 0)||(height==0))
|
||||||
try
|
return false;
|
||||||
{
|
std::string logoLower = logo;
|
||||||
int width = tvguideConfig.logoWidth;
|
toLowerCase(logoLower);
|
||||||
int height = tvguideConfig.logoHeight;
|
|
||||||
cString extension;
|
cString extension;
|
||||||
if (tvguideConfig.logoExtension == 0) {
|
if (tvguideConfig.logoExtension == 0) {
|
||||||
extension = "png";
|
extension = "png";
|
||||||
} else if (tvguideConfig.logoExtension == 1) {
|
} else if (tvguideConfig.logoExtension == 1) {
|
||||||
extension = "jpg";
|
extension = "jpg";
|
||||||
}
|
}
|
||||||
cString Filename = cString::sprintf("%s%s.%s", *tvguideConfig.logoPath, logo, *extension);
|
if (!LoadImage(logoLower.c_str(), tvguideConfig.logoPath, extension))
|
||||||
osdImage.read(*Filename);
|
return false;
|
||||||
|
|
||||||
if (height != 0 || width != 0) {
|
if (height != 0 || width != 0) {
|
||||||
osdImage.sample( Geometry(width, height));
|
buffer.sample( Geometry(width, height));
|
||||||
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (...)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool cImageLoader::LoadEPGImage(int eventID)
|
bool cImageLoader::LoadEPGImage(int eventID) {
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
int width = tvguideConfig.epgImageWidth;
|
int width = tvguideConfig.epgImageWidth;
|
||||||
int height = tvguideConfig.epgImageHeight;
|
int height = tvguideConfig.epgImageHeight;
|
||||||
cString Filename = cString::sprintf("%s%d.jpg", *tvguideConfig.epgImagePath, eventID);
|
if ((width == 0)||(height==0))
|
||||||
osdImage.read(*Filename);
|
return false;
|
||||||
|
if (!LoadImage(cString::sprintf("%d", eventID), tvguideConfig.epgImagePath, "jpg"))
|
||||||
if (height != 0 || width != 0)
|
return false;
|
||||||
osdImage.sample( Geometry(width, height));
|
if (height != 0 || width != 0) {
|
||||||
|
buffer.sample( Geometry(width, height));
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (...)
|
|
||||||
{
|
void cImageLoader::DrawBackground(tColor back, tColor blend, int width, int height) {
|
||||||
return false;
|
Color Back = Argb2Color(back);
|
||||||
}
|
Color Blend = Argb2Color(blend);
|
||||||
|
Image tmp(Geometry(width, height), Blend);
|
||||||
|
double arguments[9] = {0.0,(double)height,0.0,-1*(double)width,0.0,0.0,1.5*(double)width,0.0,1.0};
|
||||||
|
tmp.sparseColor(MatteChannel, BarycentricColorInterpolate, 9, arguments);
|
||||||
|
Image tmp2(Geometry(width, height), Back);
|
||||||
|
tmp.composite(tmp2, 0, 0, OverlayCompositeOp);
|
||||||
|
buffer = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cImageLoader::DrawBackground2(tColor back, tColor blend, int width, int height) {
|
||||||
|
Color Back = Argb2Color(back);
|
||||||
|
Color Blend = Argb2Color(blend);
|
||||||
|
Image tmp(Geometry(width, height), Blend);
|
||||||
|
double arguments[9] = {0.0,(double)height,0.0,-0.5*(double)width,0.0,0.0,0.75*(double)width,0.0,1.0};
|
||||||
|
tmp.sparseColor(MatteChannel, BarycentricColorInterpolate, 9, arguments);
|
||||||
|
Image tmp2(Geometry(width, height), Back);
|
||||||
|
tmp.composite(tmp2, 0, 0, OverlayCompositeOp);
|
||||||
|
buffer = tmp;
|
||||||
|
}
|
||||||
|
|
||||||
cImage cImageLoader::GetImage()
|
cImage cImageLoader::GetImage() {
|
||||||
{
|
|
||||||
int w, h;
|
int w, h;
|
||||||
w = osdImage.columns();
|
w = buffer.columns();
|
||||||
h = osdImage.rows();
|
h = buffer.rows();
|
||||||
cImage image (cSize(w, h));
|
cImage image (cSize(w, h));
|
||||||
const PixelPacket *pixels = osdImage.getConstPixels(0, 0, w, h);
|
const PixelPacket *pixels = buffer.getConstPixels(0, 0, w, h);
|
||||||
for (int iy = 0; iy < h; ++iy) {
|
for (int iy = 0; iy < h; ++iy) {
|
||||||
for (int ix = 0; ix < w; ++ix) {
|
for (int ix = 0; ix < w; ++ix) {
|
||||||
tColor col = (~int(pixels->opacity * 255 / MaxRGB) << 24)
|
tColor col = (~int(pixels->opacity * 255 / MaxRGB) << 24)
|
||||||
@ -76,3 +84,31 @@ cImage cImageLoader::GetImage()
|
|||||||
}
|
}
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Color cImageLoader::Argb2Color(tColor col) {
|
||||||
|
tIndex alpha = (col & 0xFF000000) >> 24;
|
||||||
|
tIndex red = (col & 0x00FF0000) >> 16;
|
||||||
|
tIndex green = (col & 0x0000FF00) >> 8;
|
||||||
|
tIndex blue = (col & 0x000000FF);
|
||||||
|
Color color(MaxRGB*red/255, MaxRGB*green/255, MaxRGB*blue/255, MaxRGB*(0xFF-alpha)/255);
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cImageLoader::toLowerCase(std::string &str) {
|
||||||
|
const int length = str.length();
|
||||||
|
for(int i=0; i < length; ++i) {
|
||||||
|
str[i] = std::tolower(str[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cImageLoader::LoadImage(cString FileName, cString Path, cString Extension) {
|
||||||
|
try {
|
||||||
|
cString File = cString::sprintf("%s%s.%s", *Path, *FileName, *Extension);
|
||||||
|
dsyslog("tvguide: trying to load: %s", *File);
|
||||||
|
buffer.read(*File);
|
||||||
|
dsyslog("tvguide: %s sucessfully loaded", *File);
|
||||||
|
} catch (...) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
@ -14,10 +14,15 @@ public:
|
|||||||
cImageLoader();
|
cImageLoader();
|
||||||
~cImageLoader();
|
~cImageLoader();
|
||||||
cImage GetImage();
|
cImage GetImage();
|
||||||
bool LoadLogo(const char *logo);
|
bool LoadLogo(const char *logo, int width, int height);
|
||||||
bool LoadEPGImage(int eventID);
|
bool LoadEPGImage(int eventID);
|
||||||
|
void DrawBackground(tColor back, tColor blend, int width, int height);
|
||||||
|
void DrawBackground2(tColor back, tColor blend, int width, int height);
|
||||||
private:
|
private:
|
||||||
Image osdImage;
|
Image buffer;
|
||||||
|
Color Argb2Color(tColor col);
|
||||||
|
void toLowerCase(std::string &str);
|
||||||
|
bool LoadImage(cString FileName, cString Path, cString Extension);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //_TVGUIDE_IMAGELOADER_H
|
#endif //_TVGUIDE_IMAGELOADER_H
|
||||||
|
@ -3,7 +3,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2012-12-27 15:27+0100\n"
|
"POT-Creation-Date: 2013-01-17 14:01+0100\n"
|
||||||
"PO-Revision-Date: 2012-08-25 17:49+0200\n"
|
"PO-Revision-Date: 2012-08-25 17:49+0200\n"
|
||||||
"Last-Translator: Horst\n"
|
"Last-Translator: Horst\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
@ -18,11 +18,12 @@ clrTimeline1 = FFFFFFFF
|
|||||||
clrTimeline1Blending = FF828282
|
clrTimeline1Blending = FF828282
|
||||||
clrTimeline2 = FF000000
|
clrTimeline2 = FF000000
|
||||||
clrTimeline2Blending = FF3F3F3F
|
clrTimeline2Blending = FF3F3F3F
|
||||||
clrButtonRed = FFD42627
|
clrButtonRed = 99BB0000
|
||||||
clrButtonRedBlending = FF000000
|
clrButtonRedBorder = FFBB0000
|
||||||
clrButtonGreen = FF004F00
|
clrButtonGreen = 9900BB00
|
||||||
clrButtonGreenBlending = FF000000
|
clrButtonGreenBorder = FF00BB00
|
||||||
clrButtonYellow = FFFFA300
|
clrButtonYellow = 99BBBB00
|
||||||
clrButtonYellowBlending = FF000000
|
clrButtonYellowBorder = FFBBBB00
|
||||||
clrButtonBlue = FF0000FE
|
clrButtonBlue = 990000BB
|
||||||
clrButtonBlueBlending = FF000000
|
clrButtonBlueBorder = FF0000BB
|
||||||
|
clrButtonBlend = DD000000
|
||||||
|
@ -17,11 +17,12 @@ clrTimeline1 = FFFFFFFF
|
|||||||
clrTimeline1Blending = FF828282
|
clrTimeline1Blending = FF828282
|
||||||
clrTimeline2 = FF000000
|
clrTimeline2 = FF000000
|
||||||
clrTimeline2Blending = FF3F3F3F
|
clrTimeline2Blending = FF3F3F3F
|
||||||
clrButtonRed = FFD42627
|
clrButtonRed = 99BB0000
|
||||||
clrButtonRedBlending = FFE0E0E0
|
clrButtonRedBorder = FFBB0000
|
||||||
clrButtonGreen = FF004F00
|
clrButtonGreen = 9900BB00
|
||||||
clrButtonGreenBlending = FFE0E0E0
|
clrButtonGreenBorder = FF00BB00
|
||||||
clrButtonYellow = FFFFA300
|
clrButtonYellow = 99BBBB00
|
||||||
clrButtonYellowBlending = FFE0E0E0
|
clrButtonYellowBorder = FFBBBB00
|
||||||
clrButtonBlue = FF0000FE
|
clrButtonBlue = 990000BB
|
||||||
clrButtonBlueBlending = FFE0E0E0
|
clrButtonBlueBorder = FF0000BB
|
||||||
|
clrButtonBlend = DD000000
|
||||||
|
17
tvguideosd.c
17
tvguideosd.c
@ -19,14 +19,15 @@ THEME_CLR(theme, clrTimeline1, clrWhite);
|
|||||||
THEME_CLR(theme, clrTimeline1Blending, 0xFF828282);
|
THEME_CLR(theme, clrTimeline1Blending, 0xFF828282);
|
||||||
THEME_CLR(theme, clrTimeline2, clrBlack);
|
THEME_CLR(theme, clrTimeline2, clrBlack);
|
||||||
THEME_CLR(theme, clrTimeline2Blending, 0xFF3F3F3F);
|
THEME_CLR(theme, clrTimeline2Blending, 0xFF3F3F3F);
|
||||||
THEME_CLR(theme, clrButtonRed, 0xFFD42627);
|
THEME_CLR(theme, clrButtonRed, 0x99BB0000);
|
||||||
THEME_CLR(theme, clrButtonRedBlending, 0xFFE0E0E0);
|
THEME_CLR(theme, clrButtonRedBorder, 0xFFBB0000);
|
||||||
THEME_CLR(theme, clrButtonGreen, 0xFF004F00);
|
THEME_CLR(theme, clrButtonGreen, 0x9900BB00);
|
||||||
THEME_CLR(theme, clrButtonGreenBlending, 0xFFE0E0E0);
|
THEME_CLR(theme, clrButtonGreenBorder, 0xFF00BB00);
|
||||||
THEME_CLR(theme, clrButtonYellow, 0xFFffa300);
|
THEME_CLR(theme, clrButtonYellow, 0x99BBBB00);
|
||||||
THEME_CLR(theme, clrButtonYellowBlending, 0xFFE0E0E0);
|
THEME_CLR(theme, clrButtonYellowBorder, 0xFFBBBB00);
|
||||||
THEME_CLR(theme, clrButtonBlue, 0xFF0000fe);
|
THEME_CLR(theme, clrButtonBlue, 0x990000BB);
|
||||||
THEME_CLR(theme, clrButtonBlueBlending, 0xFFE0E0E0);
|
THEME_CLR(theme, clrButtonBlueBorder, 0xFF0000BB);
|
||||||
|
THEME_CLR(theme, clrButtonBlend, 0xDD000000);
|
||||||
|
|
||||||
#include "config.c"
|
#include "config.c"
|
||||||
cTvguideConfig tvguideConfig;
|
cTvguideConfig tvguideConfig;
|
||||||
|
Loading…
Reference in New Issue
Block a user