--[[ -- Animates Draw.lua objects. -- The positions are calculated by func on each cycle. -- See MUVAnim.lua. --]] local _G = _G local oo = require 'oo' module (...) local gui = _G.require(_PACKAGE..'gui') local Timer = _G.require(_PACKAGE..'Timer') -- Draw being animated. draw = oo._REQ -- func (params): funcao de calculo por ciclo func = oo._REQ -- params = { -- parametros da funcao de calculo: func() deve setar '_s' para determinado '_t' passado x = nil, --{ _s=nil, _t=nil }, y = nil, --{ _s=nil, _t=nil }, } local _R = {x=nil,y=nil,xp=true} function onCycle (self) for _,p in _G.ipairs(gui._AXIS) do local t = self.params[p] if t then --t._s = nil -- calcula a posicao t._t = self.t -- para o tempo corrente self.func(t) _R[p] = t._s end end self.draw:set(_R) end return oo.class(_M, Timer)