auto canvas = tvg::SwCanvas::gen();
canvas->target(buffer, WIDTH, WIDTH, HEIGHT);
- //Prepare a Shape (Rectangle + Rectangle + Circle + Circle)
+ //Shape 1
auto shape1 = tvg::Shape::gen();
- shape1->appendRect(50, 50, 200, 200, 0); //x, y, w, h, cornerRadius
- shape1->appendRect(100, 100, 300, 300, 100); //x, y, w, h, cornerRadius
- shape1->appendCircle(400, 400, 100, 100); //cx, cy, radiusW, radiusH
- shape1->fill(50, 50, 50, 255); //r, g, b, a
+ shape1->appendRect(50, 50, 200, 200, 0);
+ shape1->fill(50, 50, 50, 255);
+ shape1->stroke(255, 255, 255, 255); //color: r, g, b, a
+ shape1->stroke(tvg::StrokeJoin::Bevel); //default is Bevel
+ shape1->stroke(10); //width: 10px
- //Stroke Style
- shape1->stroke(255, 255, 255, 255); //color: r, g, b, a
- shape1->stroke(5); //width: 5px
-// shape1->strokeJoin(tvg::StrokeJoin::Miter);
-// shape1->strokeLineCap(tvg::StrokeLineCap::Butt);
+ canvas->push(move(shape1));
-// uint32_t dash[] = {3, 1, 5, 1}; //dash pattern
-// shape1->strokeDash(dash, 4);
+ //Shape 2
+ auto shape2 = tvg::Shape::gen();
+ shape2->appendRect(300, 50, 200, 200, 0);
+ shape2->fill(50, 50, 50, 255);
+ shape2->stroke(255, 255, 255, 255);
+ shape2->stroke(tvg::StrokeJoin::Round);
+ shape2->stroke(10);
+
+ canvas->push(move(shape2));
+
+ //Shape 3
+ auto shape3 = tvg::Shape::gen();
+ shape3->appendRect(550, 50, 200, 200, 0);
+ shape3->fill(50, 50, 50, 255);
+ shape3->stroke(255, 255, 255, 255);
+ shape3->stroke(tvg::StrokeJoin::Miter);
+ shape3->stroke(10);
+
+ canvas->push(move(shape3));
+
+ //Shape 4
+ auto shape4 = tvg::Shape::gen();
+ shape4->appendCircle(150, 450, 100, 100);
+ shape4->fill(50, 50, 50, 255);
+ shape4->stroke(255, 255, 255, 255);
+ shape4->stroke(1);
+
+ canvas->push(move(shape4));
+
+ //Shape 5
+ auto shape5 = tvg::Shape::gen();
+ shape5->appendCircle(400, 450, 100, 100);
+ shape5->fill(50, 50, 50, 255);
+ shape5->stroke(255, 255, 255, 255);
+ shape5->stroke(2);
+
+ canvas->push(move(shape5));
+
+ //Shape 6
+ auto shape6 = tvg::Shape::gen();
+ shape6->appendCircle(650, 450, 100, 100);
+ shape6->fill(50, 50, 50, 255);
+ shape6->stroke(255, 255, 255, 255);
+ shape6->stroke(4);
+
+ canvas->push(move(shape6));
- canvas->push(move(shape1));
canvas->draw();
canvas->sync();