From 98a3f2bf07adef23169aad381cdf46dfe34d671b Mon Sep 17 00:00:00 2001 From: louis Date: Fri, 8 Nov 2013 16:23:25 +0100 Subject: added possibility to add background image in freestyle themes for displaymenu header --- HISTORY | 2 ++ displaymenuview.c | 12 ++++++++---- icons/skinElements/header.png | Bin 5295 -> 0 bytes icons/skinElements/header_mirrored.png | Bin 5449 -> 0 bytes icons/skinElements/header_mirroredtop.png | Bin 0 -> 5449 bytes icons/skinElements/headertop.png | Bin 0 -> 5295 bytes imagecache.c | 15 +++++++++++++-- imagecache.h | 1 + 8 files changed, 24 insertions(+), 6 deletions(-) delete mode 100644 icons/skinElements/header.png delete mode 100644 icons/skinElements/header_mirrored.png create mode 100644 icons/skinElements/header_mirroredtop.png create mode 100644 icons/skinElements/headertop.png 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.png b/icons/skinElements/header.png deleted file mode 100644 index 2bc19a6..0000000 Binary files a/icons/skinElements/header.png and /dev/null differ diff --git a/icons/skinElements/header_mirrored.png b/icons/skinElements/header_mirrored.png deleted file mode 100644 index 6475b7a..0000000 Binary files a/icons/skinElements/header_mirrored.png and /dev/null differ diff --git a/icons/skinElements/header_mirroredtop.png b/icons/skinElements/header_mirroredtop.png new file mode 100644 index 0000000..6475b7a Binary files /dev/null and b/icons/skinElements/header_mirroredtop.png differ diff --git a/icons/skinElements/headertop.png b/icons/skinElements/headertop.png new file mode 100644 index 0000000..2bc19a6 Binary files /dev/null and b/icons/skinElements/headertop.png 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, -- cgit v1.2.3