renderer
Functions for drawing visuals. Usually won't work outside the `paint` event.
Last updated
Functions for drawing visuals. Usually won't work outside the `paint` event.
Last updated
renderer.circle(x: number, y: number, r: number, g: number, b: number, a: number, radius: number, start_degrees: number, percentage: number)
Argument | Type | Description |
---|---|---|
This can only be called from the paint callback.
renderer.circle_outline(x: number, y: number, r: number, g: number, b: number, a: number, radius: number, start_degrees: number, percentage: number, thickness: number)
Argument | Type | Description |
---|---|---|
This can only be called from the paint callback.
renderer.gradient(x: number, y: number, w: number, h: number, r1: number, g1: number, b1: number, a1: number, r2: number, g2: number, b2: number, a2: number, ltr: boolean)
This can only be called from the paint callback.
renderer.indicator(r: number, g: number, b: number, a: number, ...)
: number
Returns the Y screen coordinate (vertical offset) of the drawn text, or nil on failure. This can only be called from the paint callback.
renderer.line(xa: number, ya: number, xb: number, yb: number, r: number, g: number, b: number, a: number)
This can only be called from the paint callback.
renderer.load_jpg(contents: string, width: number, height: number)
: number (texture id)
Loads a texture from raw JPG contents (with file header). Returns a texture ID that can be used with renderer.texture, or nil on failure
renderer.load_png(contents: string, width: number, height: number)
: number (texture id)
Loads a texture from raw png contents (with file header). Returns a texture ID that can be used with renderer.texture, or nil on failure
renderer.load_rgba(contents: string, width: number, height: number)
: number (texture id)
Loads a texture from a RGBA buffer. Returns a texture ID that can be used with renderer.texture, or nil on failure
renderer.load_svg(contents: string, width: number, height: number)
: number (texture id)
Returns a texture ID that can be used with renderer.texture, or nil on failure
renderer.measure_text(flags: string, ...)
: number, number
Returns width, height. This can only be called from the paint callback.
renderer.rectangle(x: number, y: number, w: number, h: number, r: number, g: number, b: number, a: number)
This can only be called from the paint callback.
renderer.text(x: number, y: number, r: number, g: number, b: number, a: number, flags: string, max_width: number, ...)
This can only be called from the paint callback.
renderer.texture(id: number, x: number, y: number, w: number, h: number, r: number, g: number, b: number, a: number[, mode: string])
Draws a texture from the texture id created from load_rgba, load_png, load_jpg or load_svg
renderer.triangle(x0: number, y0: number, x1: number, y1: number, x2: number, y2: number, r: number, g: number, b: number, a: number)
This can only be called from the paint callback.
renderer.world_to_screen(x: number, y: number, z: number)
: number, number, number
Returns two screen coordinates (x, y), or nil if the world position is not visible on your screen. This can only be called from the paint callback.
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
Argument | Type | Description |
---|---|---|
x
number (screen coordinate)
Screen coordinate
y
number (screen coordinate)
Screen coordinate
r
number
Red (0-255)
g
number
Green (0-255)
b
number
Blue (0-255)
a
number
Alpha (0-255)
radius
number
Radius of the circle in pixels.
start_degrees
number (0 - 360)
0 is the right side, 90 is the bottom, 180 is the left, 270 is the top.
percentage
number (0 - 1)
Must be within [0.0-1.0]. 1.0 is a full circle, 0.5 is a half circle, etc.
x
number (screen coordinate)
Screen coordinate
y
number (screen coordinate)
Screen coordinate
r
number
Red (0-255)
g
number
Green (0-255)
b
number
Blue (0-255)
a
number
Alpha (0-255)
radius
number
Radius of the circle in pixels.
start_degrees
number (0 - 360)
0 is the right side, 90 is the bottom, 180 is the left, 270 is the top.
percentage
number (0 - 1)
Must be within [0.0-1.0]. 1.0 is a full circle, 0.5 is a half circle, etc.
thickness
number (px)
Thickness of the outline in pixels.
x
number (screen coordinate)
Screen coordinate
y
number (screen coordinate)
Screen coordinate
w
number (px)
Width in pixels
h
number (px)
Height in pixels
r1
number
Red (0-255)
g1
number
Green (0-255)
b1
number
Blue (0-255)
a1
number
Alpha (0-255)
r2
number
Red (0-255)
g2
number
Green (0-255)
b2
number
Blue (0-255)
a2
number
Alpha (0-255)
ltr
boolean
Left to right. Pass true for horizontal gradient, or false for vertical.
r
number
Red (0-255)
g
number
Green (0-255)
b
number
Blue (0-255)
a
number
Alpha (0-255)
...
The text that will be drawn
xa
number (screen coordinate)
Screen coordinate of point A
ya
number (screen coordinate)
Screen coordinate of point A
xb
number (screen coordinate)
Screen coordinate of point B
yb
number (screen coordinate)
Screen coordinate of point B
r
number
Red (0-255)
g
number
Green (0-255)
b
number
Blue (0-255)
a
number
Alpha (0-255)
contents
string
Raw JPG file contents
width
number (px)
Image width
height
number (px)
Image height
contents
string
Raw PNG file contents
width
number (px)
Image width
height
number (px)
Image height
contents
string
RGBA buffer (hex encoded - red = "\xFF\x00\x00\xFF")
width
number (px)
Width
height
number (px)
Height
contents
string
SVG file contents
width
number (px)
Width
height
number (px)
Height
flags
string (text flags)
"+" for large text, "-" for small text, or nil for normal sized text.
...
Text that will be measured
x
number (screen coordinate)
Screen coordinate
y
number (screen coordinate)
Screen coordinate
w
number (px)
Width in pixels
h
number (px)
Height in pixels
r
number
Red (0-255)
g
number
Green (0-255)
b
number
Blue (0-255)
a
number
Alpha (0-255)
x
number (screen coordinate)
Screen coordinate
y
number (screen coordinate)
Screen coordinate
r
number
Red (0-255)
g
number
Green (0-255)
b
number
Blue (0-255)
a
number
Alpha (0-255)
flags
string (text flags)
"+" for large text, "-" for small text, "c" for centered text, "r" for right-aligned text, "b" for bold text, "d" for high DPI support. "c" can be combined with other flags. nil can be specified for normal sized uncentered text.
max_width
number
Text will be clipped if it exceeds this width in pixels. Use 0 for no limit.
...
Text that will be drawn
id
number (texture id)
Texture ID
x
number (screen coordinate)
X screen coordinate
y
number (screen coordinate)
Y screen coordinate
w
number (px)
Width
h
number (px)
Height
r
number
Red (0-255)
g
number
Green (0-255)
b
number
Blue (0-255)
a
number
Alpha (0-255)
mode
string
String: "f" for fill, "r" for repeat, otherwise automatic
x0
number (screen coordinate)
Screen coordinate X for point A
y0
number (screen coordinate)
Screen coordinate Y for point A
x1
number (screen coordinate)
Screen coordinate X for point B
y1
number (screen coordinate)
Screen coordinate Y for point B
x2
number (screen coordinate)
Screen coordinate X for point C
y2
number (screen coordinate)
Screen coordinate Y for point C
r
number
Red (0-255)
g
number
Green (0-255)
b
number
Blue (0-255)
a
number
Alpha (0-255)
x
number (world coordinate)
Position in world space
y
number (world coordinate)
Position in world space
z
number (world coordinate)
Position in world space