summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2008-05-30 09:06:39 +0000
committerOliver Bolte <obo@openoffice.org>2008-05-30 09:06:39 +0000
commit4b21df1d7c1867b40984ae8e383c44849ea4904f (patch)
tree6f33dd32ca387e179ce9c5b8a538e362775edfb6
parent72b6b77d7b6895c7bf8e42e844670b232b8379a8 (diff)
INTEGRATION: CWS aquabmpfix01 (1.25.12); FILE MERGED
2008/05/09 11:08:01 hdu 1.25.12.2: RESYNC: (1.25-1.26); FILE MERGED 2008/05/05 12:58:28 hdu 1.25.12.1: #i88795# extend Region class with B2D too
-rw-r--r--vcl/source/gdi/outmap.cxx17
1 files changed, 13 insertions, 4 deletions
diff --git a/vcl/source/gdi/outmap.cxx b/vcl/source/gdi/outmap.cxx
index 7c4c3814524d..db5c75186aca 100644
--- a/vcl/source/gdi/outmap.cxx
+++ b/vcl/source/gdi/outmap.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: outmap.cxx,v $
- * $Revision: 1.26 $
+ * $Revision: 1.27 $
*
* This file is part of OpenOffice.org.
*
@@ -50,11 +50,11 @@
#include <vcl/gdimtf.hxx>
#include <vcl/lineinfo.hxx>
#include <vcl/outdev.hxx>
+#include <vcl/outdev.h>
#include <vcl/salgdi.hxx>
-// #i75163#
#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <vcl/outdev.h>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
#define USE_64BIT_INTS
@@ -1222,10 +1222,19 @@ Region OutputDevice::LogicToPixel( const Region& rLogicRegion ) const
return rLogicRegion;
Region aRegion;
- PolyPolygon* pPolyPoly = rLogicRegion.ImplGetImplRegion()->mpPolyPoly;
+ const ImplRegion& rImplRegion = *rLogicRegion.ImplGetImplRegion();
+ const PolyPolygon* pPolyPoly = rImplRegion.mpPolyPoly;
+ const basegfx::B2DPolyPolygon* pB2DPolyPoly = rImplRegion.mpB2DPolyPoly;
if ( pPolyPoly )
aRegion = Region( LogicToPixel( *pPolyPoly ) );
+ else if( pB2DPolyPoly )
+ {
+ basegfx::B2DPolyPolygon aTransformedPoly = *pB2DPolyPoly;
+ const ::basegfx::B2DHomMatrix& rTransformationMatrix = GetViewTransformation();
+ aTransformedPoly.transform( rTransformationMatrix );
+ aRegion = Region( aTransformedPoly );
+ }
else
{
long nX;