Displaying as much as possible of the current/next info (dropping characters that would display only partially)

This commit is contained in:
Klaus Schmidinger 2000-10-03 13:37:24 +02:00
parent 38626b1210
commit 1c9122ae03
4 changed files with 12 additions and 9 deletions

View File

@ -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).

View File

@ -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

View File

@ -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; ) {

View File

@ -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();
}