add text component (#4)

This commit is contained in:
Maxim Tuprikov 2019-03-27 22:20:50 +03:00 committed by GitHub
parent 3996ba4b04
commit 5709975ed4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 6 deletions

View File

@ -1,12 +1,31 @@
local data = require("druid.data")
local settings = require("druid.settings")
local M = {} local M = {}
M.interest = {
data.TRANSLATABLE,
data.LAYOUT_CHANGED
}
local ui_animate = require "druid.helper.druid_animate"
--- Bounce text field function M.init(instance, value, is_locale)
function M.bounce(instance, callback) instance.last_color = gui.get_color(instance.node)
gui.set_scale(instance.node, instance.scale_from) if is_locale then
ui_animate.bounce(nil, instance.node, instance.scale_to, callback) instance.text_id = value
instance:translate()
else
instance:set_to(value or 0)
end end
return instance
end
function M.translate(instance)
if instance.text_id then
instance:set_to(settings.get_text(instance.text_id))
end
end
--- Set text to text field --- Set text to text field
-- @param set_to - set value to text field -- @param set_to - set value to text field
@ -15,6 +34,7 @@ function M.set_to(instance, set_to)
gui.set_text(instance.node, set_to) gui.set_text(instance.node, set_to)
end end
--- Set color --- Set color
-- @param color -- @param color
function M.set_color(instance, color) function M.set_color(instance, color)
@ -22,6 +42,15 @@ function M.set_color(instance, color)
gui.set_color(instance.node, color) gui.set_color(instance.node, color)
end end
--- Set alpha
-- @param alpha, number [0-1]
function M.set_alpha(instance, alpha)
instance.last_color.w = alpha
gui.set_color(instance.node, instance.last_color)
end
--- Set scale --- Set scale
-- @param scale -- @param scale
function M.set_scale(instance, scale) function M.set_scale(instance, scale)
@ -29,6 +58,7 @@ function M.set_scale(instance, scale)
gui.set_scale(instance.node, scale) gui.set_scale(instance.node, scale)
end end
--- Called when layout updated (rotate for example) --- Called when layout updated (rotate for example)
function M.on_layout_updated(instance) function M.on_layout_updated(instance)
if instance.last_color then if instance.last_color then

View File

@ -9,8 +9,8 @@ local STRING = "string"
local components = { local components = {
-- basic -- basic
button = require("druid.base.button"), button = require("druid.base.button"),
text = require("druid.base.text"),
timer = require("druid.base.timer"), timer = require("druid.base.timer"),
-- text = require("druid.base.text"),
-- android_back = require("druid.base.android_back"), -- android_back = require("druid.base.android_back"),
} }

View File

@ -15,6 +15,7 @@ M.button = {
function M.get_text(name) function M.get_text(name)
-- override to get text for localized text -- override to get text for localized text
return "locales not inited"
end end

View File

@ -1,10 +1,18 @@
local druid = require("druid.druid") local druid = require("druid.druid")
local druid_settings = require("druid.settings") local druid_settings = require("druid.settings")
local lang = {
locale_text = "Localized"
}
local function setup_druid(self) local function setup_druid(self)
druid_settings.play_sound = function(name) druid_settings.play_sound = function(name)
sound.play("sounds#" .. name) sound.play("sounds#" .. name)
end end
druid_settings.get_text = function(text_id)
return lang[text_id]
end
end end
function init(self) function init(self)
@ -22,9 +30,14 @@ function init(self)
print("On button 3") print("On button 3")
end) end)
self.druid:new_text("text_2", "Simple text")
self.druid:new_text("text_3", "locale_text", true)
self.druid:new_timer("text_1", 0.5, 0, function() self.druid:new_timer("text_1", 0.5, 0, function()
print("On timer end") print("On timer end")
end) end)
end end
function update(self, dt) function update(self, dt)