[mythtv] [PATCH] OSD linespacing

Joel Feenstra joelf at altelco.net
Sun Nov 16 22:27:43 EST 2003


And now for that actual patch!! It's been one of those days....

Joel Feenstra
-------------- next part --------------
Index: libs/libmythtv/osd.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/osd.cpp,v
retrieving revision 1.87
diff -u -w -r1.87 osd.cpp
--- libs/libmythtv/osd.cpp	8 Nov 2003 23:59:26 -0000	1.87
+++ libs/libmythtv/osd.cpp	17 Nov 2003 03:17:43 -0000
@@ -460,6 +460,7 @@
     bool scroller = false;
     int scrollx = 0;
     int scrolly = 0;
+    float linespacing = 1.5;
 
     QString name = element.attribute("name", "");
     if (name.isNull() || name.isEmpty())
@@ -505,6 +506,10 @@
                 if (getFirstText(info).lower() == "yes")
                     scroller = true;
             }
+	    else if (info.tagName() == "linespacing")
+	    {
+	    	linespacing = getFirstText(info).toFloat();
+	    }
             else if (info.tagName() == "scrollmovement")
             {
                 QPoint pos = parsePoint(getFirstText(info));
@@ -533,6 +538,7 @@
     container->AddType(text);
 
     text->SetMultiLine(multiline);
+    text->SetLineSpacing(linespacing);
 
     if (altfont != "")
     {
Index: libs/libmythtv/osdtypes.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/osdtypes.cpp,v
retrieving revision 1.37
diff -u -w -r1.37 osdtypes.cpp
--- libs/libmythtv/osdtypes.cpp	8 Nov 2003 21:04:29 -0000	1.37
+++ libs/libmythtv/osdtypes.cpp	17 Nov 2003 03:17:44 -0000
@@ -421,6 +421,8 @@
     m_scroller = false;
     m_scrollx = m_scrolly = 0;
     m_scrollinit = false;
+    
+    m_linespacing = 1.5;
 }
 
 OSDTypeText::OSDTypeText(const OSDTypeText &other)
@@ -438,6 +440,7 @@
     m_scroller = other.m_scroller;
     m_scrollx = other.m_scrollx;
     m_scrolly = other.m_scrolly;
+    m_linespacing = other.m_linespacing;
 }
 
 OSDTypeText::~OSDTypeText()
@@ -527,7 +530,7 @@
             {
                 QRect drawrect = m_displaysize;
                 drawrect.setTop(m_displaysize.top() + 
-                                m_font->Size() * (lines) * 3 / 2);
+                                m_font->Size() * (lines) * m_linespacing);
                 DrawString(surface, drawrect, line, fade, maxfade, xoff, yoff);
                 length = 0;
 
@@ -554,7 +557,7 @@
         }
 
         QRect drawrect = m_displaysize;
-        drawrect.setTop(m_displaysize.top() + m_font->Size() * (lines) * 3 / 2);
+        drawrect.setTop(m_displaysize.top() + m_font->Size() * (lines) * m_linespacing);
         DrawString(surface, drawrect, line, fade, maxfade, xoff, yoff);
     }           
     else if (m_scroller)
Index: libs/libmythtv/osdtypes.h
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/osdtypes.h,v
retrieving revision 1.17
diff -u -w -r1.17 osdtypes.h
--- libs/libmythtv/osdtypes.h	8 Nov 2003 21:04:29 -0000	1.17
+++ libs/libmythtv/osdtypes.h	17 Nov 2003 03:17:45 -0000
@@ -161,6 +161,9 @@
     void SetScrolling(int x, int y) { m_scroller = true; m_scrollx = x;
                                       m_scrolly = y; }
 
+    void SetLineSpacing(float linespacing) { m_linespacing = linespacing; }
+    float GetLineSpacing() { return m_linespacing; }
+
     QRect DisplayArea() { return m_displaysize; }
 
     void Draw(OSDSurface *surface, int fade, int maxfade, int xoff, int yoff);
@@ -195,6 +198,8 @@
     int m_scrollposy;
 
     bool m_scrollinit;
+
+    float m_linespacing;
 };
     
 class OSDTypeImage : public OSDType


More information about the mythtv-dev mailing list