usage: require("objs")
contains an additional set of objects for the gui library
you can add them to a scene or window using sceneOrWindow:createCustom(x, y, sizeX, sizeY, class, ...):guiobject
the arguments of the objects are passed after the class to the createCustom method
elements:
tabbar:
seekbar methods:
seekbar callbacks:
--the example was created for a 128x128 screen
local objs = require("objs")
local display = getComponents("display")[1]
display.reset()
display.clearClicks()
display.setClicksAllowed(true)
local rx, ry = display.getWidth(), display.getHeight()
local cameras = getComponents("camera")
local gui = require("gui").new(display)
local styles = require("styles")
local scene = gui:createScene("777777")
scene:setDefaultOffset(0)
local function addWindow(index, posX, posY)
local window = scene:createWindow(nil, nil, nil, nil, "2d2d2d")
window:upPanel("058db8", "ffffff", "camera", true)
window:setDraggable(true)
window:setSize(rx / 2, ry / 2)
window:setPosition(posX * (rx / 2), posY * (ry / 2))
local closeButton = window:panelButton(7, false, "X", "00a2d5", "0054a1", "00c2ff", "0085ff")
closeButton:attachCallback(function(self, state, inZone)
if not state and inZone then
window:destroy()
end
end)
local cameraViewer = window:createCustom(nil, nil, nil, nil, objs.bufferedCamera, cameras[(index % #cameras) + 1].fork(), "drawAdvanced", true)
cameraViewer:setFov(math.rad(90))
cameraViewer:setDisabled(true)
function cameraViewer:onTick()
cameraViewer:update()
end
end
for i = 0, 3 do
addWindow(i, i % 2, math.floor(i / 2))
end
function callback_loop()
if _endtick then
display.clear()
display.flush()
return
end
gui:tick()
if gui:needFlush() then
gui:draw()
display.flush()
end
end
--the example was created for a 128x128 screen
local objs = require("objs")
local display = getComponent("display")
display.reset()
display.clearClicks()
display.setClicksAllowed(true)
local rx, ry = display.getWidth(), display.getHeight()
local gui = require("gui").new(display)
local scene = gui:createScene("333333")
local offset = 4
local thickness = 16
local seekbar1 = scene:createCustom(offset, offset, rx - (offset * 2), thickness, objs.seekbar, false)
local seekbar2 = scene:createCustom(offset, (offset * 2) + thickness, thickness, ry - thickness - (offset * 3), objs.seekbar, true)
local function onValueChanged(self, value)
print("value changed: ", self.seekbarNumber, value)
end
seekbar1.onValueChanged = onValueChanged
seekbar2.onValueChanged = onValueChanged
seekbar1.seekbarNumber = 1
seekbar2.seekbarNumber = 2
function callback_loop()
if _endtick then
display.clear()
display.flush()
return
end
gui:tick()
if gui:needFlush() then
gui:draw()
display.flush()
end
end