From fe7b03d6b5ecc1e3fbb2804fe179669f8f111c7a Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 26 Jan 2002 11:13:48 +0100 Subject: [PATCH] Improved speed of setting the Help button texts --- HISTORY | 3 ++- interface.c | 16 +++++++++------- osd.c | 6 ++---- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/HISTORY b/HISTORY index 2ae78f37..18b6e5ef 100644 --- a/HISTORY +++ b/HISTORY @@ -879,7 +879,7 @@ Video Disk Recorder Revision History - Fixed DVD audio sync problems (thanks to Andreas Schultz). - Fixed external AC3 replay for DVDs (thanks to Andreas Schultz). -2002-01-20: Version 0.99pre2 +2002-01-26: Version 0.99pre2 - Fixed setting the OSD size in the 'Confirm' interface call (thanks to Deti Fliegl). @@ -903,3 +903,4 @@ Video Disk Recorder Revision History - Now using a call to the 'ftw()' library function instead of an external 'find' command to collect the recordings (thanks to Emil Naepflein for his hint about this function). +- Improved speed of setting the Help button texts. diff --git a/interface.c b/interface.c index becf92cd..6fd5b214 100644 --- a/interface.c +++ b/interface.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: interface.c 1.45 2001/12/01 11:59:43 kls Exp $ + * $Id: interface.c 1.46 2002/01/26 11:09:58 kls Exp $ */ #include "interface.h" @@ -331,13 +331,15 @@ bool cInterface::Confirm(const char *s, int Seconds, bool WaitForTimeout) void cInterface::HelpButton(int Index, const char *Text, eDvbColor FgColor, eDvbColor BgColor) { - if (open && Text) { + if (open) { const int w = Width() / 4; - int l = (w - int(strlen(Text))) / 2; - if (l < 0) - l = 0; - cDvbApi::PrimaryDvbApi->Fill(Index * w, -1, w, 1, BgColor); - cDvbApi::PrimaryDvbApi->Text(Index * w + l, -1, Text, FgColor, BgColor); + cDvbApi::PrimaryDvbApi->Fill(Index * w, -1, w, 1, Text ? BgColor : clrBackground); + if (Text) { + int l = (w - int(strlen(Text))) / 2; + if (l < 0) + l = 0; + cDvbApi::PrimaryDvbApi->Text(Index * w + l, -1, Text, FgColor, BgColor); + } } } diff --git a/osd.c b/osd.c index 0e055771..0a825d7d 100644 --- a/osd.c +++ b/osd.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.c 1.19 2002/01/20 11:13:22 kls Exp $ + * $Id: osd.c 1.20 2002/01/26 11:09:58 kls Exp $ */ #include "osd.h" @@ -127,9 +127,7 @@ void cOsdMenu::SetHelp(const char *Red, const char *Green, const char *Yellow, c helpYellow = Yellow; helpBlue = Blue; if (visible) - Display(); - //XXX Interface->Help(helpRed, helpGreen, helpYellow, helpBlue); - //XXX must clear unused button areas! + Interface->Help(helpRed, helpGreen, helpYellow, helpBlue); } void cOsdMenu::Del(int Index)