summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2014-01-10 23:07:52 +0100
committerlouis <louis.braun@gmx.de>2014-01-10 23:07:52 +0100
commit15dbae66ebc12e9e3175fd22a5d7d7faf1fb9257 (patch)
treedd93cca2211853b24e18271fa427c9aa57b47650
parent84629bde6c85ba9bec34324a89e8fe4de8d2caa5 (diff)
downloadvdr-plugin-tvguide-15dbae66ebc12e9e3175fd22a5d7d7faf1fb9257.tar.gz
vdr-plugin-tvguide-15dbae66ebc12e9e3175fd22a5d7d7faf1fb9257.tar.bz2
Small fixes
-rw-r--r--config.h2
-rw-r--r--recmenuitem.c27
-rw-r--r--recmenuitem.h3
-rw-r--r--themes/tvguide-default.theme2
-rw-r--r--tvguideosd.c2
5 files changed, 28 insertions, 8 deletions
diff --git a/config.h b/config.h
index b4d68d9..689384a 100644
--- a/config.h
+++ b/config.h
@@ -200,7 +200,7 @@ THEME_CLR(theme, clrRecMenuDayActive, 0xFF00FF00);
THEME_CLR(theme, clrRecMenuDayInactive, 0xFFFF0000);
THEME_CLR(theme, clrRecMenuDayHighlight, 0x44FFFFFF);
THEME_CLR(theme, clrRecMenuTextBack, 0xFF000000);
-THEME_CLR(theme, clrRecMenuTextActiveBack, 0xFF404749);
+THEME_CLR(theme, clrRecMenuTextActiveBack, 0xFF939376);
THEME_CLR(theme, clrRecMenuKeyboardBack, 0xFF000000);
THEME_CLR(theme, clrRecMenuKeyboardBorder, clrWhite);
THEME_CLR(theme, clrRecMenuKeyboardHigh, 0x40BB0000);
diff --git a/recmenuitem.c b/recmenuitem.c
index 9770c08..b616276 100644
--- a/recmenuitem.c
+++ b/recmenuitem.c
@@ -71,9 +71,12 @@ cRecMenuItemButton::cRecMenuItemButton(const char *text, eRecMenuState action, b
height = 3 * fontButtons->Height() / 2;
this->halfWidth = halfWidth;
this->alignLeft = alignLeft;
+ pixmapText = NULL;
}
cRecMenuItemButton::~cRecMenuItemButton(void) {
+ if (pixmapText)
+ osdManager.releasePixmap(pixmapText);
}
int cRecMenuItemButton::GetWidth(void) {
@@ -85,20 +88,34 @@ void cRecMenuItemButton::SetPixmaps(void) {
x += width / 4;
width = width / 2;
}
- if (!pixmap)
+ if (!pixmap) {
pixmap = osdManager.requestPixmap(4, cRect(x, y, width, height));
- else
+ pixmapText = osdManager.requestPixmap(5, cRect(x, y, width, height));
+ } else {
pixmap->SetViewPort(cRect(x, y, width, height));
+ pixmapText->SetViewPort(cRect(x, y, width, height));
+ }
}
void cRecMenuItemButton::Draw(void) {
+ pixmapText->Fill(clrTransparent);
int y = (height - fontButtons->Height()) / 2;
int x;
if (!alignLeft)
x = (width - fontButtons->Width(*text)) / 2;
else
x = 10;
- pixmap->DrawText(cPoint(x, y), *text, colorText, colorTextBack, fontButtons);
+ pixmapText->DrawText(cPoint(x, y), *text, colorText, colorTextBack, fontButtons);
+}
+
+void cRecMenuItemButton::Hide(void) {
+ pixmap->SetLayer(-1);
+ pixmapText->SetLayer(-1);
+}
+
+void cRecMenuItemButton::Show(void) {
+ pixmap->SetLayer(4);
+ pixmapText->SetLayer(5);
}
eRecMenuState cRecMenuItemButton::ProcessKey(eKeys Key) {
@@ -673,7 +690,7 @@ void cRecMenuItemText::DrawValue(char *newValue) {
pixmapVal->Fill(clrBack);
int textX = pixmapVal->DrawPort().Width() - font->Width(newValue) - 10;
int textY = (pixmapVal->DrawPort().Height() - font->Height()) / 2;
- pixmapVal->DrawText(cPoint(textX, textY), newValue, colorText, clrTransparent, font);
+ pixmapVal->DrawText(cPoint(textX, textY), newValue, colorText, clrBack, font);
}
void cRecMenuItemText::ActivateKeyboard(void) {
@@ -736,7 +753,7 @@ void cRecMenuItemText::ActivateKeyboard(void) {
char *smsKeys = GetSMSKeys(num);
int smsKeysX = X + (gridWidth - fontSmall->Width(smsKeys))/2;
int smsKeysY = Y + gridHeight - fontSmall->Height() - 10;
- pixmapKeyboard->DrawText(cPoint(smsKeysX, smsKeysY), smsKeys, theme.Color(clrRecMenuKeyboardBorder), colorTextBack, fontSmall);
+ pixmapKeyboard->DrawText(cPoint(smsKeysX, smsKeysY), smsKeys, theme.Color(clrRecMenuKeyboardBorder), theme.Color(clrRecMenuKeyboardBack), fontSmall);
delete[] smsKeys;
}
if (drawIcon) {
diff --git a/recmenuitem.h b/recmenuitem.h
index 5b3aa2e..8cafed6 100644
--- a/recmenuitem.h
+++ b/recmenuitem.h
@@ -124,12 +124,15 @@ private:
bool halfWidth;
bool alignLeft;
const cFont *fontButtons;
+ cPixmap *pixmapText;
public:
cRecMenuItemButton(const char *text, eRecMenuState action, bool active, bool halfWidth = false, bool alignLeft = false, bool largeFont = false);
virtual ~cRecMenuItemButton(void);
int GetWidth(void);
void SetPixmaps(void);
void Draw(void);
+ void Hide(void);
+ void Show(void);
cString GetStringValue(void) { return text; };
eRecMenuState ProcessKey(eKeys Key);
};
diff --git a/themes/tvguide-default.theme b/themes/tvguide-default.theme
index 5fcaacc..3310cc3 100644
--- a/themes/tvguide-default.theme
+++ b/themes/tvguide-default.theme
@@ -38,7 +38,7 @@ clrRecMenuDayActive = FF00FF00
clrRecMenuDayInactive = FFFF0000
clrRecMenuDayHighlight = 44FFFFFF
clrRecMenuTextBack = FF000000
-clrRecMenuTextActiveBack = FF404749
+clrRecMenuTextActiveBack = FF939376
clrRecMenuKeyboardBack = FF000000
clrRecMenuKeyboardBorder = FFFFFFFF
clrRecMenuKeyboardHigh = 40BB0000
diff --git a/tvguideosd.c b/tvguideosd.c
index a10cd01..f1ab5b0 100644
--- a/tvguideosd.c
+++ b/tvguideosd.c
@@ -658,7 +658,7 @@ eOSState cTvGuideOsd::ProcessKey(eKeys Key) {
delete detailView;
detailView = NULL;
detailViewActive = false;
- processKeyBlue();
+ state = processKeyBlue();
} else {
state = detailView->ProcessKey(Key);
if (state == osEnd) {