Fixed scaling subtitles (their areas could sometimes extend outside the actual OSD)

This commit is contained in:
Klaus Schmidinger 2015-03-25 12:39:01 +01:00
parent 909e6c6249
commit 577d43facf
2 changed files with 4 additions and 4 deletions

View File

@ -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).

View File

@ -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;
}