Merge branch 'develop' into rich_text

This commit is contained in:
Insality
2023-02-07 19:09:38 +02:00
40 changed files with 2485 additions and 93 deletions

View File

@@ -10,7 +10,7 @@
--- On set text callback(self, text)
-- @tfield DruidEvent on_set_text @{DruidEvent}
--- On adjust text size callback(self, new_scale)
--- On adjust text size callback(self, new_scale, text_metrics)
-- @tfield DruidEvent on_update_text_scale @{DruidEvent}
--- On change pivot callback(self, pivot)
@@ -47,6 +47,7 @@
local Event = require("druid.event")
local const = require("druid.const")
local helper = require("druid.helper")
local utf8 = require("druid.system.utf8")
local component = require("druid.component")
@@ -77,7 +78,7 @@ local function update_text_area_size(self)
local max_width = self.text_area.x
local max_height = self.text_area.y
local metrics = gui.get_text_metrics_from_node(self.node)
local metrics = helper.get_text_metrics_from_node(self.node)
local scale_modifier = max_width / metrics.width
scale_modifier = math.min(scale_modifier, self.start_scale.x)
@@ -101,7 +102,7 @@ local function update_text_area_size(self)
update_text_size(self)
self.on_update_text_scale:trigger(self:get_context(), new_scale)
self.on_update_text_scale:trigger(self:get_context(), new_scale, metrics)
end
@@ -135,8 +136,8 @@ end
-- calculate space width with font
local function get_space_width(self, font)
if not self._space_width[font] then
local no_space = gui.get_text_metrics(font, "1", 0, false, 0, 0).width
local with_space = gui.get_text_metrics(font, " 1", 0, false, 0, 0).width
local no_space = resource.get_text_metrics(font, "1").width
local with_space = resource.get_text_metrics(font, " 1").width
self._space_width[font] = with_space - no_space
end