diff options
Diffstat (limited to 'statusheader.c')
-rw-r--r-- | statusheader.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/statusheader.c b/statusheader.c index ecb2363..107cf22 100644 --- a/statusheader.c +++ b/statusheader.c @@ -10,14 +10,27 @@ cStatusHeader::cStatusHeader(void) { } else {
width = tvguideConfig.osdWidth;
}
+ int tvFrameWidth = tvguideConfig.osdWidth - width;
+ int radius = tvguideConfig.statusHeaderHeight / 8;
pixmap = osdManager.requestPixmap(1, cRect(0, 0, width, height));
pixmapText = osdManager.requestPixmap(2, cRect(0, 0, width, height));
pixmapText->Fill(clrTransparent);
+
+ pixmapTVFrame = osdManager.requestPixmap(1, cRect(width, 0, tvFrameWidth, height));
+ pixmapTVFrame->Fill(clrTransparent);
+ if (tvguideConfig.decorateVideo) {
+ pixmapTVFrame->DrawEllipse(cRect(0,0,radius,radius), theme.Color(clrBackground), -2);
+ pixmapTVFrame->DrawEllipse(cRect(tvFrameWidth - radius, 0, radius, radius), theme.Color(clrBackground), -1);
+ pixmapTVFrame->DrawEllipse(cRect(0, height - radius, radius, radius), theme.Color(clrBackground), -3);
+ pixmapTVFrame->DrawEllipse(cRect(tvFrameWidth - radius, height - radius, radius, radius), theme.Color(clrBackground), -4);
+ }
drawBackground();
drawBorder();
}
cStatusHeader::~cStatusHeader(void) {
+ osdManager.releasePixmap(pixmapText);
+ osdManager.releasePixmap(pixmapTVFrame);
if (tvguideConfig.scaleVideo) {
cRect vidWin = cDevice::PrimaryDevice()->CanScaleVideo(cRect::Null);
cDevice::PrimaryDevice()->ScaleVideo(vidWin);
@@ -71,4 +84,4 @@ void cStatusHeader::DrawInfoText(cGrid *grid) { y += (heightText - tvguideConfig.FontStatusHeaderLarge->Height() - 2*border)/2;
pixmapText->DrawText(cPoint(x,y), *grid->getText(), theme.Color(clrFont), clrTransparent, tvguideConfig.FontStatusHeaderLarge);
}
-}
\ No newline at end of file +}
|