LuaManual Contexts - Gambini/libRocket GitHub Wiki

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