summaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
Diffstat (limited to 'patches')
-rw-r--r--patches/vdr-1.2.6.diff77
-rw-r--r--patches/vdr-1.2.6_256.diff75
2 files changed, 152 insertions, 0 deletions
diff --git a/patches/vdr-1.2.6.diff b/patches/vdr-1.2.6.diff
new file mode 100644
index 0000000..5554889
--- /dev/null
+++ b/patches/vdr-1.2.6.diff
@@ -0,0 +1,77 @@
+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
new file mode 100644
index 0000000..843bbf5
--- /dev/null
+++ b/patches/vdr-1.2.6_256.diff
@@ -0,0 +1,75 @@
+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);