Skip to content

Commit

Permalink
Fix rendering of shadows when justify align is used
Browse files Browse the repository at this point in the history
(cherry picked from commit 7ee49f1)
  • Loading branch information
nyalldawson committed Dec 1, 2021
1 parent 07a18f4 commit 920d25c
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/core/textrenderer/qgstextrenderer.cpp
Expand Up @@ -1523,6 +1523,7 @@ void QgsTextRenderer::drawTextInternalHorizontal( QgsRenderContext &context, con
if ( !isFinalLineInParagraph && labelWidest > labelWidth )
{
calculateExtraSpacingForLineJustification( labelWidest - labelWidth, block, extraWordSpace, extraLetterSpace );
labelWidth = labelWidest;
}
break;

Expand Down
15 changes: 15 additions & 0 deletions tests/src/python/test_qgstextrenderer.py
Expand Up @@ -2397,6 +2397,21 @@ def testDrawShadowColor(self):
format.shadow().setOffsetUnit(QgsUnitTypes.RenderMillimeters)
assert self.checkRender(format, 'shadow_color', QgsTextRenderer.Text, text=['test'])

def testDrawShadowWithJustifyAlign(self):
format = QgsTextFormat()
format.setFont(getTestFont('bold'))
format.setSize(30)
format.setSizeUnit(QgsUnitTypes.RenderPoints)
format.shadow().setEnabled(True)
format.shadow().setShadowPlacement(QgsTextShadowSettings.ShadowText)
format.shadow().setOpacity(0.5)
format.shadow().setBlurRadius(0)
format.shadow().setOffsetDistance(5)
format.shadow().setOffsetUnit(QgsUnitTypes.RenderMillimeters)
assert self.checkRender(format, 'text_justify_aligned_with_shadow',
text=['a t est', 'off', 'justification', 'align'],
alignment=QgsTextRenderer.AlignJustify, rect=QRectF(100, 100, 200, 100))

def testDrawShadowScale(self):
format = QgsTextFormat()
format.setFont(getTestFont('bold'))
Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 920d25c

Please sign in to comment.