How this element should position itself.
-- Create a window that has automatic position mode, this is default
local window1 = osrs.Ui.window({title = "Automatic Position Mode"})
-- Create a window that has manual position mode
local window2 = osrs.Ui.window(
{
title = "Manual Position Mode",
positionMode = osrs.Ui.LayoutMode.MANUAL
}
)
-- Add the windows to the canvas
osrs.Ui.canvas:addChild(window1)
osrs.Ui.canvas:addChild(window2)
Flag to control whether this element should be placed on the same line as the previous element.
-- Create a container
local window = osrs.Ui.window({title = "Example Window"})
-- Create three buttons, with two of them on the same line
local button1 = osrs.Ui.textButton({text = "Button 1"})
local button2 = osrs.Ui.textButton({text = "Button 2"})
local button3 = osrs.Ui.textButton({text = "Button 3", sameLine = true})
-- Add buttons to the container
window:addChild(button1)
window:addChild(button2)
window:addChild(button3)
-- Add container to the canvas
osrs.Ui.canvas:addChild(window)
The style, if any, that should be applied to this element.
The text to display within the element.
The number of characters displayed from the text. No limit if set to -1.
-- Create new containers
local newWindow1 = osrs.Ui.window({title = "Without Text Limit", sizeMode = 1, width = 300, height = 150})
local newWindow2 = osrs.Ui.window({title = "With Text Limit", sizeMode = 1, width = 300, height = 150})
-- Create a textBox with a text limit, and one without (default)
local wrapText = osrs.Ui.textBox()
local noWrapText = osrs.Ui.textBox({["text-limit"] = 10})
for i = 1, 10 do
wrapText.text = string.format(wrapText.text .. " Hello World! ")
noWrapText.text = string.format(noWrapText.text .. " Hello World! ")
end
-- Add the textboxs to the containers
newWindow1:addChild(wrapText)
newWindow2:addChild(noWrapText)
-- Add container to the canvas
osrs.Ui.canvas:addChild(newWindow1)
osrs.Ui.canvas:addChild(newWindow2)
Control for if text should wrap across lines.
-- Create new containers
local newWindow1 = osrs.Ui.window({title = "With Text Wrap", sizeMode = 1, width = 300, height = 150})
local newWindow2 = osrs.Ui.window({title = "Without Text Wrap", sizeMode = 1, width = 300, height = 150})
-- Create a textBox with wrap text (default), and one without
local wrapText = osrs.Ui.textBox()
local noWrapText = osrs.Ui.textBox({["text-wrap"] = false})
for i = 1, 10 do
wrapText.text = string.format(wrapText.text .. " Hello World! ")
noWrapText.text = string.format(noWrapText.text .. " Hello World! ")
end
-- Add the textboxs to the containers
newWindow1:addChild(wrapText)
newWindow2:addChild(noWrapText)
-- Add container to the canvas
osrs.Ui.canvas:addChild(newWindow1)
osrs.Ui.canvas:addChild(newWindow2)
String to display to the user when hovered over the element.
-- Create new container
local newWindow = osrs.Ui.window({title = "Example Window"})
-- Create a button with a tooltip
local button = osrs.Ui.textButton({text = "Test", tooltip = "This is a Tooltip!"})
-- Add slider to the container
newWindow:addChild(button)
-- Add container to the canvas
osrs.Ui.canvas:addChild(newWindow)
Boolean indicating whether this UI element should draw itself.
-- Create new container
local newWindow = osrs.Ui.window({title = "Example Window"})
-- Create a button that is renderable, and one that is not
local button1 = osrs.Ui.textButton(
{
text = "Peek-a-Boo",
visible = false,
onClick = function()
osrs.print("BOO!")
end
}
)
local button2 = osrs.Ui.textButton(
{
text = "Render",
onClick = function()
button1.visible = not button1.visible
end
}
)
-- Add buttons to the container
newWindow:addChild(button1)
newWindow:addChild(button2)
-- Add container to the canvas
osrs.Ui.canvas:addChild(newWindow)
The horizontal component of this element's position, in UI coordinate space.
The percentage distance from the left side of the screen that this element's top-left corner should be placed at when positionMode is set to LayoutMode.PROPORTIONAL. The number needs to be a decimal.
The vertical component of this element's position, in UI coordinate space.
The percentage distance from the top side of the screen that this element's top-left corner should be placed at when positionMode is set to LayoutMode.PROPORTIONAL. The number needs to be a decimal.
Adds a UI element to the pop up container.
Imgui element to add to the pop up menu
local button = osrs.Ui.textButton( { text="Clear", tooltip="Test" })
local selectable = osrs.Ui.selectable({text = "Example", onClick = function() osrs.print("Example Print") end}) clear:addPopUpElement(test) osrs.Ui.leftPanel:addChild(button)
Removes a UI element from the pop up container.
Imgui element to remove from the pop up menu.
local button = osrs.Ui.textButton( { text="Clear", tooltip="Test" })
local selectable = osrs.Ui.selectable({text = "Example", onClick = function() osrs.print("Example Print") end}) clear:addPopUpElement(test) clear:removePopUpElement(test) osrs.Ui.leftPanel:addChild(button)
A rectangular UI element that displays text on the screen.