Skip to content

draw2d

A collection of 2D drawing functions that operate in screen space. Provides primitives for lines, rectangles, text, sprite drawing, etc.

point(pos, size, color) function

pos: A 2D position ([x, y]) where the point should be drawn.

size: The size of the point (not currently affecting rendering).

color: The color of the point, defaults to Color.blue.

Returns: None

line(points, color, thickness, pipeline) function

points: An array of 2D positions representing the line vertices.

color: The color of the line, default Color.white.

thickness: The line thickness, default 1.

pipeline: (Optional) A pipeline or rendering state object.

Returns: None

cross(pos, size, color, thickness, pipe) function

pos: The center of the cross as a 2D position ([x, y]).

size: Half the size of each cross arm.

color: The color of the cross, default Color.red.

thickness: The thickness of each line, default 1.

pipe: (Optional) A pipeline or rendering state object.

Returns: None

arrow(start, end, color, wingspan, wingangle, pipe) function

start: The start position of the arrow ([x, y]).

end: The end (tip) position of the arrow ([x, y]).

color: The color, default Color.red.

wingspan: The length of each arrowhead 'wing', default 4.

wingangle: Wing rotation in degrees, default 10.

pipe: (Optional) A pipeline or rendering state object.

Returns: None

rectangle(rect, color, pipeline) function

rect: A rectangle object with {x, y, width, height}.

color: The fill color, default Color.white.

pipeline: (Optional) A pipeline or rendering state object.

Returns: None

tile(image, rect, color, tile, pipeline) function

:raises Error: If no image is provided.

image: An image object or string path to a texture.

rect: A rectangle specifying draw location/size ({x, y, width, height}).

color: The color tint, default Color.white.

tile: A tiling definition ({repeat_x, repeat_y}), default tile_def.

pipeline: (Optional) A pipeline or rendering state object.

Returns: None

slice9(image, rect, slice, color, info, pipeline) function

:raises Error: If no image is provided.

image: An image object or string path to a texture.

rect: A rectangle specifying draw location/size, default [0, 0].

slice: The pixel inset or spacing for the 9-slice (number or object).

color: The color tint, default Color.white.

info: A slice9 info object controlling tiling of edges/corners.

pipeline: (Optional) A pipeline or rendering state object.

Returns: None

image(image, rect, rotation, color, pipeline) function

:raises Error: If no image is provided.

image: An image object or string path to a texture.

rect: A rectangle specifying draw location/size, default [0,0]; width/height default to image size.

rotation: Rotation in degrees (not currently used).

color: The color tint, default none.

pipeline: (Optional) A pipeline or rendering state object.

Returns: A sprite object that was created for this draw call.

images(image, rects, config) function

:raises Error: If no image is provided.

image: An image object or string path to a texture.

rects: An array of rectangle objects ({x, y, width, height}) to draw.

config: (Unused) Additional config data if needed.

Returns: An array of sprite objects created and queued for rendering.

sprites(sprites, sort, pipeline) function

sprites: An array of sprite objects to draw.

sort: Sorting mode or order, default 0.

pipeline: (Optional) A pipeline or rendering state object.

Returns: None

circle(pos, radius, color, inner_radius, pipeline) function

pos: Center of the circle ([x, y]).

radius: The circle radius.

color: The fill color of the circle, default none.

inner_radius: (Unused) Possibly ring thickness, default 1.

pipeline: (Optional) A pipeline or rendering state object.

Returns: None

text(text, rect, font, size, color, wrap, pipeline) function

text: The string to draw.

rect: A rectangle specifying draw position (and possibly wrapping area).

font: A font object or string path, default sysfont.

size: (Unused) Possibly intended for scaling the font size.

color: The text color, default Color.white.

wrap: Pixel width for text wrapping, default 0 (no wrap).

pipeline: (Optional) A pipeline or rendering state object.

Returns: None