Add widget state setter, fi-lo drawing order.

This commit is contained in:
Matthias Richter 2017-04-13 21:30:45 +02:00
parent 6cb5596437
commit c0943eae16
2 changed files with 20 additions and 1 deletions

View file

@ -36,6 +36,10 @@ function suit.getOptionsAndSize(opt, ...)
end
-- gui state
function suit:setHovered(id)
return self.hovered ~= id
end
function suit:anyHovered()
return self.hovered ~= nil
end
@ -48,6 +52,10 @@ function suit:wasHovered(id)
return id == self.hovered_last
end
function suit:setActive(id)
return self.active ~= nil
end
function suit:anyActive()
return self.active ~= nil
end
@ -56,6 +64,14 @@ function suit:isActive(id)
return id == self.active
end
function suit:setHit(id)
self.hit = id
-- simulate mouse release on button -- see suit:mouseReleasedOn()
self.mouse_button_down = false
self.active = id
self.hovered = id
end
function suit:anyHit()
return self.hit ~= nil
end
@ -182,7 +198,7 @@ end
function suit:draw()
self:exitFrame()
love.graphics.push('all')
for i = 1,self.draw_queue.n do
for i = self.draw_queue.n,1,-1 do
self.draw_queue[i]()
end
love.graphics.pop()