Form

From Crumbled World Wiki

Example Code

--this = SceneNode()
function destroy()
	--clear form
	form:destroy()
end

function create()
	--Get the camera wich the form will be renderd to.
	local camera = this:getRootNode():findNodeByName("MainCamera")
	--Check if the camera exist.
	if camera then
		--create a form window of size 20% screen width and 20% screen height.
		form = Form(camera, PanelSize(Vec2(0.2,0.2), "form-name"))
		--Set layout default is FlowLayout.
		form:setLayout(FallLayout())
		--Set background color red.
		form:setBackground(Sprite(Vec4(1,0,0,1)))
		
		--Allign form to top left.
		form:setAlignment(Alignment.TOP_LEFT)
		--Set offset from upper left corner to 200 pixel.
		form:setFormOffset(PanelSize(Vec2(200,200), PanelSizeType.Pixel))	
	end
        return true
end

function update()
	form:update()
	return true
end

Inheritance

Panel

Constructor

function description
Form(Camera camera, PanelSize size, string formName)
Form(Camera camera, PanelSize size, Alignment align, string formName)

Functions

return function description
destroy() Destroy the form and all children.
Work getWorkUpdater() Get the form last work handler.
int getRenderLevel() Get the forms render level.
Alignment getAlignment() Get alignment.
setAlignment(Alignment align) Set form alignment.
setFormOffset(PanelSize size) Set form offset.
setRenderLevel(int renderLevel) Set a render level 0 i default. use same render level for none overlaping forms.
update() Update form.

Static functions

return function description
bool getDoesAnyFormNeedReRender() Get if the form need to be renderd.
{Form()} getAllFormFromCamera(Camera camera) Get all form from camera.
Panel getPanelFromGlobalPos(Vec2 globalPos) Get all form from camera.