diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2008-02-23 10:50:28 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2008-02-23 10:50:28 +0100 |
commit | 1b1267674f2b1d632097e60f1284f6ba97b10e00 (patch) | |
tree | d9df8a751ede3fa32a57bbffbb22e9fbc535fe49 /skinclassic.c | |
parent | 3a704841210fa2b939e0158e29e79333da5817e7 (diff) | |
download | vdr-1b1267674f2b1d632097e60f1284f6ba97b10e00.tar.gz vdr-1b1267674f2b1d632097e60f1284f6ba97b10e00.tar.bz2 |
The scrollbar handle now always has a height that is at least the width of the scrollbar
Diffstat (limited to 'skinclassic.c')
-rw-r--r-- | skinclassic.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/skinclassic.c b/skinclassic.c index 30d7fc65..6c36278b 100644 --- a/skinclassic.c +++ b/skinclassic.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: skinclassic.c 1.26 2008/02/22 16:56:29 kls Exp $ + * $Id: skinclassic.c 1.27 2008/02/23 10:31:58 kls Exp $ */ #include "skinclassic.h" @@ -236,8 +236,9 @@ void cSkinClassicDisplayMenu::DrawScrollbar(int Total, int Offset, int Shown, in int yb = yt + Height; int st = yt; int sb = yb; - int tt = st + (sb - st) * double(Offset) / Total + 0.5; - int tb = tt + (sb - st) * double(Shown) / Total + 0.5; + int th = max(int((sb - st) * double(Shown) / Total + 0.5), ScrollWidth); + int tt = min(int(st + (sb - st) * double(Offset) / Total + 0.5), sb - th); + int tb = min(tt + th, sb); int xl = x3 - ScrollWidth; osd->DrawRectangle(xl, st, x3 - 1, sb - 1, Theme.Color(clrMenuScrollbarTotal)); osd->DrawRectangle(xl, tt, x3 - 1, tb - 1, Theme.Color(clrMenuScrollbarShown)); |