SkillAgentSearch skills...

Brillo

Painless 2D vector graphics, animations, and simulations powered by GLFW (Fork of gloss)

Install / Use

/learn @ad-si/Brillo
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Brillo

Brillo hides the pain of drawing simple vector graphics and raster images behind a nice data type and a few display functions.

<table> <tr> <td> <img src="brillo-examples/picture/Visibility/screenshot.png" width="228" height="235" > </td> <td> <img src="brillo-examples/picture/Tree/screenshot.png" width="153" height="198" > </td> <td> <img src="brillo-examples/images/perspec.png" width="280" height="145" > </td> </tr> </table>

Example

Getting something on the screen is as easy as:

import Brillo

main = display
  (InWindow "Nice Window" (200, 200) (10, 10))
  white
  (Circle 80)

Explore and run the example projects with stack:

stack run brillo-boids

Usage

Once the window is open you can use the following:

  • Quit
    • esc-key
  • Move Viewport
    • arrow keys
    • left-click drag
  • Zoom Viewport
    • page up/down-keys
    • control-left-click drag
    • right-click drag
    • mouse wheel
  • Rotate Viewport
    • home/end-keys
    • alt-left-click drag
  • Reset Viewport
    • 'r'-key

More

  • Animations and simulations can be constructed similarly using the animate and simulate functions
  • Games with user input can be constructed with the play function.
  • See the brillo-examples directory for more.

Installation

Running pre-built binaries

If you're running a pre-built binary on Linux, install the required runtime libraries:

Debian / Ubuntu

sudo apt-get install libglu1-mesa libglfw3 libwebp7 \
  libxcursor1 libxi6 libxinerama1 libxrandr2 libxxf86vm1

Fedora

sudo dnf install mesa-libGLU glfw libwebp \
  libXcursor libXi libXinerama libXrandr libXxf86vm

Arch

sudo pacman -S glu glfw libwebp libxcursor libxi libxinerama libxrandr libxxf86vm

Building from source

Install the development dependencies:

Debian / Ubuntu

sudo apt-get install libglfw3-dev libglu1-mesa-dev libwebp-dev \
  libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev

Fedora

sudo dnf install glfw-devel libXxf86vm-devel

Arch

sudo pacman -S glfw libxxf86vm

Contributing

Contributions are very welcome!

Please test that all the brillo-examples still work before submitting your pull request.

History

This library is a fork of gloss and improves upon it in several ways. Check out the CHANGELOG for more details.

View on GitHub
GitHub Stars69
CategoryDevelopment
Updated6d ago
Forks4

Languages

Haskell

Security Score

85/100

Audited on Mar 28, 2026

No findings