summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY2
-rw-r--r--displaymenuview.c12
-rw-r--r--icons/skinElements/header_mirroredtop.png (renamed from icons/skinElements/header_mirrored.png)bin5449 -> 5449 bytes
-rw-r--r--icons/skinElements/headertop.png (renamed from icons/skinElements/header.png)bin5295 -> 5295 bytes
-rw-r--r--imagecache.c15
-rw-r--r--imagecache.h1
6 files changed, 24 insertions, 6 deletions
diff --git a/HISTORY b/HISTORY
index 2118cd6..a91cdb5 100644
--- a/HISTORY
+++ b/HISTORY
@@ -354,3 +354,5 @@ Version 0.1.4
automatically
- fixed a bug that rounded corners of color buttons in menus were
not drawn correctly
+- added possibility to add background image in freestyle themes
+ in displaymenu header (headerback.png, header_mirroredback.png)
diff --git a/displaymenuview.c b/displaymenuview.c
index 269e3e2..530f08f 100644
--- a/displaymenuview.c
+++ b/displaymenuview.c
@@ -284,10 +284,14 @@ const cFont *cNopacityDisplayMenuView::GetTextAreaFont(bool FixedFont) {
void cNopacityDisplayMenuView::DrawBorderDecoration() {
if (config.GetValue("displayType") == dtGraphical) {
- pixmapHeader->Fill(Theme.Color(clrMenuBack));
- cImage *headerImage = imgCache->GetSkinElement(seMenuHeader);
- if (headerImage)
- pixmapHeaderForeground->DrawImage(cPoint(0, 0), *headerImage);
+ cImage *headerImageBack = imgCache->GetSkinElement(seMenuHeader);
+ if (headerImageBack)
+ pixmapHeader->DrawImage(cPoint(0, 0), *headerImageBack);
+ else
+ pixmapHeader->Fill(Theme.Color(clrMenuBack));
+ cImage *headerImageTop = imgCache->GetSkinElement(seMenuHeaderTop);
+ if (headerImageTop)
+ pixmapHeaderForeground->DrawImage(cPoint(0, 0), *headerImageTop);
else
pixmapHeaderForeground->Fill(clrTransparent);
} else if (config.GetValue("displayType") == dtBlending) {
diff --git a/icons/skinElements/header_mirrored.png b/icons/skinElements/header_mirroredtop.png
index 6475b7a..6475b7a 100644
--- a/icons/skinElements/header_mirrored.png
+++ b/icons/skinElements/header_mirroredtop.png
Binary files differ
diff --git a/icons/skinElements/header.png b/icons/skinElements/headertop.png
index 2bc19a6..2bc19a6 100644
--- a/icons/skinElements/header.png
+++ b/icons/skinElements/headertop.png
Binary files differ
diff --git a/imagecache.c b/imagecache.c
index 9162d7d..5b6cbcf 100644
--- a/imagecache.c
+++ b/imagecache.c
@@ -588,8 +588,19 @@ void cImageCache::CreateSkinElementsGraphics(void) {
InsertIntoSkinElementCache(seButtonBlue, geoManager->menuButtonWidth, geoManager->menuButtonHeight);
//Menu Header
- std::string imgHeader = "skinElements/header";
- success = LoadIcon(ctSkinElement, imgHeader);
+ bool mirrorHeader = (config.GetValue("menuAdjustLeft")) ? false : true;
+ std::string imgHeaderTop, imgHeaderBack;
+ if (!mirrorHeader) {
+ imgHeaderTop = "skinElements/headertop";
+ imgHeaderBack = "skinElements/headerback";
+ } else {
+ imgHeaderTop = "skinElements/header_mirroredtop";
+ imgHeaderBack = "skinElements/header_mirroredback";
+ }
+ success = LoadIcon(ctSkinElement, imgHeaderTop);
+ if (success)
+ InsertIntoSkinElementCache(seMenuHeaderTop, geoManager->osdWidth, geoManager->menuHeaderHeight);
+ success = LoadIcon(ctSkinElement, imgHeaderBack);
if (success)
InsertIntoSkinElementCache(seMenuHeader, geoManager->osdWidth, geoManager->menuHeaderHeight);
diff --git a/imagecache.h b/imagecache.h
index 7ba7f09..54a106d 100644
--- a/imagecache.h
+++ b/imagecache.h
@@ -50,6 +50,7 @@ enum eSkinElementType {
seButtonYellow,
seButtonBlue,
seMenuHeader,
+ seMenuHeaderTop,
seChannelBackground,
seChannelTop,
seChannelLogoBack,