summaryrefslogtreecommitdiff
path: root/canvas/source/vcl/canvashelper_texturefill.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2020-09-26 14:41:02 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-09-26 17:39:33 +0200
commit5cb62b13ca8fec43fffe3f2000f61c1be7c5616c (patch)
tree80a23ff0f16c91e9aa0e0bfb98b66d96527c25a4 /canvas/source/vcl/canvashelper_texturefill.cxx
parent949d648594f441dbb7e9c600d7925fba7e882ff9 (diff)
revert recent Polygon commits
This reverts commit 0cabffc05f3b40f5ee897df73475e09a3c05fc7 tools::PolyPolygon -> basegfx in canvas and commit 2c5d5a6d55a1ebd153f05523972a2c625484bde2 tools::PolyPolygon -> basegfx in filter Comment from quikee: The interpretation of integer polygons and floating point polygons (or any other float vs. int drawing primitives) are different, so you have to be really careful when changing, that the result after the change is still the same. A big problem is that we still have the metafile in OutputDevice, which is completely integer based - so there will be conversions that go from int representation to float representation to int again and to float (because backend is in floating point) and I really fear that because of this there will be regressions and even if not, it could make changing later more painful. This is the reason I wouldn't change these things without having tests that would show when there is a difference in rendering. Change-Id: I54addca4e5a72196b5f77f6c7689eb716451c1dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103483 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'canvas/source/vcl/canvashelper_texturefill.cxx')
-rw-r--r--canvas/source/vcl/canvashelper_texturefill.cxx18
1 files changed, 8 insertions, 10 deletions
diff --git a/canvas/source/vcl/canvashelper_texturefill.cxx b/canvas/source/vcl/canvashelper_texturefill.cxx
index b0b0ef3770d5..9cb8dd8abd99 100644
--- a/canvas/source/vcl/canvashelper_texturefill.cxx
+++ b/canvas/source/vcl/canvashelper_texturefill.cxx
@@ -437,7 +437,7 @@ namespace vclcanvas
OutputDevice* p2ndOutDev,
const ::canvas::ParametricPolyPolygon::Values& rValues,
const std::vector< ::Color >& rColors,
- const ::basegfx::B2DPolyPolygon& rPoly,
+ const ::tools::PolyPolygon& rPoly,
const rendering::ViewState& viewState,
const rendering::RenderState& renderState,
const rendering::Texture& texture,
@@ -466,8 +466,8 @@ namespace vclcanvas
// determine maximal bound rect of texture-filled
// polygon
- const ::basegfx::B2DRectangle aPolygonDeviceRectOrig(
- rPoly.getB2DRange() );
+ const ::tools::Rectangle aPolygonDeviceRectOrig(
+ rPoly.GetBoundRect() );
if( tools::isRectangle( rPoly ) )
{
@@ -482,7 +482,7 @@ namespace vclcanvas
// twice for XOR
rOutDev.Push( PushFlags::CLIPREGION );
- rOutDev.IntersectClipRegion( ::tools::Rectangle(aPolygonDeviceRectOrig) );
+ rOutDev.IntersectClipRegion( aPolygonDeviceRectOrig );
doGradientFill( rOutDev,
rValues,
rColors,
@@ -570,7 +570,7 @@ namespace vclcanvas
tools::OutDevStateKeeper aStateKeeper( mpProtectedOutDevProvider );
const int nTransparency( setupOutDevState( viewState, renderState, IGNORE_COLOR ) );
- ::basegfx::B2DPolyPolygon aPolyPoly( tools::mapPolyPolygon(
+ ::tools::PolyPolygon aPolyPoly( tools::mapPolyPolygon(
::basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(xPolyPolygon),
viewState, renderState ) );
@@ -636,7 +636,7 @@ namespace vclcanvas
// determine maximal bound rect of texture-filled
// polygon
const ::tools::Rectangle aPolygonDeviceRect(
- aPolyPoly.getB2DRange() );
+ aPolyPoly.GetBoundRect() );
// first of all, determine whether we have a
@@ -945,10 +945,8 @@ namespace vclcanvas
// shift output to origin of VDev
const ::Point aOutPos( aPt - aPolygonDeviceRect.TopLeft() );
- basegfx::B2DHomMatrix aTranslateMatrix;
- aTranslateMatrix.translate( -aPolygonDeviceRect.Left(),
- -aPolygonDeviceRect.Top() );
- aPolyPoly.transform( aTranslateMatrix );
+ aPolyPoly.Translate( ::Point( -aPolygonDeviceRect.Left(),
+ -aPolygonDeviceRect.Top() ) );
const vcl::Region aPolyClipRegion( aPolyPoly );