Version 3 (modified by gambini, 5 years ago) |
---|
Contexts
Interface
Properties
Lua property | Brief description | Equivalent C++ functions |
dimensions | Gets/sets the dimensions of the context. | GetDimensions(), SetDimensions() |
documents | Retrieves a document within the interface. | GetDocument(), GetNumDocuments() |
focus_element | Retrieves the context's focus element. | GetFocusElement() |
hover_element | Retrieves the element under the context's cursor. | GetHoverElement() |
root_element | Retrieves the context's root element. | GetRootElement() |
name | Retrieves the context's name. | GetName() |
Retrieving documents
The documents property on the context is a proxy table in regards to the C++ interface with Lua, accessed by both string and integer keys.
for key, doc in ipairs(context.documents) do print doc.title end
It is also possible to access them as a dictionary, looking documents up by their ID:
document = context.documents["highscores"] if document == nil then print ("No document found!") end
Or accessing documents as attributes on the documents property itself:
document = context.documents.highscores if document == nil then print "No document found!" end
Methods
The following methods are exported from the C++ interface.
Lua method | Brief description |
AddEventListener() | Attaches an inline event listener to the root of the context. |
AddMouseCursor() | Adds a previously-loaded mouse cursor to the document. |
CreateDocument() | Creates a new document. |
LoadDocument() | Loads a document from an external RML file. |
LoadMouseCursor() | Loads a mouse cursor from an external RML file. |
Render() | Renders the context. |
ShowMouseCursor() | Shows or hides the mouse cursor. |
UnloadAllDocuments() | Unloads all loaded documents within the context. |
UnloadAllMouseCursors() | Unloads all of the context's mouse cursors. |
UnloadDocument() | Unloads one of the context's documents. |
UnloadMouseCursor() | Unloads one of the context's cursors. |
Update() | Updates the context. |
Creating contexts
Contexts can be created in Lua with the CreateContext() function in the rocket table. This function takes the name of the context as a string and the dimensions as a Vector2i type.
new_context = rocket.CreateContext("hud", Vector2i.new(1024, 768))
Accessing contexts
Existing contexts can be accessed in Lua via the contexts member on the rocket table. They can then be accessed via name or index.
context = rocket.contexts["hud"]
List all contexts
for key,context in ipairs(rocket.contexts) do print context.name end