Skip to content

Commit 920d25c

Browse files
committedDec 1, 2021
Fix rendering of shadows when justify align is used
(cherry picked from commit 7ee49f1)
1 parent 07a18f4 commit 920d25c

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed
 

‎src/core/textrenderer/qgstextrenderer.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1523,6 +1523,7 @@ void QgsTextRenderer::drawTextInternalHorizontal( QgsRenderContext &context, con
15231523
if ( !isFinalLineInParagraph && labelWidest > labelWidth )
15241524
{
15251525
calculateExtraSpacingForLineJustification( labelWidest - labelWidth, block, extraWordSpace, extraLetterSpace );
1526+
labelWidth = labelWidest;
15261527
}
15271528
break;
15281529

‎tests/src/python/test_qgstextrenderer.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2397,6 +2397,21 @@ def testDrawShadowColor(self):
23972397
format.shadow().setOffsetUnit(QgsUnitTypes.RenderMillimeters)
23982398
assert self.checkRender(format, 'shadow_color', QgsTextRenderer.Text, text=['test'])
23992399

2400+
def testDrawShadowWithJustifyAlign(self):
2401+
format = QgsTextFormat()
2402+
format.setFont(getTestFont('bold'))
2403+
format.setSize(30)
2404+
format.setSizeUnit(QgsUnitTypes.RenderPoints)
2405+
format.shadow().setEnabled(True)
2406+
format.shadow().setShadowPlacement(QgsTextShadowSettings.ShadowText)
2407+
format.shadow().setOpacity(0.5)
2408+
format.shadow().setBlurRadius(0)
2409+
format.shadow().setOffsetDistance(5)
2410+
format.shadow().setOffsetUnit(QgsUnitTypes.RenderMillimeters)
2411+
assert self.checkRender(format, 'text_justify_aligned_with_shadow',
2412+
text=['a t est', 'off', 'justification', 'align'],
2413+
alignment=QgsTextRenderer.AlignJustify, rect=QRectF(100, 100, 200, 100))
2414+
24002415
def testDrawShadowScale(self):
24012416
format = QgsTextFormat()
24022417
format.setFont(getTestFont('bold'))

0 commit comments

Comments
 (0)
Please sign in to comment.