Difference between revisions of "LavishGUI 2"

From Lavish Software Wiki
Jump to navigation Jump to search
Line 48: Line 48:
 
* [[LGUI2:imagebox|imagebox]]
 
* [[LGUI2:imagebox|imagebox]]
 
* [[LGUI2:listbox|listbox]]
 
* [[LGUI2:listbox|listbox]]
 +
* [[LGUI2:listboxitem|listboxitem]]
 
* [[LGUI2:panel|panel]]
 
* [[LGUI2:panel|panel]]
 +
* [[LGUI2:popup|popup]]
 
* [[LGUI2:progressbar|progressbar]]
 
* [[LGUI2:progressbar|progressbar]]
 
* [[LGUI2:screen|screen]]
 
* [[LGUI2:screen|screen]]
Line 55: Line 57:
 
* [[LGUI2:slider|slider]]
 
* [[LGUI2:slider|slider]]
 
* [[LGUI2:stackpanel|stackpanel]]
 
* [[LGUI2:stackpanel|stackpanel]]
 +
* [[LGUI2:tabtab]]
 
* [[LGUI2:tabcontrol|tabcontrol]]
 
* [[LGUI2:tabcontrol|tabcontrol]]
 
* [[LGUI2:textblock|textblock]]
 
* [[LGUI2:textblock|textblock]]

Revision as of 14:50, 26 June 2018

LavishGUI 2 (LGUI2) is a work-in-progress GUI system for Inner Space (build 6269 or later) which supports DirectX and OpenGL renderers. LavishGUI 2 effectively replaces LavishGUI, although both systems will be active in Inner Space.

LavishGUI 2 interfaces are designed in JSON format, and are scriptable with LavishScript.

Here is a very simple (and completely valid) "Hello World!" example for LavishGUI 2
{  
      "type":"textblock",
      "text":"Hello World!",
}

LavishGUI 2 also implements an input bindings system which includes support for axis (thumbsticks, triggers, etc) and directional pad (D-pad) controls. Input bindings are also designed in JSON format.

Here is an example Input Bindings list that can be loaded into LavishGUI 2
[
	{
		"name":"I did it!",
		"controls":"VK_LBUTTON",
		"modifiers":"alt",
		"eventHandler":["method","MyBindingController","IDidIt"]
	}
]

The above example will execute the LavishScript method MyBindingController:IDidIt when pressing or releasing Alt+Mouse1. Event Handlers may also opt to directly embed LavishScript code (as done with LavishGUI), but we recommend providing a controller object as best practice.

Topics

We're filling in the documentation and some features are not yet implemented, so please excuse the mess in the meantime.

Types of Elements