Comment on page
renderer
Functions for drawing visuals. Usually won't work outside the `paint` event.
renderer.circle(x: number, y: number, r: number, g: number, b: number, a: number, radius: number, start_degrees: number, percentage: number)
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. |
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 |
---|---|---|
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. |
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)
Argument | Type | Description |
---|---|---|
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. |
This can only be called from the paint callback.
renderer.indicator(r: number, g: number, b: number, a: number, ...)
: numberArgument | Type | Description |
---|---|---|
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 |
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)
Argument | Type | Description |
---|---|---|
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) |
This can only be called from the paint callback.
renderer.load_jpg(contents: string, width: number, height: number)
: number (texture id)Argument | Type | Description |
---|---|---|
contents | string | Raw JPG file contents |
width | number (px) | Image width |
height | number (px) | Image height |
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)Argument | Type | Description |
---|---|---|
contents | string | Raw PNG file contents |
width | number (px) | Image width |
height | number (px) | Image height |
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)Argument | Type | Description |
---|---|---|
contents | string | RGBA buffer (hex encoded - red = "\xFF\x00\x00\xFF") |
width | number (px) | Width |
height | number (px) | Height |
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)Argument | Type | Description |
---|---|---|
contents | string | SVG file contents |
width | number (px) | Width |
height | number (px) | Height |
Returns a texture ID that can be used with renderer.texture, or nil on failure
renderer.measure_text(flags: string, ...)
: number, numberArgument | Type | Description |
---|---|---|
flags | string (text flags) | "+" for large text, "-" for small text, or nil for normal sized text. |
... | | Text that will be measured |
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)
Argument | Type | Description |
---|---|---|
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) |
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, ...)
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) |
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 |
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])
Argument | Type | Description |
---|---|---|
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 |
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)
Argument | Type | Description |
---|---|---|
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) |
This can only be called from the paint callback.
renderer.world_to_screen(x: number, y: number, z: number)
: number, number, numberArgument | Type | Description |
---|---|---|
x | number (world coordinate) | Position in world space |
y | number (world coordinate) | Position in world space |
z | number (world coordinate) | Position in world space |
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.
Last modified 2yr ago