diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-06-16 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-06-16 18:00:00 +0200 |
commit | f06d2c27fca449148d9d8fac19d81c668744f170 (patch) | |
tree | 8f21a604339719672bf7ab8b6e9d69bfa1817ac5 /osdbase.c | |
parent | d07e3829f7c44d713b2677ef73f864af80b3dea3 (diff) | |
download | vdr-patch-lnbsharing-f06d2c27fca449148d9d8fac19d81c668744f170.tar.gz vdr-patch-lnbsharing-f06d2c27fca449148d9d8fac19d81c668744f170.tar.bz2 |
Version 1.1.3vdr-1.1.3
- Improved the VDR Makefile to avoid a warning if the '.dependencies' file does
not exist, and also using $(MAKE) to call recursive makes.
- Changed the name of the 'package' target in the plugin Makefiles to 'dist'
(following the suggestions in the "GNU Make" manual). If you already have started
a plugin project, you may want to change this in your Makefile accordingly.
- Improved the plugin Makefile to avoid a warning if the '.dependencies' file does
not exist, and also using $(shell...) to get the version numbers. If you already have
started a plugin project, you may want to change this in your Makefile accordingly.
- Fixed some function headers to make them compile with gcc 3.x (thanks to
Gregoire Favre).
- Fixed the cutting mechanism to make it re-sync in case a frame is larger than the
buffer (thanks to Sven Grothklags).
- Added an error message if the directory specified in the '-L' option can't be
accessed (suggested by Stefan Huelswitt).
- Rearranged OSD class names to make 'cOsd' available for the main OSD interface.
- Completely moved OSD handling out of the cDvbApi class, into the new cOsd.
- Implemented cStatus to allow plugins to set up a status monitor.
See PLUGINS.html for details.
- Moved the cEITScanner out of dvbapi.h/.c, into the new eitscan.h/.c.
- Added Swedish language texts (thanks to Tomas Prybil).
- Fixed parsing 'E' records in epg2html.pl (thanks to Matthias Fechner for pointing
out this one).
- Removed compiler option '-m486' to make it work on non-Intel platforms. If you
have already started a plugin project, you may want to make sure you remove this
option from your existing Makefile.
- Completely rearranged the recording and replay functions to make them available
to plugins.
- Replay is now done in a single thread (no more syncing between input and output
thread necessary).
- It is now possible to record several channels on the same transponder with "budget
cards". VDR automatically attaches a recording timer to a card that already
records on the appropriate transponder. How many parallel recordings can actually
be done depends on the computer's performance. Currently any number of recordings
gets attached to a card, so you should carefully plan your timers to not exceed
the limit. On a K6-II/450 it was possible to record three channels from transponder
12480 with a single WinTV NOVA-S.
- Timers that record two successive shows on the same channel may now overlap and
will use the same DVB card. During the time where both timers record the data
is simply saved to both files.
- The following limitations apply to this version:
+ Transfer mode doesn't work yet.
+ The '-a' option (for Dolby Digital audio) doesn't work yet.
+ Switching between different language tracks doesn't work yet.
+ Cutting doesn't work yet.
Diffstat (limited to 'osdbase.c')
-rw-r--r-- | osdbase.c | 38 |
1 files changed, 19 insertions, 19 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osdbase.c 1.2 2002/05/13 16:30:59 kls Exp $ + * $Id: osdbase.c 1.4 2002/05/18 12:39:16 kls Exp $ */ #include "osdbase.h" @@ -316,22 +316,22 @@ const char *cWindow::Data(int x, int y) return cBitmap::Data(x, y); } -// --- cOsd ------------------------------------------------------------------ +// --- cOsdBase -------------------------------------------------------------- -cOsd::cOsd(int x, int y) +cOsdBase::cOsdBase(int x, int y) { numWindows = 0; x0 = x; y0 = y; } -cOsd::~cOsd() +cOsdBase::~cOsdBase() { for (int i = 0; i < numWindows; i++) delete window[i]; } -tWindowHandle cOsd::Create(int x, int y, int w, int h, int Bpp, bool ClearWithBackground, bool Tiled) +tWindowHandle cOsdBase::Create(int x, int y, int w, int h, int Bpp, bool ClearWithBackground, bool Tiled) { if (numWindows < MAXNUMWINDOWS) { if (x >= 0 && y >= 0 && w > 0 && h > 0 && (Bpp == 1 || Bpp == 2 || Bpp == 4 || Bpp == 8)) { @@ -356,7 +356,7 @@ tWindowHandle cOsd::Create(int x, int y, int w, int h, int Bpp, bool ClearWithBa return -1; } -void cOsd::AddColor(eDvbColor Color, tWindowHandle Window) +void cOsdBase::AddColor(eDvbColor Color, tWindowHandle Window) { cWindow *w = GetWindow(Window); if (w) { @@ -365,7 +365,7 @@ void cOsd::AddColor(eDvbColor Color, tWindowHandle Window) } } -cWindow *cOsd::GetWindow(int x, int y) +cWindow *cOsdBase::GetWindow(int x, int y) { for (int i = 0; i < numWindows; i++) { if (window[i]->Tiled() && window[i]->Contains(x, y)) @@ -374,7 +374,7 @@ cWindow *cOsd::GetWindow(int x, int y) return NULL; } -cWindow *cOsd::GetWindow(tWindowHandle Window) +cWindow *cOsdBase::GetWindow(tWindowHandle Window) { if (0 <= Window && Window < numWindows) return window[Window]; @@ -383,7 +383,7 @@ cWindow *cOsd::GetWindow(tWindowHandle Window) return NULL; } -void cOsd::Flush(void) +void cOsdBase::Flush(void) { for (int i = 0; i < numWindows; i++) { CommitWindow(window[i]); @@ -396,7 +396,7 @@ void cOsd::Flush(void) } } -void cOsd::Clear(tWindowHandle Window) +void cOsdBase::Clear(tWindowHandle Window) { if (Window == ALL_TILED_WINDOWS || Window == ALL_WINDOWS) { for (int i = 0; i < numWindows; i++) @@ -410,31 +410,31 @@ void cOsd::Clear(tWindowHandle Window) } } -void cOsd::Fill(int x1, int y1, int x2, int y2, eDvbColor Color, tWindowHandle Window) +void cOsdBase::Fill(int x1, int y1, int x2, int y2, eDvbColor Color, tWindowHandle Window) { cWindow *w = (Window == ALL_TILED_WINDOWS) ? GetWindow(x1, y1) : GetWindow(Window); if (w) w->Fill(x1, y1, x2, y2, Color); } -void cOsd::SetBitmap(int x, int y, const cBitmap &Bitmap, tWindowHandle Window) +void cOsdBase::SetBitmap(int x, int y, const cBitmap &Bitmap, tWindowHandle Window) { cWindow *w = (Window == ALL_TILED_WINDOWS) ? GetWindow(x, y) : GetWindow(Window); if (w) w->SetBitmap(x, y, Bitmap); } -int cOsd::Width(unsigned char c) +int cOsdBase::Width(unsigned char c) { return numWindows ? window[0]->Width(c) : 0; } -int cOsd::Width(const char *s) +int cOsdBase::Width(const char *s) { return numWindows ? window[0]->Width(s) : 0; } -eDvbFont cOsd::SetFont(eDvbFont Font) +eDvbFont cOsdBase::SetFont(eDvbFont Font) { eDvbFont oldFont = Font; for (int i = 0; i < numWindows; i++) @@ -442,14 +442,14 @@ eDvbFont cOsd::SetFont(eDvbFont Font) return oldFont; } -void cOsd::Text(int x, int y, const char *s, eDvbColor ColorFg = clrWhite, eDvbColor ColorBg = clrBackground, tWindowHandle Window) +void cOsdBase::Text(int x, int y, const char *s, eDvbColor ColorFg, eDvbColor ColorBg, tWindowHandle Window) { cWindow *w = (Window == ALL_TILED_WINDOWS) ? GetWindow(x, y) : GetWindow(Window); if (w) w->Text(x, y, s, ColorFg, ColorBg); } -void cOsd::Relocate(tWindowHandle Window, int x, int y, int NewWidth, int NewHeight) +void cOsdBase::Relocate(tWindowHandle Window, int x, int y, int NewWidth, int NewHeight) { cWindow *w = GetWindow(Window); if (w) { @@ -471,12 +471,12 @@ void cOsd::Relocate(tWindowHandle Window, int x, int y, int NewWidth, int NewHei } } -void cOsd::Hide(tWindowHandle Window) +void cOsdBase::Hide(tWindowHandle Window) { HideWindow(GetWindow(Window), true); } -void cOsd::Show(tWindowHandle Window) +void cOsdBase::Show(tWindowHandle Window) { HideWindow(GetWindow(Window), false); } |