Plutovg is a fascinating bit of software
-
GitHub - sammycage/plutovg: Tiny 2D vector graphics library in C[^] It's sparsely documented, and difficult to follow at first until you understand the patterns the author employs. That being said, it's a neat bit of kit. It allows full SVG capabilities (minus the XML part) and unlike my previous offering it actually appears to render as you add items to the canvas, rather than forcing you to build the entire graphic and then pass that to the rasterizer. That in itself is really interesting. What's also fun about it, is it uses the vestiges of a TrueType font rendering engine called FreeType to do the rasterization. It has been modified to do color paths. But it doesn't use FreeType to support text. It uses a different engine by STB - the same one I use in my library, which is a boon to me, because I've already made a compatible port for embedded that drops in. Anyway, it appears to be fairly unique in terms of how it operates - especially with the immediate rendering.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix