canvas/source/opengl/ogl_canvashelper.cxx | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-)
New commits: commit 12d33874d6dcecdc43b82f438da0798828c7e971 Author: Michael Jaumann <meta_...@yahoo.com> Date: Wed Jan 21 09:15:59 2015 +0000 draw strokes correct dont connect single polygons from createAreaGeometry draw each polygone for itself Change-Id: Iff10fc7a221453d48ca042dd556f86b4342b60ef diff --git a/canvas/source/opengl/ogl_canvashelper.cxx b/canvas/source/opengl/ogl_canvashelper.cxx index 6397f4f0..7cdc7e6 100644 --- a/canvas/source/opengl/ogl_canvashelper.cxx +++ b/canvas/source/opengl/ogl_canvashelper.cxx @@ -659,10 +659,22 @@ namespace oglcanvas unoCapeFromCap(strokeAttributes.StartCapType) )); } - rAct.maPolyPolys.push_back(aStrokedPolyPoly); - rAct.maPolyPolys.back().makeUnique(); // own copy, for thread safety + // Note: the generated stroke poly-polygon is NOT free of + // self-intersections. Therefore, if we would render it + // via OutDev::DrawPolyPolygon(), on/off fill would + // generate off areas on those self-intersections. - rAct.maFunction = &lcl_fillPolyPolygon; + for(sal_uInt32 i=0;i<nSize; ++i) + { + ::basegfx::B2DPolyPolygon tempStrokedPoly; + tempStrokedPoly.append(aStrokedPolyPoly.getB2DPolygon(i)); + + rAct.maPolyPolys.push_back(tempStrokedPoly); + rAct.maPolyPolys.back().makeUnique(); // own copy, for thread safety + + rAct.maFunction = &lcl_fillPolyPolygon; + + } } } commit f7e8dc334ad82c182c84133420c40e77f4e68c2d Author: Michael Jaumann <meta_...@yahoo.com> Date: Wed Jan 21 09:09:51 2015 +0000 no need here for color Change-Id: I7bde6d916e801eda6bb4c5db4a050b86b6758178 diff --git a/canvas/source/opengl/ogl_canvashelper.cxx b/canvas/source/opengl/ogl_canvashelper.cxx index c3b9800..6397f4f0 100644 --- a/canvas/source/opengl/ogl_canvashelper.cxx +++ b/canvas/source/opengl/ogl_canvashelper.cxx @@ -249,10 +249,6 @@ namespace oglcanvas { RenderHelper* pRenderHelper = rHelper.getDeviceHelper()->getRenderHelper(); pRenderHelper->SetModelAndMVP(setupState(rTransform, eSrcBlend, eDstBlend)); - glm::vec4 color = glm::vec4( (float) rendering::ARGBColor().Red, - (float) rendering::ARGBColor().Green, - (float) rendering::ARGBColor().Blue, - (float) rendering::ARGBColor().Alpha); // convert to weird canvas textur coordinate system (not // [0,1]^2, but path coordinate system) @@ -334,7 +330,7 @@ namespace oglcanvas const ::basegfx::B2DHomMatrix& rTransform, GLenum eSrcBlend, GLenum eDstBlend, - const rendering::ARGBColor& rColor, + const rendering::ARGBColor& /*rColor*/, const CanvasBitmap& rBitmap ) { RenderHelper* pRenderHelper = rHelper.getDeviceHelper()->getRenderHelper(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits