37 lines
855 B
Lua
37 lines
855 B
Lua
-- @docclass
|
|
UIProgressBar = extends(UIWidget)
|
|
|
|
function UIProgressBar.create()
|
|
local progressbar = UIProgressBar.internalCreate()
|
|
progressbar:setFocusable(false)
|
|
progressbar:setPhantom(true)
|
|
progressbar.percent = 0
|
|
progressbar:updateBackground()
|
|
return progressbar
|
|
end
|
|
|
|
function UIProgressBar:setPercent(percent)
|
|
self.percent = math.max(math.min(percent, 100), 0)
|
|
self:updateBackground()
|
|
end
|
|
|
|
|
|
function UIProgressBar:getPercent()
|
|
return self.percent
|
|
end
|
|
|
|
function UIProgressBar:getPercentPixels()
|
|
return 100 / self:getWidth()
|
|
end
|
|
|
|
function UIProgressBar:updateBackground()
|
|
local width = math.round(math.max((self.percent * self:getWidth())/100, 1))
|
|
local height = self:getHeight()
|
|
self:setBackgroundSize({width=width, height=height})
|
|
end
|
|
|
|
|
|
function UIProgressBar:onGeometryChange(oldRect, newRect)
|
|
self:updateBackground()
|
|
end
|