NanoCanvas is the HTML5 Canvas liked antialiased vector graphics rendering library writing in C++11 based on Mikko Mononen's NanoVG .
Feartures
- Easy to use , with HTML5 Canvas liked API
3 canvas.clearColor(Colors::DarkOliveGreen); //Clear canvas with color
5 // Draw a rounded rectangle
7 .roundedRect(50,50,100,100,10)
8 .fillStyle(Colors::Salmon)
13 textStyle.size = 36.0f;
14 textStyle.color = Colors::White;
15 textStyle.face = font.face;
16 canvas.fillStyle(textStyle)
18 .fillText("Hello Canvas",30,190);
Hardware accelerated so it's fast
Thanks for backend ports of NanoVG , now we can use NanoCanvas with OpenGL, OpenGL ES, BGFX and D3D.
Integrate to your projects
- Add NanoVG code to your projects and add the folder where your nanovg.h file located to your include directory. Be sure
#included "nanovg.h"
works on your projects.
- Add NanoCanvas code files under
src
folder in to your projects.
- Create Canvas with NanoVG context For example,using OpenGL 3.x as the backend renderer.
2 NVGcontext * nvgCtx = nvgCreateGL3(NVG_ANTIALIAS | NVG_DEBUG |NVG_STENCIL_STROKES);
3 Canvas canvas(nvgCtx,wndWidth ,wndHeight);
- Draw awesome graphics Draw graphics between
begineFrame()
and endFrame
method. ```c++ // main render loop while ( appRunning ) { canvas.begineFrame(wndWidth,wndHeight); // Draw awesome graphics here canvas.endFrame(); } ```
Why not takes NanoVG itself ?
You can use the backend renderer as your like. You have to do that by yourself. :)
For more informations