Yuari
Documentation
Docs/DrawingImmediate

DrawingImmediate

Immediate-mode paint callbacks and primitive drawing.

Creates a paint handle with Connect(callback), Disconnect(id) and Clear(). Use the DrawingImmediate draw functions inside a connected callback.

local paint = DrawingImmediate.GetPaint()
local id = paint:Connect(function()
    DrawingImmediate.Text(Vector2.new(20, 20), "Yuari", Color3.new(1, 1, 1), 16)
end)
paint:Disconnect(id)

Draws a line.

-- inside a DrawingImmediate.GetPaint():Connect callback
DrawingImmediate.Line(Vector2.new(10, 10), Vector2.new(200, 10), Color3.new(1, 0, 0), 2)

Draws circles.

-- inside a DrawingImmediate.GetPaint():Connect callback
DrawingImmediate.Circle(Vector2.new(100, 100), 40, Color3.new(0, 1, 0), 2)
DrawingImmediate.FilledCircle(Vector2.new(200, 100), 30, Color3.new(0, 0.5, 1))

Draws triangles.

-- inside a DrawingImmediate.GetPaint():Connect callback
DrawingImmediate.Triangle(Vector2.new(100, 100), Vector2.new(160, 100), Vector2.new(130, 150), Color3.new(1, 1, 1), false, 2)
DrawingImmediate.FilledTriangle(Vector2.new(200, 100), Vector2.new(260, 100), Vector2.new(230, 150), Color3.new(1, 0, 0))

Draws rectangles.

-- inside a DrawingImmediate.GetPaint():Connect callback
DrawingImmediate.Rectangle(Vector2.new(20, 20), Vector2.new(120, 60), Color3.new(1, 1, 0), false, 2, 6)
DrawingImmediate.FilledRectangle(Vector2.new(160, 20), Vector2.new(120, 60), Color3.new(0, 1, 1), 6)

Draws quads.

-- inside a DrawingImmediate.GetPaint():Connect callback
DrawingImmediate.Quad(Vector2.new(10, 10), Vector2.new(110, 10), Vector2.new(90, 60), Vector2.new(30, 60), Color3.new(1, 1, 1), true, 2)
DrawingImmediate.FilledQuad(Vector2.new(150, 10), Vector2.new(250, 10), Vector2.new(230, 60), Vector2.new(170, 60), Color3.new(1, 0, 1))

Draws text.

-- inside a DrawingImmediate.GetPaint():Connect callback
DrawingImmediate.Text(Vector2.new(20, 40), "Yuari", Color3.new(1, 1, 1), 18)
DrawingImmediate.OutlinedText(Vector2.new(20, 70), "Yuari", Color3.new(1, 1, 1), Color3.new(0, 0, 0), 18)