summaryrefslogtreecommitdiff
path: root/displaychannelview.c
diff options
context:
space:
mode:
Diffstat (limited to 'displaychannelview.c')
-rw-r--r--displaychannelview.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/displaychannelview.c b/displaychannelview.c
index bbf8fdb..e9041bd 100644
--- a/displaychannelview.c
+++ b/displaychannelview.c
@@ -31,6 +31,7 @@ cNopacityDisplayChannelView::~cNopacityDisplayChannelView() {
osd->DestroyPixmap(pixmapProgressBar);
osd->DestroyPixmap(pixmapEPGInfo);
osd->DestroyPixmap(pixmapStatusIcons);
+ osd->DestroyPixmap(pixmapStatusIconsBackground);
osd->DestroyPixmap(pixmapSourceInfo);
if (pixmapSignalStrength)
osd->DestroyPixmap(pixmapSignalStrength);
@@ -107,11 +108,11 @@ void cNopacityDisplayChannelView::CreatePixmaps(void) {
int statusIconX = geoManager->osdWidth
- config.GetValue("channelBorderVertical")
- statusIconsWidth
- - 2*statusIconBorder;
+ - 3*statusIconBorder;
if (config.GetValue("logoPosition") == lpRight)
statusIconX -= geoManager->channelLogoWidthTotal;
- pixmapStatusIcons = osd->CreatePixmap(2,
+ pixmapStatusIcons = osd->CreatePixmap(3,
cRect(statusIconX,
geoManager->channelTop + geoManager->channelHeaderHeight +
geoManager->channelProgressBarHeight +
@@ -119,6 +120,14 @@ void cNopacityDisplayChannelView::CreatePixmaps(void) {
statusIconsWidth,
geoManager->channelFooterHeight)
);
+ pixmapStatusIconsBackground = osd->CreatePixmap(2,
+ cRect(statusIconX - 2*statusIconBorder,
+ geoManager->channelTop + geoManager->channelHeaderHeight +
+ geoManager->channelProgressBarHeight +
+ geoManager->channelEpgInfoHeight + 1,
+ statusIconsWidth + 3*statusIconBorder,
+ geoManager->channelFooterHeight - 2)
+ );
int sourceInfoX = geoManager->channelContentX + 2 * statusIconBorder;
if (config.GetValue("displaySignalStrength"))
sourceInfoX +=geoManager->channelWidth * 0.2;
@@ -141,6 +150,7 @@ void cNopacityDisplayChannelView::CreatePixmaps(void) {
pixmapProgressBar->SetAlpha(0);
pixmapEPGInfo->SetAlpha(0);
pixmapStatusIcons->SetAlpha(0);
+ pixmapStatusIconsBackground->SetAlpha(0);
pixmapSourceInfo->SetAlpha(0);
} else {
int alphaBack = (100 - config.GetValue("channelBackgroundTransparency"))*255/100;
@@ -159,6 +169,7 @@ void cNopacityDisplayChannelView::SetAlpha(int alpha) {
pixmapProgressBar->SetAlpha(alpha);
pixmapEPGInfo->SetAlpha(alpha);
pixmapStatusIcons->SetAlpha(alpha);
+ pixmapStatusIconsBackground->SetAlpha(alpha);
pixmapSourceInfo->SetAlpha(alpha);
if (pixmapSignalStrength)
pixmapSignalStrength->SetAlpha(alpha);
@@ -429,6 +440,15 @@ void cNopacityDisplayChannelView::ClearEPGInfo(void) {
}
void cNopacityDisplayChannelView::DrawStatusIcons(const cChannel *Channel) {
+ pixmapStatusIconsBackground->Fill(Theme.Color(clrStatusIconsBack));
+ DrawRoundedCorners(pixmapStatusIconsBackground,
+ 5,
+ 0,
+ 0,
+ pixmapStatusIconsBackground->ViewPort().Width(),
+ pixmapStatusIconsBackground->ViewPort().Height()
+ );
+
isRadioChannel = ((!Channel->Vpid())&&(Channel->Apid(0)))?true:false;
int iconX = 0;
@@ -538,6 +558,7 @@ cString cNopacityDisplayChannelView::GetScreenResolutionIcon(void) {
void cNopacityDisplayChannelView::ClearStatusIcons(void) {
pixmapStatusIcons->Fill(clrTransparent);
+ pixmapStatusIconsBackground->Fill(clrTransparent);
}
void cNopacityDisplayChannelView::DrawPoster(const cEvent *event, bool initial) {