diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2000-10-03 13:37:24 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2000-10-03 13:37:24 +0200 |
commit | 1c9122ae03f02f184a3fa0f1a09c62fa7a571e7c (patch) | |
tree | 6d0e3cb4fea1206fcad0313706ed012a05252c06 | |
parent | 38626b1210c4e7e9ce488589a3ad8ca3936550d0 (diff) | |
download | vdr-1c9122ae03f02f184a3fa0f1a09c62fa7a571e7c.tar.gz vdr-1c9122ae03f02f184a3fa0f1a09c62fa7a571e7c.tar.bz2 |
Displaying as much as possible of the current/next info (dropping characters that would display only partially)
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | dvbapi.c | 4 | ||||
-rw-r--r-- | dvbosd.c | 4 | ||||
-rw-r--r-- | interface.c | 11 |
4 files changed, 12 insertions, 9 deletions
@@ -216,3 +216,5 @@ Video Disk Recorder Revision History title. - The 'Recordings' menu now displays a '*' to indicate new recordings. - Added the description of the timers.conf file to the FORMATS file. +- Displaying as much as possible of the current/next info (dropping characters + that would display only partially). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbapi.c 1.29 2000/10/03 11:25:57 kls Exp $ + * $Id: dvbapi.c 1.30 2000/10/03 13:26:16 kls Exp $ */ #include "dvbapi.h" @@ -1583,7 +1583,7 @@ void cDvbApi::Text(int x, int y, const char *s, eDvbColor colorFg, eDvbColor col #ifdef DEBUG_OSD SetColor(colorFg, colorBg); wmove(window, y, x); // ncurses wants 'y' before 'x'! - waddstr(window, s); + waddnstr(window, s, cols - x); #else osd->Text(x * charWidth, y * lineHeight, s, colorFg, colorBg); #endif @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbosd.c 1.1 2000/10/03 10:10:28 kls Exp $ + * $Id: dvbosd.c 1.2 2000/10/03 13:34:13 kls Exp $ */ #include "dvbosd.h" @@ -81,6 +81,8 @@ void cBitmap::Text(int x, int y, const char *s, eDvbColor ColorFg, eDvbColor Col int h = font->Height(s); while (s && *s) { const cFont::tCharData *CharData = font->CharData(*s++); + if (int(x + CharData->width) > width) + break; for (int row = 0; row < h; row++) { cFont::tPixelData PixelData = CharData->lines[row]; for (int col = CharData->width; col-- > 0; ) { diff --git a/interface.c b/interface.c index 5758d358..a0fca0ea 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.20 2000/10/02 16:23:53 kls Exp $ + * $Id: interface.c 1.21 2000/10/03 13:28:02 kls Exp $ */ #include "interface.h" @@ -355,25 +355,24 @@ eKeys cInterface::DisplayChannel(int Number, const char *Name, bool WithInfo) } if (Lines > 0) { const int t = 6; - int w = MenuColumns - t; int l = 1; cDvbApi::PrimaryDvbApi->Fill(0, 1, MenuColumns, Lines, clrBackground); if (*RunningTitle) { Write(0, l, EIT.GetRunningTime(), clrYellow, clrBackground); - snprintf(buffer, BufSize, "%.*s", w, RunningTitle); Write(t, l, buffer, clrCyan, clrBackground); + Write(t, l, RunningTitle, clrCyan, clrBackground); l++; } if (*RunningSubtitle) { - snprintf(buffer, BufSize, "%.*s", w, RunningSubtitle); Write(t, l, buffer, clrCyan, clrBackground); + Write(t, l, RunningSubtitle, clrCyan, clrBackground); l++; } if (*NextTitle) { Write(0, l, EIT.GetNextTime(), clrYellow, clrBackground); - snprintf(buffer, BufSize, "%.*s", w, NextTitle); Write(t, l, buffer, clrCyan, clrBackground); + Write(t, l, NextTitle, clrCyan, clrBackground); l++; } if (*NextSubtitle) { - snprintf(buffer, BufSize, "%.*s", w, NextSubtitle); Write(t, l, buffer, clrCyan, clrBackground); + Write(t, l, NextSubtitle, clrCyan, clrBackground); } cDvbApi::PrimaryDvbApi->Flush(); } |