From b8c669f9d96f56b93f5258748c9a30c62e25aa27 Mon Sep 17 00:00:00 2001 From: and3md Date: Wed, 29 Nov 2017 10:33:01 +0100 Subject: [PATCH] TextWidget/MultilineTextWidget fix multiline when maxWidth is set. --- src/dlangui/widgets/controls.d | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/dlangui/widgets/controls.d b/src/dlangui/widgets/controls.d index 2e3c6395..61aea237 100644 --- a/src/dlangui/widgets/controls.d +++ b/src/dlangui/widgets/controls.d @@ -119,8 +119,15 @@ class TextWidget : Widget { override void measure(int parentWidth, int parentHeight) { FontRef font = font(); - uint w = (maxLines == 1) ? MAX_WIDTH_UNSPECIFIED : - parentWidth - margins.left - margins.right - padding.left - padding.right; + + uint w; + if (maxLines == 1) + w = MAX_WIDTH_UNSPECIFIED; + else { + w = parentWidth - margins.left - margins.right - padding.left - padding.right; + if (maxWidth > 0 && maxWidth < w) + w = maxWidth - padding.left - padding.right; + } uint flags = textFlags; // optimization: do not measure if nothing changed