tdf#96657 - vcl opengl: implement invert: Track Frame.

Change-Id: I422ea8cfb8a81cca36203d496b92e15ea5b449d2
Reviewed-on: https://gerrit.libreoffice.org/21291
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
This commit is contained in:
Michael Meeks
2016-01-09 12:13:15 +00:00
parent 7ede462d8a
commit 60790935cc

View File

@@ -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,
@@ -1757,7 +1758,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();
}