ooo-build r13710 - in trunk: . patches/dev300
- From: thorstenb svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r13710 - in trunk: . patches/dev300
- Date: Thu, 28 Aug 2008 15:37:30 +0000 (UTC)
Author: thorstenb
Date: Thu Aug 28 15:37:30 2008
New Revision: 13710
URL: http://svn.gnome.org/viewvc/ooo-build?rev=13710&view=rev
Log:
* patches/dev300/apply:
* patches/dev300/vcl-logical-bmp-size.diff: fixed broken logical
size calculation on BMP export.
Added:
trunk/patches/dev300/vcl-logical-bmp-size.diff
Modified:
trunk/ChangeLog
trunk/patches/dev300/apply
Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply (original)
+++ trunk/patches/dev300/apply Thu Aug 28 15:37:30 2008
@@ -2557,6 +2557,7 @@
[ Fixes ]
win32-mergemodule-pm.diff, tml
svtools-update-ole.diff, n#411855, thorsten
+vcl-logical-bmp-size.diff, i#92902, thorsten
[ Fixes < dev300-m30 < ooo300-m3 ]
pdfimport-system-poppler-m29.diff, i#92920, cmc
Added: trunk/patches/dev300/vcl-logical-bmp-size.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/vcl-logical-bmp-size.diff Thu Aug 28 15:37:30 2008
@@ -0,0 +1,30 @@
+--- vcl/source/gdi/bitmap2.cxx 11 Jul 2008 07:11:04 -0000 1.19
++++ vcl/source/gdi/bitmap2.cxx 28 Aug 2008 15:28:40 -0000
+@@ -756,18 +756,18 @@ BOOL Bitmap::ImplWriteDIB( SvStream& rOS
+ // MapMode is integer-based, and suffers from roundoffs,
+ // especially if maPrefSize is small. Trying to circumvent
+ // that by performing part of the math in floating point.
+- const Size aScale10000(
++ const Size aScale100000(
+ OutputDevice::LogicToLogic( Size(100000L,
+ 100000L),
+- maPrefMapMode,
+- MAP_100TH_MM ) );
+- const double fScaleX((double)aScale10000.Width() * maPrefSize.Width());
+- const double fScaleY((double)aScale10000.Height() * maPrefSize.Height());
+- if( fabs(fScaleX) > 0.000000001 &&
+- fabs(fScaleY) > 0.000000001 )
++ MAP_100TH_MM,
++ maPrefMapMode ) );
++ const double fBmpWidthM((double)maPrefSize.Width() / aScale100000.Width() );
++ const double fBmpHeightM((double)maPrefSize.Height() / aScale100000.Height() );
++ if( fabs(fBmpWidthM) > 0.000000001 &&
++ fabs(fBmpHeightM) > 0.000000001 )
+ {
+- aHeader.nXPelsPerMeter = (UINT32)(rAcc.Width() / fScaleX + .5);
+- aHeader.nYPelsPerMeter = (UINT32)(rAcc.Height() / fScaleY + .5);
++ aHeader.nXPelsPerMeter = (UINT32)(rAcc.Width() / fBmpWidthM + .5);
++ aHeader.nYPelsPerMeter = (UINT32)(rAcc.Height() / fBmpHeightM + .5);
+ }
+ }
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]