vcl/opengl/RenderList.cxx | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-)
New commits: commit aeb0c407a620ea8c28903f61d9d53e6d9ae7c53a Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Thu Jul 28 04:06:04 2016 +0900 tdf#100915 draw antialiased line just for polygon outline To get the anti-aliased polygon we draw a anti-aliased line around every trapezoid. This works fine until we draw a transparent polygon where the lines become visible because of blending. A much better and faster way is to just draw the polygon outline with anti-aliased lines. This is done with this commit. Change-Id: Ice50e5eb3343f2c5d51ade8ad0e170043541f0ff Reviewed-on: https://gerrit.libreoffice.org/27611 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/vcl/opengl/RenderList.cxx b/vcl/opengl/RenderList.cxx index 5c59002..5f99513 100644 --- a/vcl/opengl/RenderList.cxx +++ b/vcl/opengl/RenderList.cxx @@ -308,23 +308,16 @@ void RenderList::addDrawPolyPolygon(const basegfx::B2DPolyPolygon& rPolyPolygon, topX1, topY, topX2, topY, bottomX1, bottomY, bottomX2, bottomY, nFillColor, fTransparency); - if (bUseAA) - { - vcl::LineBuilder aBuilder(rLineRenderParameter.maVertices, rLineRenderParameter.maIndices, - nFillColor, fTransparency, 1.0f, true); - aBuilder.appendLine(glm::vec2(topX1, topY), glm::vec2(topX2, topY)); - aBuilder.appendLine(glm::vec2(topX2, topY), glm::vec2(bottomX2, bottomY)); - aBuilder.appendLine(glm::vec2(bottomX2, bottomY), glm::vec2(bottomX1, bottomY)); - aBuilder.appendLine(glm::vec2(bottomX1, bottomY), glm::vec2(topX1, topY)); - } } } } - if (nLineColor != SALCOLOR_NONE && nLineColor != nFillColor) + if (nLineColor != SALCOLOR_NONE || bUseAA) { + SalColor nColor = (nLineColor == SALCOLOR_NONE) ? nFillColor : nLineColor; + vcl::LineBuilder aBuilder(rLineRenderParameter.maVertices, rLineRenderParameter.maIndices, - nLineColor, fTransparency, 1.0f, bUseAA); + nColor, fTransparency, 1.0f, bUseAA); for (const basegfx::B2DPolygon& rPolygon : rPolyPolygon) {
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits