summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2000-10-03 13:37:24 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2000-10-03 13:37:24 +0200
commit1c9122ae03f02f184a3fa0f1a09c62fa7a571e7c (patch)
tree6d0e3cb4fea1206fcad0313706ed012a05252c06
parent38626b1210c4e7e9ce488589a3ad8ca3936550d0 (diff)
downloadvdr-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--HISTORY2
-rw-r--r--dvbapi.c4
-rw-r--r--dvbosd.c4
-rw-r--r--interface.c11
4 files changed, 12 insertions, 9 deletions
diff --git a/HISTORY b/HISTORY
index bae1fc7b..ce02264c 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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).
diff --git a/dvbapi.c b/dvbapi.c
index 9cc2d47e..04873fcc 100644
--- a/dvbapi.c
+++ b/dvbapi.c
@@ -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
diff --git a/dvbosd.c b/dvbosd.c
index 2ab01bc3..1e2c354e 100644
--- a/dvbosd.c
+++ b/dvbosd.c
@@ -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();
}