diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2015-03-25 12:39:01 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2015-03-25 12:39:01 +0100 |
commit | 577d43facf1f1049e5b3ee83fcdea41f61004a6d (patch) | |
tree | 2eaccc15d2cd30791d3f6d3ee95647a29416cbfa | |
parent | 909e6c6249939e61e27a039b04da5ea296191cbe (diff) | |
download | vdr-577d43facf1f1049e5b3ee83fcdea41f61004a6d.tar.gz vdr-577d43facf1f1049e5b3ee83fcdea41f61004a6d.tar.bz2 |
Fixed scaling subtitles (their areas could sometimes extend outside the actual OSD)
-rw-r--r-- | HISTORY | 3 | ||||
-rw-r--r-- | dvbsubtitle.c | 5 |
2 files changed, 4 insertions, 4 deletions
@@ -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; } |