mirror of
https://github.com/TangentFoxy/Pop.Box.git
synced 2024-12-15 12:44:20 +00:00
commenting and fixed a bug with mousehandling
This commit is contained in:
parent
be81f3d1a1
commit
441e0647b8
@ -86,6 +86,7 @@ function love.update(dt)
|
||||
|
||||
if not videoFile:isPlaying() then
|
||||
videoFile:rewind()
|
||||
videoFile:play() -- sometimes rewinding at the end of play fails to start a loop
|
||||
end
|
||||
end
|
||||
|
||||
@ -94,7 +95,6 @@ function love.draw()
|
||||
|
||||
if debugDraw then
|
||||
pop.debugDraw()
|
||||
--w2:debugDraw()
|
||||
end
|
||||
end
|
||||
|
||||
@ -131,7 +131,7 @@ function love.keypressed(key)
|
||||
end
|
||||
|
||||
if (key == "p") and (not handled) then
|
||||
pop.printElementStack()
|
||||
pop.printElementTree()
|
||||
end
|
||||
|
||||
if (key == "escape") and (not handled) then
|
||||
|
@ -54,12 +54,12 @@ do
|
||||
return self
|
||||
end,
|
||||
addChild = function(self, child)
|
||||
self.window:addChild(child)
|
||||
self.area:addChild(child)
|
||||
return self
|
||||
end,
|
||||
removeChild = function(self, child)
|
||||
local result = self.window:removeChild(child)
|
||||
if result == self.window then
|
||||
local result = self.area:removeChild(child)
|
||||
if result == self.area then
|
||||
return self
|
||||
elseif type(result) == "string" then
|
||||
for k, v in ipairs(self.child) do
|
||||
@ -74,14 +74,14 @@ do
|
||||
end
|
||||
end,
|
||||
getChildren = function(self)
|
||||
return self.window.child
|
||||
return self.area.child
|
||||
end,
|
||||
align = function(self, horizontal, vertical, toPixel)
|
||||
_class_0.__parent.__base.align(self, horizontal, vertical, toPixel)
|
||||
for i = 1, #self.child do
|
||||
self.child[i]:align()
|
||||
end
|
||||
self.window:move(nil, self.head:getHeight())
|
||||
self.area:move(nil, self.head:getHeight())
|
||||
return self
|
||||
end,
|
||||
setSize = function(self, w, h)
|
||||
@ -99,7 +99,7 @@ do
|
||||
else
|
||||
self.head:setWidth(w)
|
||||
end
|
||||
self.window:setWidth(w)
|
||||
self.area:setWidth(w)
|
||||
self.w = w
|
||||
self.x = self.x + x
|
||||
self.title:align()
|
||||
@ -115,12 +115,12 @@ do
|
||||
elseif "right" == _exp_0 then
|
||||
y = y - (h - self.h)
|
||||
end
|
||||
self.window:setHeight(h)
|
||||
self.area:setHeight(h)
|
||||
self.h = h + self.head:getHeight()
|
||||
self.y = self.y + y
|
||||
end
|
||||
self.head:move(x, y)
|
||||
self.window:move(x, y)
|
||||
self.area:move(x, y)
|
||||
return self
|
||||
end,
|
||||
setWidth = function(self, w)
|
||||
@ -136,7 +136,7 @@ do
|
||||
else
|
||||
self.head:setWidth(w)
|
||||
end
|
||||
self.window:setWidth(w)
|
||||
self.area:setWidth(w)
|
||||
self.w = w
|
||||
self.x = self.x + x
|
||||
self.title:align()
|
||||
@ -144,7 +144,7 @@ do
|
||||
self.close:align()
|
||||
end
|
||||
self.head:move(x)
|
||||
self.window:move(x)
|
||||
self.area:move(x)
|
||||
return self
|
||||
end,
|
||||
setHeight = function(self, h)
|
||||
@ -156,12 +156,12 @@ do
|
||||
elseif "right" == _exp_0 then
|
||||
y = y - (h - self.h)
|
||||
end
|
||||
self.window:setHeight(h)
|
||||
self.area:setHeight(h)
|
||||
self.h = h + self.head:getHeight()
|
||||
self.y = self.y + y
|
||||
self.head:move(nil, y)
|
||||
self.title:move(nil, y)
|
||||
self.window:move(nil, y)
|
||||
self.area:move(nil, y)
|
||||
return self
|
||||
end,
|
||||
setTitle = function(self, title)
|
||||
@ -250,24 +250,24 @@ do
|
||||
_class_0.__parent.__init(self, parent)
|
||||
self.head = box(self, tBackground)
|
||||
self.title = text(self.head, title, tColor)
|
||||
self.window = box(self, wBackground)
|
||||
self.area = box(self, wBackground)
|
||||
self.close = box(self, closeImage)
|
||||
local height = self.title:getHeight()
|
||||
self.head:setSize(self.w - height, height)
|
||||
self.window:move(nil, height)
|
||||
self.area:move(nil, height)
|
||||
self.close:align("right"):setSize(height, height)
|
||||
self:setSize(100, 80)
|
||||
self.child = {
|
||||
self.head,
|
||||
self.title,
|
||||
self.window,
|
||||
self.area,
|
||||
self.close
|
||||
}
|
||||
self.titleOverflow = "trunicate"
|
||||
self.window.mousepressed = function()
|
||||
self.area.mousepressed = function()
|
||||
return true
|
||||
end
|
||||
self.window.clicked = function()
|
||||
self.area.clicked = function()
|
||||
return true
|
||||
end
|
||||
self.close.clicked = function()
|
||||
|
@ -1,3 +1,10 @@
|
||||
local pop = {
|
||||
_VERSION = 'Pop.Box v0.0.0',
|
||||
_DESCRIPTION = 'GUI library for LOVE, designed for ease of use',
|
||||
_URL = 'http://github.com/Guard13007/Pop.Box',
|
||||
_LICENSE = 'The MIT License (MIT)',
|
||||
_AUTHOR = 'Paul Liverman III'
|
||||
}
|
||||
if not (love.getVersion) then
|
||||
error("Pop.Box only supports LOVE versions >= 0.9.1")
|
||||
end
|
||||
@ -11,7 +18,6 @@ insert = table.insert
|
||||
local inheritsFromElement
|
||||
inheritsFromElement = require(tostring(...) .. "/util").inheritsFromElement
|
||||
local path = ...
|
||||
local pop = { }
|
||||
pop.elements = { }
|
||||
pop.skins = { }
|
||||
pop.screen = false
|
||||
@ -139,9 +145,11 @@ pop.mousepressed = function(x, y, button, element)
|
||||
local handled = false
|
||||
if (x >= element.x) and (x <= element.x + element.w) and (y >= element.y) and (y <= element.y + element.h) then
|
||||
for i = #element.child, 1, -1 do
|
||||
handled = pop.mousepressed(x, y, button, element.child[i])
|
||||
if handled then
|
||||
break
|
||||
do
|
||||
handled = pop.mousepressed(x, y, button, element.child[i])
|
||||
if handled then
|
||||
return handled
|
||||
end
|
||||
end
|
||||
end
|
||||
if not (handled) then
|
||||
@ -165,7 +173,7 @@ pop.mousereleased = function(x, y, button, element)
|
||||
for i = #element.child, 1, -1 do
|
||||
clickedHandled, mousereleasedHandled = pop.mousereleased(x, y, button, element.child[i])
|
||||
if clickedHandled or mousereleasedHandled then
|
||||
break
|
||||
return clickedHandled, mousereleasedHandled
|
||||
end
|
||||
end
|
||||
if not (clickedHandled or mousereleasedHandled) then
|
||||
@ -180,6 +188,9 @@ pop.mousereleased = function(x, y, button, element)
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
print("mousereleased", x, y, button)
|
||||
pop.mousereleased(x, y, button, pop.screen)
|
||||
end
|
||||
return clickedHandled, mousereleasedHandled
|
||||
end
|
||||
@ -254,7 +265,7 @@ pop.debugDraw = function(element)
|
||||
pop.debugDraw(element.child[i])
|
||||
end
|
||||
end
|
||||
pop.printElementStack = function(element, depth)
|
||||
pop.printElementTree = function(element, depth)
|
||||
if element == nil then
|
||||
element = pop.screen
|
||||
end
|
||||
|
@ -54,12 +54,12 @@ do
|
||||
return self
|
||||
end,
|
||||
addChild = function(self, child)
|
||||
self.window:addChild(child)
|
||||
self.area:addChild(child)
|
||||
return self
|
||||
end,
|
||||
removeChild = function(self, child)
|
||||
local result = self.window:removeChild(child)
|
||||
if result == self.window then
|
||||
local result = self.area:removeChild(child)
|
||||
if result == self.area then
|
||||
return self
|
||||
elseif type(result) == "string" then
|
||||
for k, v in ipairs(self.child) do
|
||||
@ -74,14 +74,14 @@ do
|
||||
end
|
||||
end,
|
||||
getChildren = function(self)
|
||||
return self.window.child
|
||||
return self.area.child
|
||||
end,
|
||||
align = function(self, horizontal, vertical, toPixel)
|
||||
_class_0.__parent.__base.align(self, horizontal, vertical, toPixel)
|
||||
for i = 1, #self.child do
|
||||
self.child[i]:align()
|
||||
end
|
||||
self.window:move(nil, self.head:getHeight())
|
||||
self.area:move(nil, self.head:getHeight())
|
||||
return self
|
||||
end,
|
||||
setSize = function(self, w, h)
|
||||
@ -99,7 +99,7 @@ do
|
||||
else
|
||||
self.head:setWidth(w)
|
||||
end
|
||||
self.window:setWidth(w)
|
||||
self.area:setWidth(w)
|
||||
self.w = w
|
||||
self.x = self.x + x
|
||||
self.title:align()
|
||||
@ -115,12 +115,12 @@ do
|
||||
elseif "right" == _exp_0 then
|
||||
y = y - (h - self.h)
|
||||
end
|
||||
self.window:setHeight(h)
|
||||
self.area:setHeight(h)
|
||||
self.h = h + self.head:getHeight()
|
||||
self.y = self.y + y
|
||||
end
|
||||
self.head:move(x, y)
|
||||
self.window:move(x, y)
|
||||
self.area:move(x, y)
|
||||
return self
|
||||
end,
|
||||
setWidth = function(self, w)
|
||||
@ -136,7 +136,7 @@ do
|
||||
else
|
||||
self.head:setWidth(w)
|
||||
end
|
||||
self.window:setWidth(w)
|
||||
self.area:setWidth(w)
|
||||
self.w = w
|
||||
self.x = self.x + x
|
||||
self.title:align()
|
||||
@ -144,7 +144,7 @@ do
|
||||
self.close:align()
|
||||
end
|
||||
self.head:move(x)
|
||||
self.window:move(x)
|
||||
self.area:move(x)
|
||||
return self
|
||||
end,
|
||||
setHeight = function(self, h)
|
||||
@ -156,12 +156,12 @@ do
|
||||
elseif "right" == _exp_0 then
|
||||
y = y - (h - self.h)
|
||||
end
|
||||
self.window:setHeight(h)
|
||||
self.area:setHeight(h)
|
||||
self.h = h + self.head:getHeight()
|
||||
self.y = self.y + y
|
||||
self.head:move(nil, y)
|
||||
self.title:move(nil, y)
|
||||
self.window:move(nil, y)
|
||||
self.area:move(nil, y)
|
||||
return self
|
||||
end,
|
||||
setTitle = function(self, title)
|
||||
@ -250,24 +250,24 @@ do
|
||||
_class_0.__parent.__init(self, parent)
|
||||
self.head = box(self, tBackground)
|
||||
self.title = text(self.head, title, tColor)
|
||||
self.window = box(self, wBackground)
|
||||
self.area = box(self, wBackground)
|
||||
self.close = box(self, closeImage)
|
||||
local height = self.title:getHeight()
|
||||
self.head:setSize(self.w - height, height)
|
||||
self.window:move(nil, height)
|
||||
self.area:move(nil, height)
|
||||
self.close:align("right"):setSize(height, height)
|
||||
self:setSize(100, 80)
|
||||
self.child = {
|
||||
self.head,
|
||||
self.title,
|
||||
self.window,
|
||||
self.area,
|
||||
self.close
|
||||
}
|
||||
self.titleOverflow = "trunicate"
|
||||
self.window.mousepressed = function()
|
||||
self.area.mousepressed = function()
|
||||
return true
|
||||
end
|
||||
self.window.clicked = function()
|
||||
self.area.clicked = function()
|
||||
return true
|
||||
end
|
||||
self.close.clicked = function()
|
||||
|
@ -1,3 +1,10 @@
|
||||
local pop = {
|
||||
_VERSION = 'Pop.Box v0.0.0',
|
||||
_DESCRIPTION = 'GUI library for LOVE, designed for ease of use',
|
||||
_URL = 'http://github.com/Guard13007/Pop.Box',
|
||||
_LICENSE = 'The MIT License (MIT)',
|
||||
_AUTHOR = 'Paul Liverman III'
|
||||
}
|
||||
if not (love.getVersion) then
|
||||
error("Pop.Box only supports LOVE versions >= 0.9.1")
|
||||
end
|
||||
@ -11,7 +18,6 @@ insert = table.insert
|
||||
local inheritsFromElement
|
||||
inheritsFromElement = require(tostring(...) .. "/util").inheritsFromElement
|
||||
local path = ...
|
||||
local pop = { }
|
||||
pop.elements = { }
|
||||
pop.skins = { }
|
||||
pop.screen = false
|
||||
@ -139,9 +145,11 @@ pop.mousepressed = function(x, y, button, element)
|
||||
local handled = false
|
||||
if (x >= element.x) and (x <= element.x + element.w) and (y >= element.y) and (y <= element.y + element.h) then
|
||||
for i = #element.child, 1, -1 do
|
||||
handled = pop.mousepressed(x, y, button, element.child[i])
|
||||
if handled then
|
||||
break
|
||||
do
|
||||
handled = pop.mousepressed(x, y, button, element.child[i])
|
||||
if handled then
|
||||
return handled
|
||||
end
|
||||
end
|
||||
end
|
||||
if not (handled) then
|
||||
@ -165,7 +173,7 @@ pop.mousereleased = function(x, y, button, element)
|
||||
for i = #element.child, 1, -1 do
|
||||
clickedHandled, mousereleasedHandled = pop.mousereleased(x, y, button, element.child[i])
|
||||
if clickedHandled or mousereleasedHandled then
|
||||
break
|
||||
return clickedHandled, mousereleasedHandled
|
||||
end
|
||||
end
|
||||
if not (clickedHandled or mousereleasedHandled) then
|
||||
@ -180,6 +188,9 @@ pop.mousereleased = function(x, y, button, element)
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
print("mousereleased", x, y, button)
|
||||
pop.mousereleased(x, y, button, pop.screen)
|
||||
end
|
||||
return clickedHandled, mousereleasedHandled
|
||||
end
|
||||
@ -254,7 +265,7 @@ pop.debugDraw = function(element)
|
||||
pop.debugDraw(element.child[i])
|
||||
end
|
||||
end
|
||||
pop.printElementStack = function(element, depth)
|
||||
pop.printElementTree = function(element, depth)
|
||||
if element == nil then
|
||||
element = pop.screen
|
||||
end
|
||||
|
@ -1,30 +1,9 @@
|
||||
pop = {
|
||||
_VERSION = 'Pop.Box v0.0.0'
|
||||
_DESCRIPTION = 'A GUI library for LOVE.'
|
||||
_URL = 'http://github.com/Guard13007/Pop.Box'
|
||||
_LICENSE = '
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2016 Paul Liverman III
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
'
|
||||
_VERSION: 'Pop.Box v0.0.0'
|
||||
_DESCRIPTION: 'GUI library for LOVE, designed for ease of use'
|
||||
_URL: 'http://github.com/Guard13007/Pop.Box'
|
||||
_LICENSE: 'The MIT License (MIT)'
|
||||
_AUTHOR: 'Paul Liverman III'
|
||||
}
|
||||
|
||||
unless love.getVersion
|
||||
@ -38,7 +17,6 @@ path = ...
|
||||
|
||||
pop.elements = {}
|
||||
pop.skins = {}
|
||||
--pop.events = {} --NOTE leave this commented out for now, as it may be needed again
|
||||
|
||||
pop.screen = false -- initialized in pop.load()
|
||||
pop.focused = false
|
||||
@ -71,7 +49,7 @@ pop.load = ->
|
||||
|
||||
print "wrapper created: \"pop.#{name}()\""
|
||||
|
||||
-- works just like above, except no wrappers
|
||||
-- works just like above, except no load calls or wrappers
|
||||
skins = filesystem.getDirectoryItems "#{path}/skins"
|
||||
|
||||
for i = 1, #skins
|
||||
@ -83,7 +61,7 @@ pop.load = ->
|
||||
|
||||
print "skin loaded: \"#{name}\""
|
||||
|
||||
-- load extensions by just running them via require
|
||||
-- (again, similar) load extensions by just running them via require
|
||||
extensions = filesystem.getDirectoryItems "#{path}/extensions"
|
||||
|
||||
for i = 1, #extensions
|
||||
@ -95,20 +73,20 @@ pop.load = ->
|
||||
|
||||
print "extension loaded: \"#{name}\""
|
||||
|
||||
-- main window (called screen because there is a window element class)
|
||||
-- GUI screen area
|
||||
pop.screen = pop.create("element", false)\setSize(graphics.getWidth!, graphics.getHeight!)
|
||||
print "created \"pop.screen\""
|
||||
|
||||
-- creates an element with specified parent (parent can be false or non-existent)
|
||||
-- creates an element (parent is an element, false, or nil (defaults to pop.screen))
|
||||
pop.create = (element, parent=pop.screen, ...) ->
|
||||
-- if valid parent element (includes default of pop.screen when no parent has been passed)
|
||||
-- if valid parent element
|
||||
if inheritsFromElement parent
|
||||
element = pop.elements[element](parent, ...)
|
||||
insert parent.child, element
|
||||
-- if explicitly no parent
|
||||
elseif parent == false
|
||||
element = pop.elements[element](false, ...)
|
||||
-- else we use pop.screen, and "parent" is actually first argument
|
||||
-- else use pop.screen, and "parent" is actually first argument
|
||||
else
|
||||
element = pop.elements[element](pop.screen, parent, ...)
|
||||
insert pop.screen.child, element
|
||||
@ -129,6 +107,7 @@ pop.draw = (element=pop.screen) ->
|
||||
for i = 1, #element.child
|
||||
pop.draw element.child[i]
|
||||
|
||||
--TODO implement a way for an element to attach itself to mousemoved events
|
||||
pop.mousemoved = (x, y, dx, dy) ->
|
||||
if pop.focused and pop.focused.mousemoved
|
||||
return pop.focused\mousemoved x, y, dx, dy
|
||||
@ -136,68 +115,68 @@ pop.mousemoved = (x, y, dx, dy) ->
|
||||
return false
|
||||
|
||||
pop.mousepressed = (x, y, button, element) ->
|
||||
-- start at the screen, print that we received an event
|
||||
unless element
|
||||
print "mousepressed", x, y, button
|
||||
element = pop.screen
|
||||
|
||||
-- have we handled the event?
|
||||
handled = false
|
||||
|
||||
-- if it was inside the current element..
|
||||
if (x >= element.x) and (x <= element.x + element.w) and (y >= element.y) and (y <= element.y + element.h)
|
||||
-- check its child elements in reverse order, returning if something handles it
|
||||
for i = #element.child, 1, -1
|
||||
handled = pop.mousepressed x, y, button, element.child[i]
|
||||
if handled
|
||||
break
|
||||
if handled = pop.mousepressed x, y, button, element.child[i]
|
||||
return handled
|
||||
|
||||
-- if a child hasn't handled it yet
|
||||
unless handled
|
||||
-- if we can handle it and are visible, try to handle it, and set pop.focused
|
||||
if element.mousepressed and (not element.excludeDraw)
|
||||
if handled = element\mousepressed x - element.x, y - element.y, button
|
||||
pop.focused = element
|
||||
--NOTE this might end up being needed in the future
|
||||
-- if it is, add an ability for a mousepressed handler to cancel saving
|
||||
-- the event, and make sure the window element's area does this
|
||||
--pop.events[button] = element
|
||||
|
||||
-- have we handled the event?
|
||||
return handled
|
||||
|
||||
pop.mousereleased = (x, y, button, element) ->
|
||||
-- we are trying to handle a clicked or mousereleased event
|
||||
clickedHandled = false
|
||||
mousereleasedHandled = false
|
||||
|
||||
-- if we have an element, and are within its bounds
|
||||
if element
|
||||
if (x >= element.x) and (x <= element.x + element.w) and (y >= element.y) and (y <= element.y + element.h)
|
||||
-- check its children in reverse for handling a clicked or mousereleased event
|
||||
for i = #element.child, 1, -1
|
||||
clickedHandled, mousereleasedHandled = pop.mousereleased x, y, button, element.child[i]
|
||||
if clickedHandled or mousereleasedHandled
|
||||
break
|
||||
return clickedHandled, mousereleasedHandled
|
||||
|
||||
-- if that doesn't work, we try to handle it ourselves
|
||||
unless clickedHandled or mousereleasedHandled
|
||||
-- clicked only happens on visible elements, mousereleased happens either way
|
||||
if element.clicked and (not element.excludeDraw)
|
||||
clickedHandled = element\clicked x - element.x, y - element.y, button
|
||||
if element.mousereleased
|
||||
mousereleasedHandled = element\mousereleased x - element.x, y - element.y, button
|
||||
|
||||
-- if we clicked, we're focused!
|
||||
if clickedHandled
|
||||
pop.focused = element
|
||||
|
||||
--else
|
||||
-- print "mousereleased", x, y, button
|
||||
-- if element = pop.events[button]
|
||||
-- if element.clicked and (not element.excludeDraw) --and (x >= element.x) and (x <= element.x + element.w) and (y >= element.y) and (y <= element.y + element.h)
|
||||
-- if clickedHandled = element\clicked x - element.x, y - element.y, button
|
||||
-- pop.events[button] = nil
|
||||
|
||||
-- if element.mousereleased
|
||||
-- if mousereleasedHandled = element\mousereleased x - element.x, y - element.y, button
|
||||
-- pop.events[button] = nil
|
||||
|
||||
-- if (not clickedHandled) and (not mousereleasedHandled)
|
||||
-- clickedHandled, mousereleasedHandled = pop.mousereleased x, y, button, pop.screen
|
||||
-- else, default to pop.screen to begin! (and print that we received an event)
|
||||
else
|
||||
print "mousereleased", x, y, button
|
||||
pop.mousereleased x, y, button, pop.screen
|
||||
|
||||
return clickedHandled, mousereleasedHandled
|
||||
|
||||
pop.keypressed = (key) ->
|
||||
print "keypressed", key
|
||||
|
||||
-- keypressed events must be on visible elements
|
||||
element = pop.focused
|
||||
if element and element.keypressed and (not element.excludeDraw)
|
||||
return element.keypressed key
|
||||
@ -207,6 +186,7 @@ pop.keypressed = (key) ->
|
||||
pop.keyreleased = (key) ->
|
||||
print "keyreleased", key
|
||||
|
||||
-- keyreleased events are always called
|
||||
element = pop.focused
|
||||
if element and element.keyreleased
|
||||
return element.keyreleased key
|
||||
@ -216,6 +196,7 @@ pop.keyreleased = (key) ->
|
||||
pop.textinput = (text) ->
|
||||
print "textinput", text
|
||||
|
||||
-- textinput events must be on visible elements
|
||||
element = pop.focused
|
||||
if element and element.textinput and (not element.excludeDraw)
|
||||
return element.textinput text
|
||||
@ -258,7 +239,7 @@ pop.debugDraw = (element=pop.screen) ->
|
||||
for i = 1, #element.child
|
||||
pop.debugDraw element.child[i]
|
||||
|
||||
pop.printElementStack = (element=pop.screen, depth=0) ->
|
||||
pop.printElementTree = (element=pop.screen, depth=0) ->
|
||||
cls = element.__class.__name
|
||||
|
||||
if cls == "text"
|
||||
|
Loading…
Reference in New Issue
Block a user