I'd like to announce a binding to NanoVG - a small vector-graphics library written in C that runs on OpenGL backends.
I'm using this project as a way to familiarize with Rust, and so am happy to learn whatever I can. Comments and suggestions are very welcome. The project is at https://github.com/KevinKelley/nanovg-rs NanoVG (https://github.com/memononen/nanovg) gives you a low-level vector graphics context, from which you can compose shapes, gradients, beziers, and so on; all generated through OpenGL primitives (I think there's a Direct3D port too). Image-loading is from stb-image; and truetype fonts are supported as well. It's a small library; it doesn't have the extent of cairo-graphics but it's fast. I have implemented the complete API in rust starting with rust-bindgen, and directly translated the example demo to Rust. At the moment that's the only sort of documentation I've done - you'll have to look into the source to see how it works. The original NanoVG headers are pretty well documented, and I'll move that text into my wrapper so that rust-doc can find it. shortly. Development is done on linux, using the OpenGL3 backend. I'll be testing on Windows at some point, but haven't yet; Mac is not in my budget. It might be worthwhile at some point to port the library to Rust, rather than wrapping it; on the other hand that would mean more difficulty tracking updates to the original project. Anyway. It's here, and it runs; it's early days so expect some warts. But it's something that I definitely needed, so maybe it's useful to others as well. License on the NanoVG project is zlib; I'm putting this bindings project under MIT. Thanks, Kevin Kelley
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
