diff --git a/README.md b/README.md index 5e936a0d..183232c0 100644 --- a/README.md +++ b/README.md @@ -36,10 +36,13 @@ ninja -C build install ThorVG renders vector shapes on a given canvas buffer. You can initialize ThorVG engine first: + ```cpp tvg::Initializer::init(tvg::CanvasEngine::Sw, 0); //engine method, thread count ``` + You can prepare a empty canvas for drawing on it. + ```cpp static uint32_t buffer[WIDTH * HEIGHT]; //canvas target buffer @@ -47,11 +50,12 @@ auto canvas = tvg::SwCanvas::gen(); //generate a canvas canvas->target(buffer, WIDTH, WIDTH, HEIGHT); //stride, w, h ``` -Next you can draw shapes onto the canvas. +Next you can draw multiple shapes onto the canvas. + ```cpp auto rect = tvg::Shape::gen(); //generate a round rectangle rect->appendRect(50, 50, 200, 200, 20, 20); //round geometry(x, y, w, h, rx, ry) -rect->fill(100, 100, 0, 255); //set round rectangle color (r, g, b, a) +rect->fill(100, 100, 0, 255); //round rectangle color (r, g, b, a) canvas->push(move(rect)); //push round rectangle drawing command auto circle = tvg::Shape::gen(); //generate a circle @@ -63,39 +67,80 @@ fill->radial(400, 400, 150); //radial fill info(cx, cy, radius) tvg::Fill::ColorStop colorStops[2]; //gradient color info colorStops[0] = {0, 255, 255, 255, 255}; //index, r, g, b, a (1st color value) colorStops[1] = {1, 0, 0, 0, 255}; //index, r, g, b, a (2nd color value) +fill.colorStops(colorStop, 2); //set fil with gradient color info -fill.colorStops(colorStop, 2); //set gradient color info - -circle->fill(move(fill)); //set circle color - +circle->fill(move(fill)); //circle color canvas->push(move(circle)); //push circle drawing command ``` -This code result look like this. + +This code result looks like this. +
-
+
+
+