[mythtv] patch to fix strange display position in EPG

Takeru KOMORIYA komoriya at paken.org
Tue Feb 24 21:34:12 EST 2004


Hi,

When I set minus values for "Horizonal over/underscan percentage" in
playback settings and bring up the EPG, position of the area for
displaying live TV(should be at upper right) goes to upper left.

Here's a patch which will fix the problem.
It also fixes the typo in message.

Thanks in advance.

--- mythtv-0.14/libs/libmythtv/videooutbase.cpp~	2004-02-23 20:46:55.000000000 +0900
+++ mythtv-0.14/libs/libmythtv/videooutbase.cpp	2004-02-24 01:36:19.544542869 +0900
@@ -271,7 +271,7 @@
     if (img_vscanf > 0) 
     {
         // Veritcal overscan. Move the Y start point in original image.
-        imgy = (int)floor(0.5 + XJ_height * img_vscanf);
+        imgy = (int)floor(0.5 + XJ_height * img_vscanf) + dispy;
         imgh = (int)floor(0.5 + XJ_height * (1 - 2 * img_vscanf));
 
         // If there is an offset, apply it now that we have a room.
@@ -296,7 +296,7 @@
     if (img_hscanf > 0) 
     {
         // Horizontal overscan. Move the X start point in original image.
-        imgx = (int)floor(0.5 + XJ_width * img_hscanf);
+        imgx = (int)floor(0.5 + XJ_width * img_hscanf) + dispx;
         imgw = (int)floor(0.5 + XJ_width * (1 - 2 * img_hscanf));
         if (xoff > 0) 
         {
@@ -318,7 +318,7 @@
         // Vertical underscan. Move the starting Y point in the display window.
         // Use the abolute value of scan factor.
         vscanf = fabs(img_vscanf);
-        dispyoff = (int)floor(0.5 + disph * vscanf);
+        dispyoff = (int)floor(0.5 + disph * vscanf) + dispy;
         disphoff = (int)floor(0.5 + disph * (1 - 2 * vscanf));
         // Now offset the image within the extra blank space created by
         // underscanning.
@@ -342,7 +342,7 @@
     if (img_hscanf < 0) 
     {
         hscanf = fabs(img_hscanf);
-        dispxoff = (int)floor(0.5 + dispw * hscanf);
+        dispxoff = (int)floor(0.5 + dispw * hscanf) + dispx;
         dispwoff = (int)floor(0.5 + dispw * (1 - 2 * hscanf));
         if (xoff > 0) 
         {
@@ -434,7 +434,7 @@
 
  
     VERBOSE(VB_PLAYBACK,
-            QString("Image size. dispxoff %1, dispxoff: %2, dispwoff: %3, "
+            QString("Image size. dispxoff %1, dispyoff: %2, dispwoff: %3, "
                     "disphoff: %4")
             .arg(dispxoff).arg(dispyoff).arg(dispwoff).arg(disphoff));
 

-----------------------
Takeru Komoriya
 komoriya at paken.org
 http://www.paken.org/


More information about the mythtv-dev mailing list