From 73ed0c8cd0465126aea88acc0b2ab48ee1ad2e28 Mon Sep 17 00:00:00 2001 From: Insality Date: Fri, 25 Aug 2023 11:07:33 +0300 Subject: [PATCH] Fix #242 Text component metrics zero width issue --- druid/base/text.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/druid/base/text.lua b/druid/base/text.lua index 1735311..2551f2b 100755 --- a/druid/base/text.lua +++ b/druid/base/text.lua @@ -95,6 +95,7 @@ end --- Reset initial scale for text local function reset_default_scale(self) + self.scale = self.start_scale gui.set_scale(self.node, self.start_scale) gui.set_size(self.node, self.start_size) end @@ -109,6 +110,12 @@ local function update_text_area_size(self) local metrics = helper.get_text_metrics_from_node(self.node) + if metrics.width == 0 then + reset_default_scale(self) + self.on_update_text_scale:trigger(self:get_context(), self.start_scale, metrics) + return + end + local scale_modifier = max_width / metrics.width scale_modifier = math.min(scale_modifier, self.start_scale.x) @@ -128,7 +135,6 @@ local function update_text_area_size(self) local new_scale = vmath.vector3(scale_modifier, scale_modifier, self.start_scale.z) gui.set_scale(self.node, new_scale) self.scale = new_scale - update_text_size(self) self.on_update_text_scale:trigger(self:get_context(), new_scale, metrics)