2.0 KiB
Pop Module
This is the main module that allows you to access everything else in Pop.Box.
Simply require it (local pop = require "pop"
) and define LÖVE callbacks for:
pop.update(dt)
pop.draw()
pop.mousemoved(x, y, dx, dy)
(when using LÖVE 0.10.0 or later)pop.mousepressed(x, y, button)
pop.mousereleased(x, y, button)
pop.keypressed(key)
pop.keyreleased(key)
pop.textinput(text)
Every callback returns true
/false
for whether or not the event was handled.
For example, using the mousepressed
event handler:
function love.mousepressed(x, y, button)
local handled = pop.mousepressed(x, y, button)
if not handled then
-- do something useful
end
end
Creating Elements
Once pop
has been required, you can create Elements and interact with
them. Most elements can be created like this: local box = pop.box(...)
However, if an element's name clashes with a function name used in Pop.Box, you
will have to use pop.create(type, ...)
where type
is a string naming the
element type.
When creating an element, the first argument is its parent element. If the first
argument is not an element, it will be treated as the second argument. If it is
false
, then an element with no parent will be created. When no parent is
specified, an element's parent is pop.screen
, which is the top-level element
of Pop.Box.
(This behavior can be modified by elements themselves. No standard element does this, but if you use an element created by someone else, check its documentation first.)
Skinning Elements
See the Skins documentation.
Custom Elements/Skins/Extensions
Any .lua
file placed in the elements
, skins
, and extensions
directories
within the module will be loaded and available as appropriate. See the
documentation on each for how to make them:
Also of use, there is a separate set of docs about how Pop.Box works under the surface: Pop Module (dev)