summaryrefslogtreecommitdiff
path: root/epggrid.c
diff options
context:
space:
mode:
Diffstat (limited to 'epggrid.c')
-rw-r--r--epggrid.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/epggrid.c b/epggrid.c
index 897851f..2c789ae 100644
--- a/epggrid.c
+++ b/epggrid.c
@@ -169,13 +169,17 @@ void cEpgGrid::drawText() {
void cEpgGrid::drawIcon(cString iconText, tColor color) {
- const cFont *font = (config.displayMode == eVertical)
- ?fontManager.FontGrid
- :fontManager.FontGridHorizontalSmall;
- int textWidth = font->Width(*iconText)+2*borderWidth;
- int textHeight = font->Height()+10;
- pixmap->DrawRectangle( cRect(Width() - textWidth - borderWidth, Height() - textHeight - borderWidth, textWidth, textHeight), color);
- pixmap->DrawText(cPoint(Width() - textWidth, Height() - textHeight - borderWidth/2), *iconText, theme.Color(clrFont), color, font);
+ const cFont *font = (config.displayMode == eVertical) ? fontManager.FontGrid : fontManager.FontGridHorizontalSmall;
+ int textWidth = font->Width(*iconText) + 2 * borderWidth;
+ int textHeight = font->Height() + 10;
+ if ((config.displayMode == eHorizontal) && ((Width() - 2 * textWidth) < 0))
+ pixmap->DrawEllipse( cRect(Width() - textHeight / 2 - borderWidth, Height() - textHeight - borderWidth, textHeight / 2, textHeight / 2), color);
+ else if ((config.displayMode == eVertical) && ((Height() - 2 * textHeight) < 0))
+ pixmap->DrawEllipse( cRect(Width() - textHeight / 2 - borderWidth, borderWidth, textHeight / 2, textHeight / 2), color);
+ else {
+ pixmap->DrawEllipse( cRect(Width() - textWidth - borderWidth, Height() - textHeight - borderWidth, textWidth, textHeight), color);
+ pixmap->DrawText(cPoint(Width() - textWidth, Height() - textHeight - borderWidth / 2), *iconText, theme.Color(clrFont), clrTransparent, font);
+ }
}
cString cEpgGrid::getTimeString(void) {