[Libreoffice-commits] core.git: Branch 'libreoffice-5-1' - vcl/opengl

Michael Meeks michael.meeks at collabora.com
Mon Jan 11 02:08:53 PST 2016


 vcl/opengl/gdiimpl.cxx |   13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

New commits:
commit dd70c25bda8f7ad8da6e68b6e88fd222cab1a10f
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Sat Jan 9 12:13:15 2016 +0000

    tdf#96657 - vcl opengl: implement invert: Track Frame.
    
    Change-Id: I422ea8cfb8a81cca36203d496b92e15ea5b449d2
    Reviewed-on: https://gerrit.libreoffice.org/21289
    Reviewed-by: Tor Lillqvist <tml at collabora.com>
    Tested-by: Tor Lillqvist <tml at collabora.com>

diff --git a/vcl/opengl/gdiimpl.cxx b/vcl/opengl/gdiimpl.cxx
index 7304a1a..b7276ed 100644
--- a/vcl/opengl/gdiimpl.cxx
+++ b/vcl/opengl/gdiimpl.cxx
@@ -576,6 +576,7 @@ bool OpenGLSalGraphicsImpl::UseInvert( SalInvert nFlags )
     if( ( nFlags & SAL_INVERT_50 ) ||
         ( nFlags & SAL_INVERT_TRACKFRAME ) )
     {
+        // FIXME: Trackframe really should be 2 pix. on/off stipple.
         if( !UseInvert50() )
             return false;
         mpProgram->SetBlendMode( GL_ONE_MINUS_DST_COLOR,
@@ -1752,7 +1753,17 @@ void OpenGLSalGraphicsImpl::invert(
     PreDraw();
 
     if( UseInvert( nFlags ) )
-        DrawRect( nX, nY, nWidth, nHeight );
+    {
+        if( nFlags & SAL_INVERT_TRACKFRAME )
+        { // FIXME: could be more efficient.
+            DrawRect( nX, nY, nWidth, 1 );
+            DrawRect( nX, nY + nHeight, nWidth, 1 );
+            DrawRect( nX, nY, 1, nHeight );
+            DrawRect( nX + nWidth, nY, 1, nHeight );
+        }
+        else
+            DrawRect( nX, nY, nWidth, nHeight );
+    }
 
     PostDraw();
 }


More information about the Libreoffice-commits mailing list