diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2016-05-31 12:04:03 +0900 |
---|---|---|
committer | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2016-06-08 11:39:22 +0900 |
commit | bb157523310eb237dc16818f24df58d110242367 (patch) | |
tree | 2c06b020a8c7aea7cddec253e2a19cd95889379a | |
parent | 2003076c4318511a3d621558d3b44b4e8e6c6529 (diff) |
opengl: fix transparency when drawing polypolygons
Change-Id: I963b1bbf322acb20bf4e21834ba9c7ae400eaf7d
-rw-r--r-- | vcl/opengl/gdiimpl.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/vcl/opengl/gdiimpl.cxx b/vcl/opengl/gdiimpl.cxx index 60ffc32af7cd..0d939e31df2f 100644 --- a/vcl/opengl/gdiimpl.cxx +++ b/vcl/opengl/gdiimpl.cxx @@ -1556,6 +1556,7 @@ void OpenGLSalGraphicsImpl::FlushDeferredDrawing() RenderParameters& rParameters = rRenderEntry.maTriangleParameters; VCL_GL_INFO("Flush Triangles: " << rParameters.maVertices.size()); mpProgram->SetShaderType(DrawShaderType::Normal); + mpProgram->SetBlendMode(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); ApplyProgramMatrices(0.5f); mpProgram->SetExtrusionVectors(rParameters.maExtrusionVectors.data()); mpProgram->SetVertexColors(rParameters.maColors); @@ -1735,6 +1736,7 @@ void OpenGLSalGraphicsImpl::drawRect( long nX, long nY, long nWidth, long nHeigh void OpenGLSalGraphicsImpl::drawPolyLine( sal_uInt32 nPoints, const SalPoint* pPtAry ) { + VCL_GL_INFO("::drawPolyLine legacy -> redirecting to drawPolyLine"); basegfx::B2DPolygon aPoly; aPoly.append(basegfx::B2DPoint(pPtAry->mnX, pPtAry->mnY), nPoints); for (sal_uInt32 i = 1; i < nPoints; ++i) @@ -1747,6 +1749,7 @@ void OpenGLSalGraphicsImpl::drawPolyLine( sal_uInt32 nPoints, const SalPoint* pP void OpenGLSalGraphicsImpl::drawPolygon( sal_uInt32 nPoints, const SalPoint* pPtAry ) { + VCL_GL_INFO("::drawPolygon legacy -> redirecting to drawPolyPolygon with transparency"); basegfx::B2DPolygon aPoly; aPoly.append(basegfx::B2DPoint(pPtAry->mnX, pPtAry->mnY), nPoints); for (sal_uInt32 i = 1; i < nPoints; ++i) @@ -1757,6 +1760,7 @@ void OpenGLSalGraphicsImpl::drawPolygon( sal_uInt32 nPoints, const SalPoint* pPt void OpenGLSalGraphicsImpl::drawPolyPolygon( sal_uInt32 nPoly, const sal_uInt32* pPointCounts, PCONSTSALPOINT* pPtAry ) { + VCL_GL_INFO("::drawPolyPolygon legacy -> redirecting to drawPolyPolygon with transparency"); basegfx::B2DPolyPolygon aPolyPoly; for(sal_uInt32 nPolygon = 0; nPolygon < nPoly; ++nPolygon) { |