27 lines
744 B
Lua
27 lines
744 B
Lua
local SingleChildElement = require "lib.simple_ui.core.single_child_element"
|
|
|
|
--- @class Scale : SingleChildElement
|
|
--- @field sx number
|
|
--- @field sy number
|
|
local element = setmetatable({}, SingleChildElement)
|
|
element.__index = element
|
|
element.type = "Scale"
|
|
|
|
function element:draw()
|
|
love.graphics.push("transform")
|
|
love.graphics.translate(self._offset_.x, self._offset_.y)
|
|
love.graphics.scale(self.sx, self.sy)
|
|
if self._child_ then self._child_:draw() end
|
|
love.graphics.pop()
|
|
end
|
|
|
|
--- @return Scale
|
|
--- @param values {sx: number?, sy: number?, child: UIElement?}
|
|
function element:new(values)
|
|
values.sx = values.sx or 1
|
|
values.sy = values.sy or 1
|
|
return SingleChildElement.new(self, values)
|
|
end
|
|
|
|
return element
|