diff --git a/test/testStroke.cpp b/test/testStroke.cpp index d978b6fc..a4678dc5 100644 --- a/test/testStroke.cpp +++ b/test/testStroke.cpp @@ -21,24 +21,64 @@ void tvgtest() 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 - - //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); - -// uint32_t dash[] = {3, 1, 5, 1}; //dash pattern -// shape1->strokeDash(dash, 4); + 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 canvas->push(move(shape1)); + //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->draw(); canvas->sync();