stellar_prune/build/packages/paint
2025-11-30 15:44:22 +01:00
..
src Initial commit 2025-11-30 15:44:22 +01:00
gleam.toml Initial commit 2025-11-30 15:44:22 +01:00
LICENSE.txt Initial commit 2025-11-30 15:44:22 +01:00
README.md Initial commit 2025-11-30 15:44:22 +01:00

Paint

Make 2D drawings, animations, and games using Gleam and the HTML Canvas!

Package Version Hex Docs

Paint is a tiny embedded domain specific language (inspired by Gloss). Make pictures out of basic shapes then style, transform, and combine them using the provided functions.

Frame 3(2)

import paint as p
import paint/canvas

fn main() {
  let my_picture = p.combine([
    p.circle(30.0),
    p.circle(20.0) |> p.fill(p.colour_rgb(0, 200, 200)),
    p.rectangle(50.0, 30.0) |> p.rotate(p.angle_deg(30.0)),
    p.text("Hello world", 10) |> p.translate_y(-35.0),
  ])

  canvas.display(fn(_: canvas.Config) { my_picture }, "#canvas_id")
}

Want to learn more? Read the docs or browse the visual examples.

Lucy is borrowed from the Gleam branding page and the brush is made by Delapouite (game icons).

Changelog

API additions and breaking changes can be found in the file CHANGELOG.md.