From 2f174560ebe96ed6bbf779361d9301412cb920b7 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 1 May 2020 12:46:54 +0900 Subject: [PATCH] test: rename testPath to testPathCopy Change-Id: I8cf2a26437a804d2cd061d61d3a99b3c6f3aa0e6 --- .gitignore | 2 +- test/makefile | 2 +- test/testPath.cpp | 88 ++++++++-------------------- test/testPath2.cpp | 89 ----------------------------- test/testPathCopy.cpp | 129 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 155 insertions(+), 155 deletions(-) delete mode 100644 test/testPath2.cpp create mode 100644 test/testPathCopy.cpp diff --git a/.gitignore b/.gitignore index 8e92d138..2c0e514f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,4 @@ testMultiShapes testMergeShapes testBoundary testPath -testPath2 +testPathCopy diff --git a/test/makefile b/test/makefile index 1471ecde..e28d76ba 100644 --- a/test/makefile +++ b/test/makefile @@ -4,4 +4,4 @@ all: gcc -o testMergeShapes testMergeShapes.cpp -g -lstdc++ `pkg-config --cflags --libs elementary tizenvg` gcc -o testBoundary testBoundary.cpp -g -lstdc++ `pkg-config --cflags --libs elementary tizenvg` gcc -o testPath testPath.cpp -g -lstdc++ `pkg-config --cflags --libs elementary tizenvg` - gcc -o testPath2 testPath2.cpp -g -lstdc++ `pkg-config --cflags --libs elementary tizenvg` + gcc -o testPathCopy testPathCopy.cpp -g -lstdc++ `pkg-config --cflags --libs elementary tizenvg` diff --git a/test/testPath.cpp b/test/testPath.cpp index a75c7f71..3c6738a4 100644 --- a/test/testPath.cpp +++ b/test/testPath.cpp @@ -16,79 +16,39 @@ void tvgtest() //Create a Canvas auto canvas = tvg::SwCanvas::gen(buffer, WIDTH, HEIGHT); - /* Star */ - - //Prepare Path Commands - tvg::PathCommand cmds[11]; - cmds[0] = tvg::PathCommand::MoveTo; - cmds[1] = tvg::PathCommand::LineTo; - cmds[2] = tvg::PathCommand::LineTo; - cmds[3] = tvg::PathCommand::LineTo; - cmds[4] = tvg::PathCommand::LineTo; - cmds[5] = tvg::PathCommand::LineTo; - cmds[6] = tvg::PathCommand::LineTo; - cmds[7] = tvg::PathCommand::LineTo; - cmds[8] = tvg::PathCommand::LineTo; - cmds[9] = tvg::PathCommand::LineTo; - cmds[10] = tvg::PathCommand::Close; - - //Prepare Path Points - tvg::Point pts[10]; - pts[0] = {199, 34}; //MoveTo - pts[1] = {253, 143}; //LineTo - pts[2] = {374, 160}; //LineTo - pts[3] = {287, 244}; //LineTo - pts[4] = {307, 365}; //LineTo - pts[5] = {199, 309}; //LineTo - pts[6] = {97, 365}; //LineTo - pts[7] = {112, 245}; //LineTo - pts[8] = {26, 161}; //LineTo - pts[9] = {146, 143}; //LineTo - + //Star auto shape1 = tvg::ShapeNode::gen(); - shape1->appendPath(cmds, 11, pts, 10); //copy path data - shape1->fill(0, 255, 0, 255); + + //Appends Paths + shape1->moveTo(199, 34); + shape1->lineTo(253, 143); + shape1->lineTo(374, 160); + shape1->lineTo(287, 244); + shape1->lineTo(307, 365); + shape1->lineTo(199, 309); + shape1->lineTo(97, 365); + shape1->lineTo(112, 245); + shape1->lineTo(26, 161); + shape1->lineTo(146, 143); + shape1->close(); + shape1->fill(0, 0, 255, 255); canvas->push(move(shape1)); + //Circle + auto shape2 = tvg::ShapeNode::gen(); - /* Circle */ auto cx = 550.0f; auto cy = 550.0f; auto radius = 125.0f; auto halfRadius = radius * 0.552284f; - //Prepare Path Commands - tvg::PathCommand cmds2[6]; - cmds2[0] = tvg::PathCommand::MoveTo; - cmds2[1] = tvg::PathCommand::CubicTo; - cmds2[2] = tvg::PathCommand::CubicTo; - cmds2[3] = tvg::PathCommand::CubicTo; - cmds2[4] = tvg::PathCommand::CubicTo; - cmds2[5] = tvg::PathCommand::Close; - - //Prepare Path Points - tvg::Point pts2[13]; - pts2[0] = {cx, cy - radius}; //MoveTo - //CubicTo 1 - pts2[1] = {cx + halfRadius, cy - radius}; //Ctrl1 - pts2[2] = {cx + radius, cy - halfRadius}; //Ctrl2 - pts2[3] = {cx + radius, cy}; //To - //CubicTo 2 - pts2[4] = {cx + radius, cy + halfRadius}; //Ctrl1 - pts2[5] = {cx + halfRadius, cy + radius}; //Ctrl2 - pts2[6] = {cx, cy+ radius}; //To - //CubicTo 3 - pts2[7] = {cx - halfRadius, cy + radius}; //Ctrl1 - pts2[8] = {cx - radius, cy + halfRadius}; //Ctrl2 - pts2[9] = {cx - radius, cy}; //To - //CubicTo 4 - pts2[10] = {cx - radius, cy - halfRadius}; //Ctrl1 - pts2[11] = {cx - halfRadius, cy - radius}; //Ctrl2 - pts2[12] = {cx, cy - radius}; //To - - auto shape2 = tvg::ShapeNode::gen(); - shape2->appendPath(cmds2, 6, pts2, 13); //copy path data - shape2->fill(255, 255, 0, 255); + //Append Paths + shape2->moveTo(cx, cy - radius); + shape2->cubicTo(cx + halfRadius, cy - radius, cx + radius, cy - halfRadius, cx + radius, cy); + shape2->cubicTo(cx + radius, cy + halfRadius, cx + halfRadius, cy + radius, cx, cy+ radius); + shape2->cubicTo(cx - halfRadius, cy + radius, cx - radius, cy + halfRadius, cx - radius, cy); + shape2->cubicTo(cx - radius, cy - halfRadius, cx - halfRadius, cy - radius, cx, cy - radius); + shape2->fill(255, 0, 0, 255); canvas->push(move(shape2)); canvas->draw(); diff --git a/test/testPath2.cpp b/test/testPath2.cpp deleted file mode 100644 index 3c6738a4..00000000 --- a/test/testPath2.cpp +++ /dev/null @@ -1,89 +0,0 @@ -#include -#include - -using namespace std; - -#define WIDTH 800 -#define HEIGHT 800 - -static uint32_t buffer[WIDTH * HEIGHT]; - -void tvgtest() -{ - //Initialize TizenVG Engine - tvg::Engine::init(); - - //Create a Canvas - auto canvas = tvg::SwCanvas::gen(buffer, WIDTH, HEIGHT); - - //Star - auto shape1 = tvg::ShapeNode::gen(); - - //Appends Paths - shape1->moveTo(199, 34); - shape1->lineTo(253, 143); - shape1->lineTo(374, 160); - shape1->lineTo(287, 244); - shape1->lineTo(307, 365); - shape1->lineTo(199, 309); - shape1->lineTo(97, 365); - shape1->lineTo(112, 245); - shape1->lineTo(26, 161); - shape1->lineTo(146, 143); - shape1->close(); - shape1->fill(0, 0, 255, 255); - canvas->push(move(shape1)); - - //Circle - auto shape2 = tvg::ShapeNode::gen(); - - auto cx = 550.0f; - auto cy = 550.0f; - auto radius = 125.0f; - auto halfRadius = radius * 0.552284f; - - //Append Paths - shape2->moveTo(cx, cy - radius); - shape2->cubicTo(cx + halfRadius, cy - radius, cx + radius, cy - halfRadius, cx + radius, cy); - shape2->cubicTo(cx + radius, cy + halfRadius, cx + halfRadius, cy + radius, cx, cy+ radius); - shape2->cubicTo(cx - halfRadius, cy + radius, cx - radius, cy + halfRadius, cx - radius, cy); - shape2->cubicTo(cx - radius, cy - halfRadius, cx - halfRadius, cy - radius, cx, cy - radius); - shape2->fill(255, 0, 0, 255); - canvas->push(move(shape2)); - - canvas->draw(); - canvas->sync(); - - //Terminate TizenVG Engine - tvg::Engine::term(); -} - -void -win_del(void *data, Evas_Object *o, void *ev) -{ - elm_exit(); -} - -int main(int argc, char **argv) -{ - tvgtest(); - - //Show the result using EFL... - elm_init(argc, argv); - - Eo* win = elm_win_util_standard_add(NULL, "TizenVG Test"); - evas_object_smart_callback_add(win, "delete,request", win_del, 0); - - Eo* img = evas_object_image_filled_add(evas_object_evas_get(win)); - evas_object_image_size_set(img, WIDTH, HEIGHT); - evas_object_image_data_set(img, buffer); - evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(img); - - elm_win_resize_object_add(win, img); - evas_object_geometry_set(win, 0, 0, WIDTH, HEIGHT); - evas_object_show(win); - - elm_run(); - elm_shutdown(); -} diff --git a/test/testPathCopy.cpp b/test/testPathCopy.cpp new file mode 100644 index 00000000..a75c7f71 --- /dev/null +++ b/test/testPathCopy.cpp @@ -0,0 +1,129 @@ +#include +#include + +using namespace std; + +#define WIDTH 800 +#define HEIGHT 800 + +static uint32_t buffer[WIDTH * HEIGHT]; + +void tvgtest() +{ + //Initialize TizenVG Engine + tvg::Engine::init(); + + //Create a Canvas + auto canvas = tvg::SwCanvas::gen(buffer, WIDTH, HEIGHT); + + /* Star */ + + //Prepare Path Commands + tvg::PathCommand cmds[11]; + cmds[0] = tvg::PathCommand::MoveTo; + cmds[1] = tvg::PathCommand::LineTo; + cmds[2] = tvg::PathCommand::LineTo; + cmds[3] = tvg::PathCommand::LineTo; + cmds[4] = tvg::PathCommand::LineTo; + cmds[5] = tvg::PathCommand::LineTo; + cmds[6] = tvg::PathCommand::LineTo; + cmds[7] = tvg::PathCommand::LineTo; + cmds[8] = tvg::PathCommand::LineTo; + cmds[9] = tvg::PathCommand::LineTo; + cmds[10] = tvg::PathCommand::Close; + + //Prepare Path Points + tvg::Point pts[10]; + pts[0] = {199, 34}; //MoveTo + pts[1] = {253, 143}; //LineTo + pts[2] = {374, 160}; //LineTo + pts[3] = {287, 244}; //LineTo + pts[4] = {307, 365}; //LineTo + pts[5] = {199, 309}; //LineTo + pts[6] = {97, 365}; //LineTo + pts[7] = {112, 245}; //LineTo + pts[8] = {26, 161}; //LineTo + pts[9] = {146, 143}; //LineTo + + auto shape1 = tvg::ShapeNode::gen(); + shape1->appendPath(cmds, 11, pts, 10); //copy path data + shape1->fill(0, 255, 0, 255); + canvas->push(move(shape1)); + + + /* Circle */ + auto cx = 550.0f; + auto cy = 550.0f; + auto radius = 125.0f; + auto halfRadius = radius * 0.552284f; + + //Prepare Path Commands + tvg::PathCommand cmds2[6]; + cmds2[0] = tvg::PathCommand::MoveTo; + cmds2[1] = tvg::PathCommand::CubicTo; + cmds2[2] = tvg::PathCommand::CubicTo; + cmds2[3] = tvg::PathCommand::CubicTo; + cmds2[4] = tvg::PathCommand::CubicTo; + cmds2[5] = tvg::PathCommand::Close; + + //Prepare Path Points + tvg::Point pts2[13]; + pts2[0] = {cx, cy - radius}; //MoveTo + //CubicTo 1 + pts2[1] = {cx + halfRadius, cy - radius}; //Ctrl1 + pts2[2] = {cx + radius, cy - halfRadius}; //Ctrl2 + pts2[3] = {cx + radius, cy}; //To + //CubicTo 2 + pts2[4] = {cx + radius, cy + halfRadius}; //Ctrl1 + pts2[5] = {cx + halfRadius, cy + radius}; //Ctrl2 + pts2[6] = {cx, cy+ radius}; //To + //CubicTo 3 + pts2[7] = {cx - halfRadius, cy + radius}; //Ctrl1 + pts2[8] = {cx - radius, cy + halfRadius}; //Ctrl2 + pts2[9] = {cx - radius, cy}; //To + //CubicTo 4 + pts2[10] = {cx - radius, cy - halfRadius}; //Ctrl1 + pts2[11] = {cx - halfRadius, cy - radius}; //Ctrl2 + pts2[12] = {cx, cy - radius}; //To + + auto shape2 = tvg::ShapeNode::gen(); + shape2->appendPath(cmds2, 6, pts2, 13); //copy path data + shape2->fill(255, 255, 0, 255); + canvas->push(move(shape2)); + + canvas->draw(); + canvas->sync(); + + //Terminate TizenVG Engine + tvg::Engine::term(); +} + +void +win_del(void *data, Evas_Object *o, void *ev) +{ + elm_exit(); +} + +int main(int argc, char **argv) +{ + tvgtest(); + + //Show the result using EFL... + elm_init(argc, argv); + + Eo* win = elm_win_util_standard_add(NULL, "TizenVG Test"); + evas_object_smart_callback_add(win, "delete,request", win_del, 0); + + Eo* img = evas_object_image_filled_add(evas_object_evas_get(win)); + evas_object_image_size_set(img, WIDTH, HEIGHT); + evas_object_image_data_set(img, buffer); + evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(img); + + elm_win_resize_object_add(win, img); + evas_object_geometry_set(win, 0, 0, WIDTH, HEIGHT); + evas_object_show(win); + + elm_run(); + elm_shutdown(); +}