From 269cf9dabcddb337557d6e4bcfaeaae4fe307891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Mon, 28 Sep 2020 09:04:37 +0100 Subject: [PATCH] Resolves: tdf#137071 draw canvas under/over lines after background MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I066529af010ca4e34b370e462b3e9de1173e6096 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103531 Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara --- cppcanvas/source/mtfrenderer/textaction.cxx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/cppcanvas/source/mtfrenderer/textaction.cxx b/cppcanvas/source/mtfrenderer/textaction.cxx index 277dc4e0d692..42621e819455 100644 --- a/cppcanvas/source/mtfrenderer/textaction.cxx +++ b/cppcanvas/source/mtfrenderer/textaction.cxx @@ -904,10 +904,6 @@ namespace cppcanvas::internal const rendering::ViewState& rViewState( mpCanvas->getViewState() ); const uno::Reference< rendering::XCanvas >& rCanvas( mpCanvas->getUNOCanvas() ); - rCanvas->fillPolyPolygon( mxTextLines, - rViewState, - rRenderState ); - //rhbz#1589029 non-transparent text fill background support if (rTextFillColor != COL_AUTO) { @@ -919,6 +915,11 @@ namespace cppcanvas::internal rCanvas->fillPolyPolygon(xTextBounds, rViewState, aLocalState); } + // under/over lines + rCanvas->fillPolyPolygon( mxTextLines, + rViewState, + rRenderState ); + rCanvas->drawText( maStringContext, mxFont, rViewState, rRenderState, @@ -1367,8 +1368,6 @@ namespace cppcanvas::internal const rendering::ViewState& rViewState( mpCanvas->getViewState() ); const uno::Reference< rendering::XCanvas >& rCanvas( mpCanvas->getUNOCanvas() ); - maTextLinesHelper.render(rRenderState, bNormalText); - //rhbz#1589029 non-transparent text fill background support if (rTextFillColor != COL_AUTO) { @@ -1380,6 +1379,9 @@ namespace cppcanvas::internal rCanvas->fillPolyPolygon(xTextBounds, rViewState, aLocalState); } + // under/over lines + maTextLinesHelper.render(rRenderState, bNormalText); + rCanvas->drawTextLayout( mxTextLayout, rViewState, rRenderState );