summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2015-03-25 12:39:01 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2015-03-25 12:39:01 +0100
commit577d43facf1f1049e5b3ee83fcdea41f61004a6d (patch)
tree2eaccc15d2cd30791d3f6d3ee95647a29416cbfa
parent909e6c6249939e61e27a039b04da5ea296191cbe (diff)
downloadvdr-577d43facf1f1049e5b3ee83fcdea41f61004a6d.tar.gz
vdr-577d43facf1f1049e5b3ee83fcdea41f61004a6d.tar.bz2
Fixed scaling subtitles (their areas could sometimes extend outside the actual OSD)
-rw-r--r--HISTORY3
-rw-r--r--dvbsubtitle.c5
2 files changed, 4 insertions, 4 deletions
diff --git a/HISTORY b/HISTORY
index 1471aa51..13d450d6 100644
--- a/HISTORY
+++ b/HISTORY
@@ -8596,7 +8596,7 @@ Video Disk Recorder Revision History
- Bumped all version numbers to 2.2.0.
- Official release.
-2015-03-17: Version 2.3.1
+2015-03-25: Version 2.3.1
- The new function cOsd::MaxPixmapSize() can be called to determine the maximum size
a cPixmap may have on the current OSD. The 'osddemo' example has been modified
@@ -8619,3 +8619,4 @@ Video Disk Recorder Revision History
- Added some comment to cPixmap about the relation between OSD, ViewPort and DrawPort
(suggested by Thomas Reufer).
- Improved syncing on sections when parsing the NIT and SDT.
+- Fixed scaling subtitles (their areas could sometimes extend outside the actual OSD).
diff --git a/dvbsubtitle.c b/dvbsubtitle.c
index d5ae60b0..fff3f8b8 100644
--- a/dvbsubtitle.c
+++ b/dvbsubtitle.c
@@ -7,7 +7,7 @@
* Original author: Marco Schluessler <marco@lordzodiac.de>
* With some input from the "subtitles plugin" by Pekka Virtanen <pekka.virtanen@sci.fi>
*
- * $Id: dvbsubtitle.c 3.10 2015/01/20 14:53:57 kls Exp $
+ * $Id: dvbsubtitle.c 4.1 2015/03/25 12:37:08 kls Exp $
*/
#include "dvbsubtitle.h"
@@ -1516,8 +1516,7 @@ void cDvbSubtitleConverter::SetOsdData(void)
osdDeltaX = osdDeltaY = 0;
}
else {
- osdFactorX = VideoAspect * OsdHeight / displayWidth;
- osdFactorY = double(OsdHeight) / displayHeight;
+ osdFactorX = osdFactorY = min(double(OsdWidth) / displayWidth, double(OsdHeight) / displayHeight);
osdDeltaX = (OsdWidth - displayWidth * osdFactorX) / 2;
osdDeltaY = (OsdHeight - displayHeight * osdFactorY) / 2;
}