summaryrefslogtreecommitdiff
path: root/plugins/tvonscreen/patches/tvonscreen-1.0.141-1.5.3.diff
blob: 64e512b09445f391f6fd60e105a4c221213f8920 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#! /bin/sh /usr/share/dpatch/dpatch-run
## 90_tvonscreen-1.0.141-1.5.3.dpatch by Thomas Günther <tom@toms-cafe.de>
## http://toms-cafe.de/vdr/download/tvonscreen-1.0.141-1.5.3.diff
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Changes for VDR >= 1.5.3.

@DPATCH@
diff -Naurp tvonscreen-1.0.141/anyfont.c tvonscreen-1.0.141-vdr153/anyfont.c
--- tvonscreen-1.0.141/anyfont.c	2004-07-08 13:54:56.000000000 +0000
+++ tvonscreen-1.0.141-vdr153/anyfont.c	2007-09-14 12:46:58.000000000 +0000
@@ -10,20 +10,36 @@
 #include "anyfont.h"
 #include "magazine.h"
 
-#if VDRVERSNUM >= 10307
+#if VDRVERSNUM >= 10503
+anyFont::anyFont(cOsd *_osd,int fheight,int transparent)
+#elif VDRVERSNUM >= 10307
 anyFont::anyFont(cOsd *_osd,const cFont::tPixelData *fd,int fheight,int transparent)
 #else
 anyFont::anyFont(cOsdBase *_osd,const cFont::tPixelData *fd,int fheight,int transparent)
 #endif
 {
 	osd=_osd;
+#if VDRVERSNUM >= 10503
+#if VDRVERSNUM >= 10504
+	Font = cFont::CreateFont(Setup.FontOsd, fheight);
+#else
+	Font = new cFreetypeFont(*AddDirectory(FONTDIR, Setup.FontOsd, fheight);
+#endif
+	if (!Font || !Font->Height())
+		Font = cFont::GetFont(fontSml);
+#else
 	FontData=fd;
 	FontHeight=fheight;
+#endif
 	trans=transparent;
 }
 int anyFont::Height(void)
 {
+#if VDRVERSNUM >= 10503
+	return Font->Height();
+#else
 	return FontHeight-2-2;
+#endif
 }
 int anyFont::Width(const char *txt) 
 {
@@ -39,21 +55,29 @@ int anyFont::LargeWidth(const char *txt)
 }
 int anyFont::Width(char c) 
 {
+#if VDRVERSNUM >= 10503
+	return Font->Width(c);
+#else
 	if ((int)FontData[(((unsigned char)c)-32)*(FontHeight)]>100)
 	{
 		mzlog(1," big letter error %c: %d",c,(int)FontData[(((unsigned char)c)-32)*(FontHeight)]);
 		return 100;
 	}
 	return (int)FontData[(((unsigned char)c)-32)*(FontHeight)];
+#endif
 }
 int anyFont::LargeWidth(char c) 
 {
+#if VDRVERSNUM >= 10503
+	return Font->Width(c);
+#else
 	if ((int)FontData[(((unsigned char)c)-32)*(FontHeight)]>100)
 	{
 		mzlog(1," big letter error %c: %d",c,(int)FontData[(((unsigned char)c)-32)*(FontHeight)]);
 		return 100;
 	}
 	return (int)FontData[(((unsigned char)c)-32)*(FontHeight)]*2;
+#endif
 }
 #if VDRVERSNUM >= 10307
 int anyFont::Text(int x, int y, const char *txt, tColor fg, tColor bg)
@@ -61,6 +85,10 @@ int anyFont::Text(int x, int y, const ch
 int anyFont::Text(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh) 
 #endif
 {
+#if VDRVERSNUM >= 10503
+	osd->DrawText(x, y, txt, fg, trans ? clrTransparent : bg, Font);
+	return x += Font->Width(txt);
+#else
 	unsigned int pxl;
 	int row,col;
 
@@ -85,6 +113,7 @@ int anyFont::Text(int x, int y, const ch
 		x += Width(*txt++);
 	}
 	return x;
+#endif
 }
 #if VDRVERSNUM >= 10307
 int anyFont::LargeText(int x, int y, const char *txt, tColor fg, tColor bg)
@@ -92,6 +121,10 @@ int anyFont::LargeText(int x, int y, con
 int anyFont::LargeText(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh) 
 #endif
 {
+#if VDRVERSNUM >= 10503
+	osd->DrawText(x, y, txt, fg, trans ? clrTransparent : bg, Font);
+	return x + Font->Width(txt);
+#else
 	unsigned int pxl;
 	int row,col;
 
@@ -116,6 +149,7 @@ int anyFont::LargeText(int x, int y, con
 		x += LargeWidth(*txt++);
 	}
 	return x;
+#endif
 }
 #if VDRVERSNUM >= 10307
 int anyFont::Text(int x, int y, int w, int h, const char *txt, tColor fg, tColor bg)
diff -Naurp tvonscreen-1.0.141/anyfont.h tvonscreen-1.0.141-vdr153/anyfont.h
--- tvonscreen-1.0.141/anyfont.h	2004-07-08 13:54:56.000000000 +0000
+++ tvonscreen-1.0.141-vdr153/anyfont.h	2007-09-14 12:47:38.000000000 +0000
@@ -19,11 +19,17 @@ class anyFont
 #else
 	cOsdBase *osd;
 #endif
+#if VDRVERSNUM >= 10503
+	const cFont *Font;
+#else
 	const cFont::tPixelData *FontData;
 	int FontHeight;
+#endif
 	int trans;
 public:
-#if VDRVERSNUM >= 10307
+#if VDRVERSNUM >= 10503
+	anyFont(cOsd *o,int fheight,int transparent=0);
+#elif VDRVERSNUM >= 10307
 	anyFont(cOsd *o,const cFont::tPixelData *fd,int fheight,int transparent=0);
 #else
 	anyFont(cOsdBase *o,const cFont::tPixelData *fd,int fheight,int transparent=0);
diff -Naurp tvonscreen-1.0.141/magazine.c tvonscreen-1.0.141-vdr153/magazine.c
--- tvonscreen-1.0.141/magazine.c	2006-06-18 13:59:36.000000000 +0000
+++ tvonscreen-1.0.141-vdr153/magazine.c	2007-09-13 20:04:34.000000000 +0000
@@ -812,10 +812,12 @@ void magazine::autoTimer(const class cEv
 	}
 }
 
+#if VDRVERSNUM < 10503
 #include "fontosd/fontosd-arial18.c"
 #include "fontosd/fontosd-verdana16.c"
 #include "fontosd/fontosd-tahoma16.c"
 #include "fontosd/fontosd-timesNewRoman16.c"
+#endif
 
 void magazine::Show(void)
 {
@@ -850,10 +852,17 @@ void magazine::Show(void)
 		delete f3;
 		delete f4;
 
+#if VDRVERSNUM >= 10503
+		f1=new anyFont(osd,18,1);		// Sendung
+		f2=new anyFont(osd,16,1);	// Extra-Info
+		f3=new anyFont(osd,20,1);	// Sender
+		f4=new anyFont(osd,16);	// Tasten
+#else
 		f1=new anyFont(osd,(cFont::tPixelData *)fontosd_arial18,FONTOSD_ARIAL18,1);		// Sendung
 		f2=new anyFont(osd,(cFont::tPixelData *)fontosd_verdana16,FONTOSD_VERDANA16,1);	// Extra-Info
 		f3=new anyFont(osd,(cFont::tPixelData *)fontosd_tahoma16,FONTOSD_TAHOMA16,1);	// Sender
 		f4=new anyFont(osd,(cFont::tPixelData *)fontosd_newroman16,FONTOSD_NEWROMAN16);	// Tasten
+#endif
 		for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++)
 		{
 //			cBitmap *b=osd->GetBitmap(i);