local druid = require("druid.druid") local const = require("druid.const") function init(self) self.druid = druid.new(self) self.texts = { self.druid:new_text("text_scale", nil, const.TEXT_ADJUST.DOWNSCALE), self.druid:new_text("text_trim", nil, const.TEXT_ADJUST.TRIM), self.druid:new_text("text_no_adjust", nil, const.TEXT_ADJUST.NO_ADJUST), self.druid:new_text("text_scale_limited", nil, const.TEXT_ADJUST.DOWNSCALE_LIMITED) :set_minimal_scale(0.5), self.druid:new_text("text_scroll", nil, const.TEXT_ADJUST.SCROLL), self.druid:new_text("text_scroll_scale", nil, const.TEXT_ADJUST.SCALE_THEN_SCROLL) :set_minimal_scale(0.5) } local initial_texts = {} local text_sizes = {} for _, text in pairs(self.texts) do initial_texts[text] = text.last_value text_sizes[text] = 0 end timer.delay(0.25, true, function() for _, text in pairs(self.texts) do local text_string = string.sub(initial_texts[text], 1, text_sizes[text]) text_sizes[text] = text_sizes[text] + 1 if text_sizes[text] > #initial_texts[text] then text_sizes[text] = 0 end text:set_to(text_string) end end) end function final(self) self.druid:final() end function update(self, dt) self.druid:update(dt) end function on_message(self, message_id, message, sender) self.druid:on_message(message_id, message, sender) end function on_input(self, action_id, action) return self.druid:on_input(action_id, action) end