local druid = require("druid.druid")

local pivots = {
	gui.PIVOT_CENTER,
	gui.PIVOT_N,
	gui.PIVOT_NE,
	gui.PIVOT_E,
	gui.PIVOT_SE,
	gui.PIVOT_S,
	gui.PIVOT_SW,
	gui.PIVOT_W,
	gui.PIVOT_NW
}


local function setup_texts(self)
	self.druid:new_text("text_inline")
	self.druid:new_text("text_multiline")
	local anchoring = self.druid:new_text("text_anchoring")
	self.druid:new_text("text_no_adjust", "Without adjust size", true)
	self.druid:new_lang_text("text_locale", "ui_text_example")

	local big_text = "Check max size"
	local width = self.druid:new_text("text_max_width", big_text)
	local height = self.druid:new_text("text_max_height", big_text)

	local pivot_index = 1
	timer.delay(0.3, true, function()
		anchoring:set_pivot(pivots[pivot_index])

		pivot_index = pivot_index + 1 
		if pivot_index > #pivots then
			pivot_index = 1
		end
	end)

	timer.delay(0.2, true, function()
		big_text = big_text .. " max"
		width:set_to(big_text)
		height:set_to(big_text)

		if #big_text > 50 then
			big_text = "Check max size"
		end
	end)
end


function init(self)
	self.druid = druid.new(self)
	setup_texts(self)
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
