Sophie

Sophie

distrib > Mandriva > cooker > x86_64 > by-pkgid > 62d0f6871b6d081f279c7c83e2a0b489 > files > 4

vdr-plugin-skinelchi-0.1.1-0.pre2.11mdv2011.0.src.rpm

#! /bin/sh /usr/share/dpatch/dpatch-run
## 92_vdr-skinelchi-0.1.1_pre2-vdr-1.5.5-getfont.dpatch by Zzam at vdrportal.de
## http://www.vdr-portal.de/board/thread.php?postid=628061#post628061
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Changes for VDR >= 1.5.3.

@DPATCH@
Index: skinelchi-0.1.1pre2/scroll.c
===================================================================
--- skinelchi-0.1.1pre2.orig/scroll.c
+++ skinelchi-0.1.1pre2/scroll.c
@@ -3,7 +3,7 @@
 cCharScroll::cCharScroll(void) {
     asprintf(&Text, " ");
     bmp = NULL;
-    Font = cFont::GetFont(fontOsd);
+    FontType = fontOsd;
     DestWidth = 0;
     ColorDepth = 1;
     Bg = 0xFF000000;
@@ -21,12 +21,17 @@ cCharScroll::~cCharScroll() {
 	delete(bmp);
     }
 
+const cFont* cCharScroll::GetFont(void) {
+    return cFont::GetFont(FontType);
+    }
+
 bool cCharScroll::SetText(const char *text, int textnumber) {
     if (Text)
 	free(Text);
     asprintf(&Text, "%s", (text || !isempty(text))? text : " ");
     if (!DestWidth || !SkinElchiSetup.scrolling)
 	return false;
+    const cFont *Font = GetFont();
     int width = Font->Width(Text);
     if (width > DestWidth) {
 	int height = Font->Height();
Index: skinelchi-0.1.1pre2/scroll.h
===================================================================
--- skinelchi-0.1.1pre2.orig/scroll.h
+++ skinelchi-0.1.1pre2/scroll.h
@@ -16,7 +16,8 @@ public:
     int Width() const {return bmp ? bmp->Width() : 0;}
     int Height() const {return bmp ? bmp->Height() : 0;}
     char *Text;
-    const cFont *Font;
+    eDvbFont FontType;
+    const cFont* GetFont(void);
     tColor Fg;
     tColor Bg;
     int xOff;
Index: skinelchi-0.1.1pre2/DisplayMessage.c
===================================================================
--- skinelchi-0.1.1pre2.orig/DisplayMessage.c
+++ skinelchi-0.1.1pre2/DisplayMessage.c
@@ -22,7 +22,7 @@ cSkinElchiDisplayMessage::cSkinElchiDisp
 #ifdef VIDEOSTATUS
   VideoStatus.Update();
 #endif
-  font = cFont::GetFont(fontOsd);
+  const cFont *font = cFont::GetFont(fontOsd);
   lh = font->Height();
   lhh = lh / 2;
 #ifdef VIDEOSTATUS
@@ -35,7 +35,7 @@ cSkinElchiDisplayMessage::cSkinElchiDisp
   tArea Areas[] = { { 0, 0, (vdrosd ? Setup.OSDWidth : SkinElchiSetup.osdwidth) - 1, lh - 1, 2 } };
   osd->SetAreas(Areas, sizeof(Areas) / sizeof(tArea));
   messagechanged = true;
-  MessageScroll.Font = font;
+  MessageScroll.FontType = fontOsd;
   MessageScroll.DestWidth = osd->Width() - lh;
   MessageScroll.xOff = lhh;
   MessageScroll.yOff = 0;
@@ -75,11 +75,11 @@ void cSkinElchiDisplayMessage::SetMessag
     MessageScroll.pos = 0;
     MessageScroll.dir = -1;
     MessageScroll.Time.Set();
-    osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.Font, MessageScroll.DestWidth);
+    osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.GetFont(), MessageScroll.DestWidth);
     }
   else
     MessageScroll.dir = 0;
-  osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.Font, MessageScroll.DestWidth, 0, taCenter);
+  osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.GetFont(), MessageScroll.DestWidth, 0, taCenter);
   int wlh2 = osd->Width() - lh / 2;
   osd->DrawRectangle(wlh2 - 1, 0, wlh2, h1, msb);
   int w1 = osd->Width() - 1;
Index: skinelchi-0.1.1pre2/DisplayMessage.h
===================================================================
--- skinelchi-0.1.1pre2.orig/DisplayMessage.h
+++ skinelchi-0.1.1pre2/DisplayMessage.h
@@ -18,7 +18,6 @@ public:
 class cSkinElchiDisplayMessage : public cSkinDisplayMessage {
 private:
     cOsd *osd;
-    const cFont *font;
     int lh, lhh;
     bool noflush;
 public:
Index: skinelchi-0.1.1pre2/DisplayChannel.c
===================================================================
--- skinelchi-0.1.1pre2.orig/DisplayChannel.c
+++ skinelchi-0.1.1pre2/DisplayChannel.c
@@ -66,8 +66,8 @@ cSkinElchiDisplayChannel::cSkinElchiDisp
   oldpresentvps = -1;
   lastSeen = -1;
   withInfo = WithInfo;
-  smallfont = cFont::GetFont(fontSml);
-  font = cFont::GetFont(fontOsd);
+  const cFont* smallfont = cFont::GetFont(fontSml);
+  const cFont* font = cFont::GetFont(fontOsd);
   lh = font->Height();
   slh = smallfont->Height();
   lhh = lh / 2;
@@ -201,28 +201,28 @@ cSkinElchiDisplayChannel::cSkinElchiDisp
     EventScroll.DestWidth = x10 - x5 - 2;
     EventScroll.Fg = Theme.Color(clrChannelEpgTitle);
     EventScroll.Bg = Theme.Color(clrChannelEpgTitleBg);
-    EventScroll.Font = font;
+    EventScroll.FontType = fontOsd;
     EventScroll.xOff = x5 + 2;
     EventScroll.yOff = y6;
 
     EventShortScroll.DestWidth = EventScroll.DestWidth;
     EventShortScroll.Fg = Theme.Color(clrChannelEpgShortText);
     EventShortScroll.Bg = Theme.Color(clrChannelEpgTitleBg);
-    EventShortScroll.Font = smallfont;
+    EventShortScroll.FontType = fontSml;
     EventShortScroll.xOff = EventScroll.xOff;
     EventShortScroll.yOff = y6 + lh;
 
     NextEventScroll.DestWidth = EventScroll.DestWidth;
     NextEventScroll.Fg = Theme.Color(clrChannelEpgTitle);
     NextEventScroll.Bg = Theme.Color(clrChannelEpgTitleBg);
-    NextEventScroll.Font = font;
+    NextEventScroll.FontType = fontOsd;
     NextEventScroll.xOff = EventScroll.xOff;
     NextEventScroll.yOff = EventShortScroll.yOff + lh;
 
     NextEventShortScroll.DestWidth = EventScroll.DestWidth;
     NextEventShortScroll.Fg = Theme.Color(clrChannelEpgShortText);
     NextEventShortScroll.Bg = Theme.Color(clrChannelEpgTitleBg);
-    NextEventShortScroll.Font = smallfont;
+    NextEventShortScroll.FontType = fontSml;
     NextEventShortScroll.xOff = EventScroll.xOff;
     NextEventShortScroll.yOff = NextEventScroll.yOff + lh;
     }
@@ -304,7 +304,7 @@ cSkinElchiDisplayChannel::cSkinElchiDisp
     AudioStringScroll.DestWidth = x10 - x7;
     AudioStringScroll.Fg = Theme.Color(clrChannelSymbolOn);
     AudioStringScroll.Bg = bg;
-    AudioStringScroll.Font = smallfont;
+    AudioStringScroll.FontType = fontSml;
     AudioStringScroll.xOff = x7;
     AudioStringScroll.yOff = y1 + lineOffset;
 
@@ -315,7 +315,7 @@ cSkinElchiDisplayChannel::cSkinElchiDisp
 x3;
     ChannelNameScroll.Fg = Theme.Color(clrChannelNameFg);
     ChannelNameScroll.Bg = Theme.Color(clrChannelNameBg);
-    ChannelNameScroll.Font = smallfont;
+    ChannelNameScroll.FontType = fontSml;
     ChannelNameScroll.xOff = x3;
     ChannelNameScroll.yOff = y4 + lineOffset;
     noflush = false;
@@ -367,6 +367,7 @@ void cSkinElchiDisplayChannel::SetChanne
   changed = true;
   oldpresentvps = -1;
   osd->DrawRectangle(x9 + lh / 2, y4, x10 - 1, y6 - 1, bg);
+  const cFont* font = cFont::GetFont(fontOsd);
   int x = x10;
   if (Channel) {
     if (!Channel->GroupSep()) {
@@ -417,6 +418,7 @@ void cSkinElchiDisplayChannel::SetChanne
 	osd->DrawRectangle(x10 - ((oldaudiow > x) ? x : oldaudiow), y1, x10 - 1, y3 - 1, bg);
 	}
 
+    const cFont* smallfont = cFont::GetFont(fontSml);
     ChannelNameScroll.DestWidth = x9
 #ifdef VIDEOSTATUS
     - (((fd_video >= 0 && video) && (SkinElchiSetup.videostatus & 2)) ? smallfont->Width(" 0000*0000 2.21:1 (2:2:2:2:2)") : 0) 
@@ -448,11 +450,11 @@ void cSkinElchiDisplayChannel::SetChanne
 	showVolume = false;
 	}
     osd->DrawText(x3, y1, number, Theme.Color(clrChannelNumberFg), Theme.Color(clrChannelDateBg), font, font->Width("00000-"));
-    osd->DrawText(ChannelNameScroll.xOff, ChannelNameScroll.yOff, ChannelNameScroll.Text, ChannelNameScroll.Fg, ChannelNameScroll.Bg, ChannelNameScroll.Font, ChannelNameScroll.DestWidth);
+    osd->DrawText(ChannelNameScroll.xOff, ChannelNameScroll.yOff, ChannelNameScroll.Text, ChannelNameScroll.Fg, ChannelNameScroll.Bg, ChannelNameScroll.GetFont(), ChannelNameScroll.DestWidth);
     if (showVolume)
 	osd->SaveRegion(logox, y4, x11 - 1, y6 - 1);
     if (SkinElchiSetup.logo) {
-        if (ChannelNameScroll.Font->Width(ChannelNameScroll.Text) != 0) {
+        if (ChannelNameScroll.GetFont()->Width(ChannelNameScroll.Text) != 0) {
 	    cBitmap bmp(logox, logoy, osd->GetBitmap(2)?4:8);
 	    char *filename;
 	    asprintf(&filename, "%s/%s%s", SkinElchiSetup.logodir, ChannelNameScroll.Text, ".xpm");
@@ -543,6 +545,7 @@ void cSkinElchiDisplayChannel::SetMessag
   isyslog("skinelchi: cSkinElchiDisplayChannel::SetMessage(%d,%s)", (int)Type, Text);
 #endif
   if (Text) {
+    const cFont* font = cFont::GetFont(fontOsd);
     char *text;
     asprintf(&text, "%s", Text);
 /*    if (!strcasecmp(text, tr("Going to sleep in about one minute"))) {
@@ -740,6 +743,7 @@ if (!noflush) {
 		if (tempvideo)
 		    free(tempvideo);
 		}
+            const cFont* smallfont = cFont::GetFont(fontSml);
 	    int w = smallfont->Width(videoformatchar);
 	    int x = x9 - x3;
 	    if (w > x)
@@ -781,6 +785,7 @@ if (!noflush) {
 	cDevice *Device = cDevice::PrimaryDevice();
 	const tTrackId *Track = Device->GetTrack(Device->GetCurrentAudioTrack());
 	int w = 0;
+	const cFont* smallfont = cFont::GetFont(fontSml);
 	if (Track) {
 	    char *audiostring = NULL;
 	    int numaudiotracks = Device->NumAudioTracks();
@@ -822,14 +827,14 @@ if (!noflush) {
 		    AudioStringScroll.dir = -1;
 		    AudioStringScroll.delay = 5;
 		    AudioStringScroll.Time.Set();
-		    osd->DrawText(AudioStringScroll.xOff, AudioStringScroll.yOff, AudioStringScroll.Text, AudioStringScroll.Fg, AudioStringScroll.Bg, AudioStringScroll.Font, AudioStringScroll.DestWidth);
+		    osd->DrawText(AudioStringScroll.xOff, AudioStringScroll.yOff, AudioStringScroll.Text, AudioStringScroll.Fg, AudioStringScroll.Bg, AudioStringScroll.GetFont(), AudioStringScroll.DestWidth);
 		    }
 		else {
 		    AudioStringScroll.dir = 0;
 		    if (AudioStringScroll.DestWidth > w)
-			osd->DrawText(x10 - w, AudioStringScroll.yOff, AudioStringScroll.Text, AudioStringScroll.Fg, AudioStringScroll.Bg, AudioStringScroll.Font, w);
+			osd->DrawText(x10 - w, AudioStringScroll.yOff, AudioStringScroll.Text, AudioStringScroll.Fg, AudioStringScroll.Bg, AudioStringScroll.GetFont(), w);
 		    else
-			osd->DrawText(x10 - AudioStringScroll.DestWidth, AudioStringScroll.yOff, AudioStringScroll.Text, AudioStringScroll.Fg, AudioStringScroll.Bg, AudioStringScroll.Font, AudioStringScroll.DestWidth);
+			osd->DrawText(x10 - AudioStringScroll.DestWidth, AudioStringScroll.yOff, AudioStringScroll.Text, AudioStringScroll.Fg, AudioStringScroll.Bg, AudioStringScroll.GetFont(), AudioStringScroll.DestWidth);
 		    }
 		changed = true;
 		}
@@ -876,6 +881,8 @@ if (!noflush) {
 	osd->DrawBitmap(x10 - bmRecording.Width(), y4 + (y6 - y4 - bmRecording.Height()) / 2, bmRecording, Theme.Color(rec ? clrChannelSymbolRecFg : clrChannelSymbolOff), rec ? Theme.Color(clrChannelSymbolRecBg) : bg);
 	changed = true;
 	}
+    const cFont* font = cFont::GetFont(fontOsd);
+    const cFont* smallfont = cFont::GetFont(fontSml);
     if (VdrStatus.VolumeChange != volumechange) {
 	volumechange = VdrStatus.VolumeChange;
 	oldvolume = VdrStatus.Volume;
@@ -1003,7 +1010,7 @@ if (!noflush) {
 		    }
 		else	
 		    EventScroll.dir = 0;
-		osd->DrawText(EventScroll.xOff, EventScroll.yOff, EventScroll.Text, EventScroll.Fg, EventScroll.Bg, EventScroll.Font, EventScroll.DestWidth);
+		osd->DrawText(EventScroll.xOff, EventScroll.yOff, EventScroll.Text, EventScroll.Fg, EventScroll.Bg, EventScroll.GetFont(), EventScroll.DestWidth);
 		if (EventShortScroll.SetText(GetEvent->PresentShortText())) {
 		    EventShortScroll.pos = 0;
 		    EventShortScroll.dir = -1;
@@ -1012,7 +1019,7 @@ if (!noflush) {
 		    }
 		else
 		    EventShortScroll.dir = 0;
-		osd->DrawText(EventShortScroll.xOff, EventShortScroll.yOff, EventShortScroll.Text, EventShortScroll.Fg, EventShortScroll.Bg, EventShortScroll.Font, EventShortScroll.DestWidth);
+		osd->DrawText(EventShortScroll.xOff, EventShortScroll.yOff, EventShortScroll.Text, EventShortScroll.Fg, EventShortScroll.Bg, EventShortScroll.GetFont(), EventShortScroll.DestWidth);
 		}
 	    else {
 		EventScroll.dir = 0;
@@ -1028,7 +1035,7 @@ if (!noflush) {
 		    }
 		else
 		    NextEventScroll.dir = 0;
-		osd->DrawText(NextEventScroll.xOff, NextEventScroll.yOff, NextEventScroll.Text, NextEventScroll.Fg, NextEventScroll.Bg, NextEventScroll.Font, NextEventScroll.DestWidth);
+		osd->DrawText(NextEventScroll.xOff, NextEventScroll.yOff, NextEventScroll.Text, NextEventScroll.Fg, NextEventScroll.Bg, NextEventScroll.GetFont(), NextEventScroll.DestWidth);
 		if (NextEventShortScroll.SetText(GetEvent->FollowingShortText())) {
 		    NextEventShortScroll.pos = 0;
 		    NextEventShortScroll.dir = -1;
@@ -1037,7 +1044,7 @@ if (!noflush) {
 		    }
 		else
 		    NextEventShortScroll.dir = 0;
-    		osd->DrawText(NextEventShortScroll.xOff, NextEventShortScroll.yOff, NextEventShortScroll.Text, NextEventShortScroll.Fg, NextEventShortScroll.Bg, NextEventShortScroll.Font, NextEventShortScroll.DestWidth);
+    		osd->DrawText(NextEventShortScroll.xOff, NextEventShortScroll.yOff, NextEventShortScroll.Text, NextEventShortScroll.Fg, NextEventShortScroll.Bg, NextEventShortScroll.GetFont(), NextEventShortScroll.DestWidth);
 		}
 	    else {
 		NextEventScroll.dir = 0;
Index: skinelchi-0.1.1pre2/DisplayChannel.h
===================================================================
--- skinelchi-0.1.1pre2.orig/DisplayChannel.h
+++ skinelchi-0.1.1pre2/DisplayChannel.h
@@ -75,8 +75,8 @@ private:
   int logox, logoy;
   int x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11;
   int y0, y1, y2, y3, y4, y5, y6, y7, y8, y9;
-  const cFont *smallfont;
-  const cFont *font;
+  // const cFont *smallfont;
+  // const cFont *font;
   bool withInfo, rec, message, showVolume, sleeptimermessage;
   int lh, slh, lhh, lineOffset;
   tColor bg;
Index: skinelchi-0.1.1pre2/DisplayMenu.c
===================================================================
--- skinelchi-0.1.1pre2.orig/DisplayMenu.c
+++ skinelchi-0.1.1pre2/DisplayMenu.c
@@ -448,7 +448,7 @@ void cSkinElchiDisplayMenu::SetTitle(con
     TitleScroll.DestWidth = x - x2;
     TitleScroll.Fg = Theme.Color(clrMenuTitleFg);
     TitleScroll.Bg = Theme.Color(clrMenuTitleBg);
-    TitleScroll.Font = smallfont;
+    TitleScroll.FontType = fontSml;
     if (TitleScroll.SetText(Title)) {
         TitleScroll.pos = 0;
         TitleScroll.dir = -1;
@@ -456,7 +456,7 @@ void cSkinElchiDisplayMenu::SetTitle(con
 	}
     else
         TitleScroll.dir = 0;
-    osd->DrawText(TitleScroll.xOff, TitleScroll.yOff, TitleScroll.Text, TitleScroll.Fg, TitleScroll.Bg, TitleScroll.Font, TitleScroll.DestWidth);
+    osd->DrawText(TitleScroll.xOff, TitleScroll.yOff, TitleScroll.Text, TitleScroll.Fg, TitleScroll.Bg, TitleScroll.GetFont(), TitleScroll.DestWidth);
     int y = y2 - (font->Height() - smallfont->Height());
     osd->DrawRectangle(x, TitleScroll.yOff, xx - 1, y - 1, TitleScroll.Bg);
     osd->DrawRectangle(TitleScroll.xOff, y, x6 - 1, y2 - 1, TitleScroll.Bg);
@@ -653,7 +653,7 @@ void cSkinElchiDisplayMenu::SetItem(cons
 	    CurrentItemScroll.DestWidth = x - CurrentItemScroll.xOff;
 	    CurrentItemScroll.Fg = ColorFg;
 	    CurrentItemScroll.Bg = ColorBg;
-	    CurrentItemScroll.Font = font;
+	    CurrentItemScroll.FontType = fontOsd;
 	    if (CurrentItemScroll.SetText(s)) {
     		CurrentItemScroll.pos = 0;
     		CurrentItemScroll.dir = -1;
Index: skinelchi-0.1.1pre2/DisplayReplay.c
===================================================================
--- skinelchi-0.1.1pre2.orig/DisplayReplay.c
+++ skinelchi-0.1.1pre2/DisplayReplay.c
@@ -187,7 +187,7 @@ cSkinElchiDisplayReplay::cSkinElchiDispl
     TitleScroll.DestWidth = x4 - x0;
     TitleScroll.Fg = Theme.Color(clrReplayTitleFg);
     TitleScroll.Bg = Theme.Color(clrReplayTitleBg);
-    TitleScroll.Font = smallfont;
+    TitleScroll.FontType = fontSml;
     TitleScroll.xOff = x0;
     TitleScroll.yOff = y0;
     TitleScroll.delay = 20;
@@ -244,10 +244,10 @@ void cSkinElchiDisplayReplay::SetTitle(c
     TitleScroll.pos = 0;
     TitleScroll.dir = -1;
     TitleScroll.Time.Set();
-    osd->DrawText(x0, y0, TitleScroll.Text, Theme.Color(clrReplayTitleFg), Theme.Color(clrReplayTitleBg), TitleScroll.Font, TitleScroll.DestWidth);
+    osd->DrawText(x0, y0, TitleScroll.Text, Theme.Color(clrReplayTitleFg), Theme.Color(clrReplayTitleBg), TitleScroll.GetFont(), TitleScroll.DestWidth);
     }
   else {
-    osd->DrawText(x0, y0, title, Theme.Color(clrReplayTitleFg), Theme.Color(clrReplayTitleBg), TitleScroll.Font, w);
+    osd->DrawText(x0, y0, title, Theme.Color(clrReplayTitleFg), Theme.Color(clrReplayTitleBg), TitleScroll.GetFont(), w);
     TitleScroll.dir = 0;
     tColor tr = Theme.Color(Transparent);
     osd->DrawRectangle(w, y0, w + 3 - 1, y0 + 3 - 1, tr);
@@ -488,7 +488,7 @@ if (!noflush) {
 		    asprintf(&titlestatus, "%s - no videosize available ", titlestatus);
 	if (!modeonly && !showVolume && strcmp(oldtitlestatus, titlestatus)) {
 	    asprintf(&oldtitlestatus, "%s", titlestatus);
-	    int w = TitleScroll.Font->Width(titlestatus);
+	    int w = TitleScroll.GetFont()->Width(titlestatus);
 	    if (w > TitleScroll.DestWidth)
 	        w = TitleScroll.DestWidth;
 	    int h = font->Height() - smallfont->Height();
@@ -498,11 +498,11 @@ if (!noflush) {
 		    TitleScroll.dir = -1;
 		    TitleScroll.delay = 20;
 		    TitleScroll.Time.Set();
-		    osd->DrawText(TitleScroll.xOff, TitleScroll.yOff, TitleScroll.Text, TitleScroll.Fg, TitleScroll.Bg, TitleScroll.Font, TitleScroll.DestWidth);
+		    osd->DrawText(TitleScroll.xOff, TitleScroll.yOff, TitleScroll.Text, TitleScroll.Fg, TitleScroll.Bg, TitleScroll.GetFont(), TitleScroll.DestWidth);
 		    }
 		}
 	    else {
-		osd->DrawText(TitleScroll.xOff, TitleScroll.yOff, TitleScroll.Text, TitleScroll.Fg, TitleScroll.Bg, TitleScroll.Font, w);
+		osd->DrawText(TitleScroll.xOff, TitleScroll.yOff, TitleScroll.Text, TitleScroll.Fg, TitleScroll.Bg, TitleScroll.GetFont(), w);
 		TitleScroll.dir = 0;
 		tColor tr = Theme.Color(Transparent);
 		osd->DrawRectangle(w, y0, w + 3 - 1, y0 + 3 - 1, tr);
Index: skinelchi-0.1.1pre2/DisplayTracks.c
===================================================================
--- skinelchi-0.1.1pre2.orig/DisplayTracks.c
+++ skinelchi-0.1.1pre2/DisplayTracks.c
@@ -98,7 +98,7 @@ cSkinElchiDisplayTracks::cSkinElchiDispl
     if (numTracks > (offset + MaxTracks))
 	osd->DrawBitmap(x2, y3 + (y4 - y3 - bmArrowDown.Height()) / 2, bmArrowDown, Theme.Color(clrMenuItemSelectable), Theme.Color(clrBackground));
     MessageScroll.DestWidth = x2 - x1;
-    MessageScroll.Font = font;
+    MessageScroll.FontType = fontOsd;
     MessageScroll.xOff = x1;
     MessageScroll.yOff = y3;
     MessageScroll.delay = 20;
@@ -228,11 +228,11 @@ void cSkinElchiDisplayTracks::SetMessage
 		MessageScroll.pos = 0;
 		MessageScroll.dir = -1;
 		MessageScroll.Time.Set();
-		osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.Font, MessageScroll.DestWidth);
+		osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.GetFont(), MessageScroll.DestWidth);
 		}
 	     else {
 		MessageScroll.dir = 0;
-		osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.Font, MessageScroll.DestWidth, taCenter);
+		osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.GetFont(), MessageScroll.DestWidth, taCenter);
 		}
 	    osd->DrawEllipse(x2, y3, x3 - 1, y4 - 1, MessageScroll.Bg, 5);
 	    }
Index: skinelchi-0.1.1pre2/DisplayVolume.c
===================================================================
--- skinelchi-0.1.1pre2.orig/DisplayVolume.c
+++ skinelchi-0.1.1pre2/DisplayVolume.c
@@ -37,7 +37,7 @@ cSkinElchiDisplayVolume::cSkinElchiDispl
     mute = -1;
     current = -1;
     MessageScroll.DestWidth = vdrosd ? Setup.OSDWidth : SkinElchiSetup.osdwidth;
-    MessageScroll.Font = font;
+    MessageScroll.FontType = fontOsd;
     MessageScroll.xOff = 0;
     MessageScroll.yOff = lh;
     MessageScroll.delay = 20;
@@ -122,11 +122,11 @@ void cSkinElchiDisplayVolume::SetMessage
 		MessageScroll.pos = 0;
 		MessageScroll.dir = -1;
 		MessageScroll.Time.Set();
-		osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.Font, MessageScroll.DestWidth);
+		osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.GetFont(), MessageScroll.DestWidth);
 		}
 	    else {
 		MessageScroll.dir = 0;
-		osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.Font, MessageScroll.DestWidth, 0, taCenter);
+		osd->DrawText(MessageScroll.xOff, MessageScroll.yOff, MessageScroll.Text, MessageScroll.Fg, MessageScroll.Bg, MessageScroll.GetFont(), MessageScroll.DestWidth, 0, taCenter);
 		}
 	    osd->DrawEllipse((vdrosd ? Setup.OSDWidth : SkinElchiSetup.osdwidth) - lhh, lh, (vdrosd ? Setup.OSDWidth : SkinElchiSetup.osdwidth) - 1, 2 * lh - 1, MessageScroll.Bg, 5);
 	    }