[Libreoffice-commits] core.git: Branch 'feature/opengl-vcl' - vcl/opengl vcl/workben

Michael Meeks michael.meeks at collabora.com
Sat Nov 15 08:54:37 PST 2014


 vcl/opengl/gdiimpl.cxx  |    5 +++++
 vcl/workben/vcldemo.cxx |    1 +
 2 files changed, 6 insertions(+)

New commits:
commit d36a86d8d64a878e90bb57274dce5aca759caa17
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Sat Nov 15 17:33:36 2014 +0100

    vcldemo: disable broken gradient stencil use.
    
    Change-Id: Ifce85b1a7fa8e8b6fc57802a5fb559d2db50ba2a

diff --git a/vcl/opengl/gdiimpl.cxx b/vcl/opengl/gdiimpl.cxx
index e630bf9..5c5eae3 100644
--- a/vcl/opengl/gdiimpl.cxx
+++ b/vcl/opengl/gdiimpl.cxx
@@ -1447,6 +1447,8 @@ bool OpenGLSalGraphicsImpl::drawGradient(const tools::PolyPolygon& rPolyPoly,
 
     PreDraw();
 
+#define FIXME_BROKEN_STENCIL_FOR_GRADIENTS 0
+#if FIXME_BROKEN_STENCIL_FOR_GRADIENTS
     ImplSetClipBit( vcl::Region( rPolyPoly ), 0x02 );
     if( mbUseStencil )
     {
@@ -1458,6 +1460,7 @@ bool OpenGLSalGraphicsImpl::drawGradient(const tools::PolyPolygon& rPolyPoly,
         glEnable( GL_STENCIL_TEST );
         glStencilFunc( GL_EQUAL, 2, 0xFF );
     }
+#endif
 
     // if border >= 100%, draw solid rectangle with start color
     if( rGradient.GetBorder() >= 100.0 )
@@ -1482,8 +1485,10 @@ bool OpenGLSalGraphicsImpl::drawGradient(const tools::PolyPolygon& rPolyPoly,
         DrawRadialGradient( rGradient, aBoundRect );
     }
 
+#if FIXME_BROKEN_STENCIL_FOR_GRADIENTS
     if( !mbUseStencil )
         glDisable( GL_STENCIL_TEST );
+#endif
     PostDraw();
 
     CHECK_GL_ERROR();
diff --git a/vcl/workben/vcldemo.cxx b/vcl/workben/vcldemo.cxx
index 6f6ae4b..405ea18 100644
--- a/vcl/workben/vcldemo.cxx
+++ b/vcl/workben/vcldemo.cxx
@@ -177,6 +177,7 @@ public:
 
     void drawBackground(OutputDevice &rDev, Rectangle r)
     {
+        rDev.Erase();
         Gradient aGradient;
         aGradient.SetStartColor(COL_BLUE);
         aGradient.SetEndColor(COL_GREEN);


More information about the Libreoffice-commits mailing list