summaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
authorAndreas Regel <andreas.regel@powarman.de>2004-06-13 23:00:00 +0200
committerAndreas Regel <andreas.regel@powarman.de>2004-06-13 23:00:00 +0200
commit1df133b2a0565a35c3b07e043bd04b449869a0cb (patch)
tree7e29cb4b4e7ed2143a96b06a114cf68320ca9a2e /patches
parent2e17045cd1b8abe771d136cbc3a815b547d32280 (diff)
downloadvdr-plugin-osdpip-1df133b2a0565a35c3b07e043bd04b449869a0cb.tar.gz
vdr-plugin-osdpip-1df133b2a0565a35c3b07e043bd04b449869a0cb.tar.bz2
Release version 0.0.5v0.0.5
- added support for VDR version 1.3.7 and later (VDR 1.2.6 is still supported, no guarantee for 1.3.0-1.3.6) - no patching required any longer with 1.3.7 and later - fixed info window colors if palette patch is not applied (VDR up to 1.3.6, index patch must be applied) - added german translations - added finnish translations (thanks to Rolf Ahrenberg)
Diffstat (limited to 'patches')
-rw-r--r--patches/vdr-1.2.6-256-indexes.diff76
-rw-r--r--patches/vdr-1.2.6-256-palette.diff137
-rw-r--r--patches/vdr-1.2.6-indexes.diff85
-rw-r--r--patches/vdr-1.2.6-palette.diff139
-rw-r--r--patches/vdr-1.2.6.diff77
-rw-r--r--patches/vdr-1.2.6_256.diff75
6 files changed, 437 insertions, 152 deletions
diff --git a/patches/vdr-1.2.6-256-indexes.diff b/patches/vdr-1.2.6-256-indexes.diff
new file mode 100644
index 0000000..5b5b5fa
--- /dev/null
+++ b/patches/vdr-1.2.6-256-indexes.diff
@@ -0,0 +1,76 @@
+--- vdrold/osdbase.c 2004-06-13 13:52:47.000000000 +0200
++++ vdr-1.2.6/osdbase.c 2004-06-13 13:49:23.000000000 +0200
+@@ -116,7 +116,7 @@
+ fontType = fontOsd;
+ font = NULL;
+ if (width > 0 && height > 0) {
+- bitmap = MALLOC(char, width * height);
++ bitmap = MALLOC(unsigned char, width * height);
+ if (bitmap) {
+ Clean();
+ memset(bitmap, 0x00, width * height);
+@@ -188,7 +188,7 @@
+ dirtyY2 = -1;
+ }
+
+-void cBitmap::SetIndex(int x, int y, char Index)
++void cBitmap::SetIndex(int x, int y, unsigned char Index)
+ {
+ if (bitmap) {
+ if (0 <= x && x < width && 0 <= y && y < height) {
+@@ -269,7 +269,7 @@
+ Fill(0, 0, width - 1, height - 1, clrBackground);
+ }
+
+-const char *cBitmap::Data(int x, int y)
++const unsigned char *cBitmap::Data(int x, int y)
+ {
+ return &bitmap[y * width + x];
+ }
+@@ -329,7 +329,7 @@
+ cBitmap::Text(x, y, s, ColorFg, ColorBg);
+ }
+
+-const char *cWindow::Data(int x, int y)
++const unsigned char *cWindow::Data(int x, int y)
+ {
+ return cBitmap::Data(x, y);
+ }
+--- vdrold/osdbase.h 2004-06-13 13:52:47.000000000 +0200
++++ vdr-1.2.6/osdbase.h 2004-06-13 13:48:49.000000000 +0200
+@@ -75,7 +75,7 @@
+ private:
+ cFont *font;
+ eDvbFont fontType;
+- char *bitmap;
++ unsigned char *bitmap;
+ bool clearWithBackground;
+ protected:
+ int width, height;
+@@ -86,7 +86,7 @@
+ bool ClearWithBackground(void) { return clearWithBackground; }
+ eDvbFont SetFont(eDvbFont Font);
+ bool Dirty(int &x1, int &y1, int &x2, int &y2);
+- void SetIndex(int x, int y, char Index);
++ void SetIndex(int x, int y, unsigned char Index);
+ void SetPixel(int x, int y, eDvbColor Color);
+ void SetBitmap(int x, int y, const cBitmap &Bitmap);
+ int Width(void) { return width; }
+@@ -97,7 +97,7 @@
+ void Fill(int x1, int y1, int x2, int y2, eDvbColor Color);
+ void Clean(void);
+ void Clear(void);
+- const char *Data(int x, int y);
++ const unsigned char *Data(int x, int y);
+ };
+
+ #define MAXNUMWINDOWS 7 // OSD windows are counted 1...7
+@@ -122,7 +122,7 @@
+ void Fill(int x1, int y1, int x2, int y2, eDvbColor Color);
+ void SetBitmap(int x, int y, const cBitmap &Bitmap);
+ void Text(int x, int y, const char *s, eDvbColor ColorFg = clrWhite, eDvbColor ColorBg = clrBackground);
+- const char *Data(int x, int y);
++ const unsigned char *Data(int x, int y);
+ };
+
+ typedef int tWindowHandle;
diff --git a/patches/vdr-1.2.6-256-palette.diff b/patches/vdr-1.2.6-256-palette.diff
new file mode 100644
index 0000000..1ea1c79
--- /dev/null
+++ b/patches/vdr-1.2.6-256-palette.diff
@@ -0,0 +1,137 @@
+--- vdrold/osdbase.c 2004-06-13 13:58:22.000000000 +0200
++++ vdr-1.2.6/osdbase.c 2004-06-13 14:01:26.000000000 +0200
+@@ -104,6 +104,12 @@
+ }
+ }
+
++void cPalette::Replace(const cPalette &Palette)
++{
++ for (int i = 0; i < Palette.numColors; i++)
++ SetColor(i, Palette.color[i]);
++}
++
+ // --- cBitmap ---------------------------------------------------------------
+
+ cBitmap::cBitmap(int Width, int Height, int Bpp, bool ClearWithBackground)
+@@ -116,7 +122,7 @@
+ fontType = fontOsd;
+ font = NULL;
+ if (width > 0 && height > 0) {
+- bitmap = MALLOC(char, width * height);
++ bitmap = MALLOC(unsigned char, width * height);
+ if (bitmap) {
+ Clean();
+ memset(bitmap, 0x00, width * height);
+@@ -188,7 +194,7 @@
+ dirtyY2 = -1;
+ }
+
+-void cBitmap::SetIndex(int x, int y, char Index)
++void cBitmap::SetIndex(int x, int y, unsigned char Index)
+ {
+ if (bitmap) {
+ if (0 <= x && x < width && 0 <= y && y < height) {
+@@ -220,6 +226,17 @@
+ }
+ }
+
++void cBitmap::SetBitmap256(int x, int y, const cBitmap &Bitmap)
++{
++ if (bitmap && Bitmap.bitmap) {
++ Replace(Bitmap);
++ for (int ix = 0; ix < Bitmap.width; ix++) {
++ for (int iy = 0; iy < Bitmap.height; iy++)
++ SetIndex(x + ix, y + iy, Bitmap.bitmap[Bitmap.width * iy + ix]);
++ }
++ }
++}
++
+ int cBitmap::Width(unsigned char c)
+ {
+ return font ? font->Width(c) : -1;
+@@ -269,7 +286,7 @@
+ Fill(0, 0, width - 1, height - 1, clrBackground);
+ }
+
+-const char *cBitmap::Data(int x, int y)
++const unsigned char *cBitmap::Data(int x, int y)
+ {
+ return &bitmap[y * width + x];
+ }
+@@ -317,7 +334,10 @@
+ x -= x0;
+ y -= y0;
+ }
+- cBitmap::SetBitmap(x, y, Bitmap);
++ if (bpp == 8)
++ cBitmap::SetBitmap256(x, y, Bitmap);
++ else
++ cBitmap::SetBitmap(x, y, Bitmap);
+ }
+
+ void cWindow::Text(int x, int y, const char *s, eDvbColor ColorFg, eDvbColor ColorBg)
+@@ -329,7 +349,7 @@
+ cBitmap::Text(x, y, s, ColorFg, ColorBg);
+ }
+
+-const char *cWindow::Data(int x, int y)
++const unsigned char *cWindow::Data(int x, int y)
+ {
+ return cBitmap::Data(x, y);
+ }
+--- vdrold/osdbase.h 2004-06-13 14:05:47.000000000 +0200
++++ vdr-1.2.6/osdbase.h 2004-06-13 13:59:45.000000000 +0200
+@@ -14,6 +14,7 @@
+ #include "font.h"
+
+ #define MAXNUMCOLORS 256
++#define VDR_OSDPIP_PATCHED
+
+ enum eDvbColor {
+ #ifdef DEBUG_OSD
+@@ -69,13 +70,14 @@
+ // stored yet, NumColors will be set to 0 and the function will
+ // return NULL.
+ void Take(const cPalette &Palette, tIndexes *Indexes = NULL);
++ void Replace(const cPalette &Palette);
+ };
+
+ class cBitmap : public cPalette {
+ private:
+ cFont *font;
+ eDvbFont fontType;
+- char *bitmap;
++ unsigned char *bitmap;
+ bool clearWithBackground;
+ protected:
+ int width, height;
+@@ -86,9 +88,10 @@
+ bool ClearWithBackground(void) { return clearWithBackground; }
+ eDvbFont SetFont(eDvbFont Font);
+ bool Dirty(int &x1, int &y1, int &x2, int &y2);
+- void SetIndex(int x, int y, char Index);
++ void SetIndex(int x, int y, unsigned char Index);
+ void SetPixel(int x, int y, eDvbColor Color);
+ void SetBitmap(int x, int y, const cBitmap &Bitmap);
++ void SetBitmap256(int x, int y, const cBitmap &Bitmap);
+ int Width(void) { return width; }
+ int Width(unsigned char c);
+ int Width(const char *s);
+@@ -97,7 +100,7 @@
+ void Fill(int x1, int y1, int x2, int y2, eDvbColor Color);
+ void Clean(void);
+ void Clear(void);
+- const char *Data(int x, int y);
++ const unsigned char *Data(int x, int y);
+ };
+
+ #define MAXNUMWINDOWS 7 // OSD windows are counted 1...7
+@@ -122,7 +125,7 @@
+ void Fill(int x1, int y1, int x2, int y2, eDvbColor Color);
+ void SetBitmap(int x, int y, const cBitmap &Bitmap);
+ void Text(int x, int y, const char *s, eDvbColor ColorFg = clrWhite, eDvbColor ColorBg = clrBackground);
+- const char *Data(int x, int y);
++ const unsigned char *Data(int x, int y);
+ };
+
+ typedef int tWindowHandle;
diff --git a/patches/vdr-1.2.6-indexes.diff b/patches/vdr-1.2.6-indexes.diff
new file mode 100644
index 0000000..26ec1be
--- /dev/null
+++ b/patches/vdr-1.2.6-indexes.diff
@@ -0,0 +1,85 @@
+--- vdrold/osdbase.c 2004-06-13 13:52:47.000000000 +0200
++++ vdr-1.2.6/osdbase.c 2004-06-13 13:49:23.000000000 +0200
+@@ -116,7 +116,7 @@
+ fontType = fontOsd;
+ font = NULL;
+ if (width > 0 && height > 0) {
+- bitmap = MALLOC(char, width * height);
++ bitmap = MALLOC(unsigned char, width * height);
+ if (bitmap) {
+ Clean();
+ memset(bitmap, 0x00, width * height);
+@@ -188,7 +188,7 @@
+ dirtyY2 = -1;
+ }
+
+-void cBitmap::SetIndex(int x, int y, char Index)
++void cBitmap::SetIndex(int x, int y, unsigned char Index)
+ {
+ if (bitmap) {
+ if (0 <= x && x < width && 0 <= y && y < height) {
+@@ -269,7 +269,7 @@
+ Fill(0, 0, width - 1, height - 1, clrBackground);
+ }
+
+-const char *cBitmap::Data(int x, int y)
++const unsigned char *cBitmap::Data(int x, int y)
+ {
+ return &bitmap[y * width + x];
+ }
+@@ -329,7 +329,7 @@
+ cBitmap::Text(x, y, s, ColorFg, ColorBg);
+ }
+
+-const char *cWindow::Data(int x, int y)
++const unsigned char *cWindow::Data(int x, int y)
+ {
+ return cBitmap::Data(x, y);
+ }
+--- vdrold/osdbase.h 2004-06-13 13:52:47.000000000 +0200
++++ vdr-1.2.6/osdbase.h 2004-06-13 13:48:49.000000000 +0200
+@@ -13,7 +13,7 @@
+ #include <stdio.h>
+ #include "font.h"
+
+-#define MAXNUMCOLORS 16
++#define MAXNUMCOLORS 256
+
+ enum eDvbColor {
+ #ifdef DEBUG_OSD
+@@ -75,7 +75,7 @@
+ private:
+ cFont *font;
+ eDvbFont fontType;
+- char *bitmap;
++ unsigned char *bitmap;
+ bool clearWithBackground;
+ protected:
+ int width, height;
+@@ -86,7 +86,7 @@
+ bool ClearWithBackground(void) { return clearWithBackground; }
+ eDvbFont SetFont(eDvbFont Font);
+ bool Dirty(int &x1, int &y1, int &x2, int &y2);
+- void SetIndex(int x, int y, char Index);
++ void SetIndex(int x, int y, unsigned char Index);
+ void SetPixel(int x, int y, eDvbColor Color);
+ void SetBitmap(int x, int y, const cBitmap &Bitmap);
+ int Width(void) { return width; }
+@@ -97,7 +97,7 @@
+ void Fill(int x1, int y1, int x2, int y2, eDvbColor Color);
+ void Clean(void);
+ void Clear(void);
+- const char *Data(int x, int y);
++ const unsigned char *Data(int x, int y);
+ };
+
+ #define MAXNUMWINDOWS 7 // OSD windows are counted 1...7
+@@ -122,7 +122,7 @@
+ void Fill(int x1, int y1, int x2, int y2, eDvbColor Color);
+ void SetBitmap(int x, int y, const cBitmap &Bitmap);
+ void Text(int x, int y, const char *s, eDvbColor ColorFg = clrWhite, eDvbColor ColorBg = clrBackground);
+- const char *Data(int x, int y);
++ const unsigned char *Data(int x, int y);
+ };
+
+ typedef int tWindowHandle;
diff --git a/patches/vdr-1.2.6-palette.diff b/patches/vdr-1.2.6-palette.diff
new file mode 100644
index 0000000..46559a9
--- /dev/null
+++ b/patches/vdr-1.2.6-palette.diff
@@ -0,0 +1,139 @@
+--- vdrold/osdbase.c 2004-06-13 13:58:22.000000000 +0200
++++ vdr-1.2.6/osdbase.c 2004-06-13 14:01:26.000000000 +0200
+@@ -104,6 +104,12 @@
+ }
+ }
+
++void cPalette::Replace(const cPalette &Palette)
++{
++ for (int i = 0; i < Palette.numColors; i++)
++ SetColor(i, Palette.color[i]);
++}
++
+ // --- cBitmap ---------------------------------------------------------------
+
+ cBitmap::cBitmap(int Width, int Height, int Bpp, bool ClearWithBackground)
+@@ -116,7 +122,7 @@
+ fontType = fontOsd;
+ font = NULL;
+ if (width > 0 && height > 0) {
+- bitmap = MALLOC(char, width * height);
++ bitmap = MALLOC(unsigned char, width * height);
+ if (bitmap) {
+ Clean();
+ memset(bitmap, 0x00, width * height);
+@@ -188,7 +194,7 @@
+ dirtyY2 = -1;
+ }
+
+-void cBitmap::SetIndex(int x, int y, char Index)
++void cBitmap::SetIndex(int x, int y, unsigned char Index)
+ {
+ if (bitmap) {
+ if (0 <= x && x < width && 0 <= y && y < height) {
+@@ -220,6 +226,17 @@
+ }
+ }
+
++void cBitmap::SetBitmap256(int x, int y, const cBitmap &Bitmap)
++{
++ if (bitmap && Bitmap.bitmap) {
++ Replace(Bitmap);
++ for (int ix = 0; ix < Bitmap.width; ix++) {
++ for (int iy = 0; iy < Bitmap.height; iy++)
++ SetIndex(x + ix, y + iy, Bitmap.bitmap[Bitmap.width * iy + ix]);
++ }
++ }
++}
++
+ int cBitmap::Width(unsigned char c)
+ {
+ return font ? font->Width(c) : -1;
+@@ -269,7 +286,7 @@
+ Fill(0, 0, width - 1, height - 1, clrBackground);
+ }
+
+-const char *cBitmap::Data(int x, int y)
++const unsigned char *cBitmap::Data(int x, int y)
+ {
+ return &bitmap[y * width + x];
+ }
+@@ -317,7 +334,10 @@
+ x -= x0;
+ y -= y0;
+ }
+- cBitmap::SetBitmap(x, y, Bitmap);
++ if (bpp == 8)
++ cBitmap::SetBitmap256(x, y, Bitmap);
++ else
++ cBitmap::SetBitmap(x, y, Bitmap);
+ }
+
+ void cWindow::Text(int x, int y, const char *s, eDvbColor ColorFg, eDvbColor ColorBg)
+@@ -329,7 +349,7 @@
+ cBitmap::Text(x, y, s, ColorFg, ColorBg);
+ }
+
+-const char *cWindow::Data(int x, int y)
++const unsigned char *cWindow::Data(int x, int y)
+ {
+ return cBitmap::Data(x, y);
+ }
+--- vdrold/osdbase.h 2004-06-13 14:05:47.000000000 +0200
++++ vdr-1.2.6/osdbase.h 2004-06-13 13:59:45.000000000 +0200
+@@ -13,7 +13,8 @@
+ #include <stdio.h>
+ #include "font.h"
+
+-#define MAXNUMCOLORS 16
++#define MAXNUMCOLORS 256
++#define VDR_OSDPIP_PATCHED
+
+ enum eDvbColor {
+ #ifdef DEBUG_OSD
+@@ -69,13 +70,14 @@
+ // stored yet, NumColors will be set to 0 and the function will
+ // return NULL.
+ void Take(const cPalette &Palette, tIndexes *Indexes = NULL);
++ void Replace(const cPalette &Palette);
+ };
+
+ class cBitmap : public cPalette {
+ private:
+ cFont *font;
+ eDvbFont fontType;
+- char *bitmap;
++ unsigned char *bitmap;
+ bool clearWithBackground;
+ protected:
+ int width, height;
+@@ -86,9 +88,10 @@
+ bool ClearWithBackground(void) { return clearWithBackground; }
+ eDvbFont SetFont(eDvbFont Font);
+ bool Dirty(int &x1, int &y1, int &x2, int &y2);
+- void SetIndex(int x, int y, char Index);
++ void SetIndex(int x, int y, unsigned char Index);
+ void SetPixel(int x, int y, eDvbColor Color);
+ void SetBitmap(int x, int y, const cBitmap &Bitmap);
++ void SetBitmap256(int x, int y, const cBitmap &Bitmap);
+ int Width(void) { return width; }
+ int Width(unsigned char c);
+ int Width(const char *s);
+@@ -97,7 +100,7 @@
+ void Fill(int x1, int y1, int x2, int y2, eDvbColor Color);
+ void Clean(void);
+ void Clear(void);
+- const char *Data(int x, int y);
++ const unsigned char *Data(int x, int y);
+ };
+
+ #define MAXNUMWINDOWS 7 // OSD windows are counted 1...7
+@@ -122,7 +125,7 @@
+ void Fill(int x1, int y1, int x2, int y2, eDvbColor Color);
+ void SetBitmap(int x, int y, const cBitmap &Bitmap);
+ void Text(int x, int y, const char *s, eDvbColor ColorFg = clrWhite, eDvbColor ColorBg = clrBackground);
+- const char *Data(int x, int y);
++ const unsigned char *Data(int x, int y);
+ };
+
+ typedef int tWindowHandle;
diff --git a/patches/vdr-1.2.6.diff b/patches/vdr-1.2.6.diff
deleted file mode 100644
index 5554889..0000000
--- a/patches/vdr-1.2.6.diff
+++ /dev/null
@@ -1,77 +0,0 @@
-diff -u vdr-1.2.6/osdbase.c vdr/osdbase.c
---- vdr-1.2.6/osdbase.c 2003-08-24 13:38:27.000000000 +0200
-+++ vdr/osdbase.c 2004-01-13 09:33:21.000000000 +0100
-@@ -104,6 +104,12 @@
- }
- }
-
-+void cPalette::Replace(const cPalette &Palette)
-+{
-+ for (int i = 0; i < Palette.numColors; i++)
-+ SetColor(i, Palette.color[i]);
-+}
-+
- // --- cBitmap ---------------------------------------------------------------
-
- cBitmap::cBitmap(int Width, int Height, int Bpp, bool ClearWithBackground)
-@@ -220,6 +226,17 @@
- }
- }
-
-+void cBitmap::SetBitmap256(int x, int y, const cBitmap &Bitmap)
-+{
-+ if (bitmap && Bitmap.bitmap) {
-+ Replace(Bitmap);
-+ for (int ix = 0; ix < Bitmap.width; ix++) {
-+ for (int iy = 0; iy < Bitmap.height; iy++)
-+ SetIndex(x + ix, y + iy, Bitmap.bitmap[Bitmap.width * iy + ix]);
-+ }
-+ }
-+}
-+
- int cBitmap::Width(unsigned char c)
- {
- return font ? font->Width(c) : -1;
-@@ -317,7 +334,10 @@
- x -= x0;
- y -= y0;
- }
-- cBitmap::SetBitmap(x, y, Bitmap);
-+ if (bpp == 8)
-+ cBitmap::SetBitmap256(x, y, Bitmap);
-+ else
-+ cBitmap::SetBitmap(x, y, Bitmap);
- }
-
- void cWindow::Text(int x, int y, const char *s, eDvbColor ColorFg, eDvbColor ColorBg)
-diff -u vdr-1.2.6/osdbase.h vdr/osdbase.h
---- vdr-1.2.6/osdbase.h 2002-09-08 16:12:41.000000000 +0200
-+++ vdr/osdbase.h 2004-01-13 09:22:24.000000000 +0100
-@@ -13,7 +13,8 @@
- #include <stdio.h>
- #include "font.h"
-
--#define MAXNUMCOLORS 16
-+#define MAXNUMCOLORS 256
-+#define VDR_OSDPIP_PATCHED
-
- enum eDvbColor {
- #ifdef DEBUG_OSD
-@@ -69,7 +70,8 @@
- // stored yet, NumColors will be set to 0 and the function will
- // return NULL.
- void Take(const cPalette &Palette, tIndexes *Indexes = NULL);
-- };
-+ void Replace(const cPalette &Palette);
-+};
-
- class cBitmap : public cPalette {
- private:
-@@ -89,6 +91,7 @@
- void SetIndex(int x, int y, char Index);
- void SetPixel(int x, int y, eDvbColor Color);
- void SetBitmap(int x, int y, const cBitmap &Bitmap);
-+ void SetBitmap256(int x, int y, const cBitmap &Bitmap);
- int Width(void) { return width; }
- int Width(unsigned char c);
- int Width(const char *s);
diff --git a/patches/vdr-1.2.6_256.diff b/patches/vdr-1.2.6_256.diff
deleted file mode 100644
index 843bbf5..0000000
--- a/patches/vdr-1.2.6_256.diff
+++ /dev/null
@@ -1,75 +0,0 @@
-diff -u vdr-1.2.6/osdbase.c vdr/osdbase.c
---- vdr-1.2.6/osdbase.c 2003-08-24 13:38:27.000000000 +0200
-+++ vdr/osdbase.c 2004-01-13 09:33:21.000000000 +0100
-@@ -104,6 +104,12 @@
- }
- }
-
-+void cPalette::Replace(const cPalette &Palette)
-+{
-+ for (int i = 0; i < Palette.numColors; i++)
-+ SetColor(i, Palette.color[i]);
-+}
-+
- // --- cBitmap ---------------------------------------------------------------
-
- cBitmap::cBitmap(int Width, int Height, int Bpp, bool ClearWithBackground)
-@@ -220,6 +226,17 @@
- }
- }
-
-+void cBitmap::SetBitmap256(int x, int y, const cBitmap &Bitmap)
-+{
-+ if (bitmap && Bitmap.bitmap) {
-+ Replace(Bitmap);
-+ for (int ix = 0; ix < Bitmap.width; ix++) {
-+ for (int iy = 0; iy < Bitmap.height; iy++)
-+ SetIndex(x + ix, y + iy, Bitmap.bitmap[Bitmap.width * iy + ix]);
-+ }
-+ }
-+}
-+
- int cBitmap::Width(unsigned char c)
- {
- return font ? font->Width(c) : -1;
-@@ -317,7 +334,10 @@
- x -= x0;
- y -= y0;
- }
-- cBitmap::SetBitmap(x, y, Bitmap);
-+ if (bpp == 8)
-+ cBitmap::SetBitmap256(x, y, Bitmap);
-+ else
-+ cBitmap::SetBitmap(x, y, Bitmap);
- }
-
- void cWindow::Text(int x, int y, const char *s, eDvbColor ColorFg, eDvbColor ColorBg)
-diff -u vdr-1.2.6/osdbase.h vdr/osdbase.h
---- vdr-1.2.6/osdbase.h 2002-09-08 16:12:41.000000000 +0200
-+++ vdr/osdbase.h 2004-01-13 09:22:24.000000000 +0100
-@@ -14,6 +14,7 @@
- #include "font.h"
-
- #define MAXNUMCOLORS 256
-+#define VDR_OSDPIP_PATCHED
-
- enum eDvbColor {
- #ifdef DEBUG_OSD
-@@ -69,7 +70,8 @@
- // stored yet, NumColors will be set to 0 and the function will
- // return NULL.
- void Take(const cPalette &Palette, tIndexes *Indexes = NULL);
-- };
-+ void Replace(const cPalette &Palette);
-+};
-
- class cBitmap : public cPalette {
- private:
-@@ -89,6 +91,7 @@
- void SetIndex(int x, int y, char Index);
- void SetPixel(int x, int y, eDvbColor Color);
- void SetBitmap(int x, int y, const cBitmap &Bitmap);
-+ void SetBitmap256(int x, int y, const cBitmap &Bitmap);
- int Width(void) { return width; }
- int Width(unsigned char c);
- int Width(const char *s);