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
4 changed files with 50 additions and 6 deletions

View File

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