,-. ,-. ,-. |- ,-.
| ,-| `-. | |
' `-^ `-' `' '
rastr is a lightweight graphics library written in c++.
- No dependency to other software libraries (not even the
libstd) - No dynamic memory allocation (except for
DynamicCanvas) - Basic drawing primitives (lines, triangles, rectangles, circles) and bitmap images/fonts support
- Only integer arithmetic: can be used even on small embedded devices (tested on Arduino, Teensy, ESP32 and many other platforms)
- Comes with a set of tools (see below) to convert fonts and images to a format that is usable by the library
- Header only
The tools below can be used to convert, respectively, png images and TrueType fonts to header files that can be used by rastr.
Please be aware that, in contrast to the library itself, the tools have some dependencies that need to be installed when building (boost, libfreetype and libpng).
Images in png format can be converted to a header file using rastr-png. The library only supports 1bpp (monochrome) and 8bpp (grayscale) images. For the full list of parameters, please run the utility with --help.
Fonts in TrueType format can be converted to a header file using rastr-ttf. Characters are rendered as a bitmaps (either 1bpp or 8bpp). For the full list of parameters, please run the utility with --help.