From 687080356d1409cb234cbc68192f355e65eba101 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Mon, 22 Nov 2021 17:40:06 +0900 Subject: [PATCH] examples: remove boundary samples. Removed these tests from the example since it's not so proper showcases for user scenaro. --- src/examples/Boundary.cpp | 170 ------------------------------------------- src/examples/Boundary2.cpp | 176 --------------------------------------------- src/examples/meson.build | 2 - 3 files changed, 348 deletions(-) delete mode 100644 src/examples/Boundary.cpp delete mode 100644 src/examples/Boundary2.cpp diff --git a/src/examples/Boundary.cpp b/src/examples/Boundary.cpp deleted file mode 100644 index a42cca2..0000000 --- a/src/examples/Boundary.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved. - - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "Common.h" - -/************************************************************************/ -/* Drawing Commands */ -/************************************************************************/ - -void tvgDrawCmds(tvg::Canvas* canvas) -{ - if (!canvas) return; - - canvas->reserve(5); //reserve 5 shape nodes (optional) - - //Prepare Shape1 - auto shape1 = tvg::Shape::gen(); - shape1->appendRect(-100, -100, 1000, 1000, 50, 50); - shape1->fill(255, 255, 255, 255); - if (canvas->push(move(shape1)) != tvg::Result::Success) return; - - //Prepare Shape2 - auto shape2 = tvg::Shape::gen(); - shape2->appendRect(-100, -100, 250, 250, 50, 50); - shape2->fill(0, 0, 255, 255); - if (canvas->push(move(shape2)) != tvg::Result::Success) return; - - //Prepare Shape3 - auto shape3 = tvg::Shape::gen(); - shape3->appendRect(500, 500, 550, 550, 0, 0); - shape3->fill(0, 255, 255, 255); - if (canvas->push(move(shape3)) != tvg::Result::Success) return; - - //Prepare Shape4 - auto shape4 = tvg::Shape::gen(); - shape4->appendCircle(800, 100, 200, 200); - shape4->fill(255, 255, 0, 255); - if (canvas->push(move(shape4)) != tvg::Result::Success) return; - - //Prepare Shape5 - auto shape5 = tvg::Shape::gen(); - shape5->appendCircle(200, 650, 250, 200); - shape5->fill(0, 0, 0, 255); - if (canvas->push(move(shape5)) != tvg::Result::Success) return; -} - -/************************************************************************/ -/* Sw Engine Test Code */ -/************************************************************************/ - -static unique_ptr swCanvas; - -void tvgSwTest(uint32_t* buffer) -{ - //Create a Canvas - swCanvas = tvg::SwCanvas::gen(); - swCanvas->target(buffer, WIDTH, WIDTH, HEIGHT, tvg::SwCanvas::ARGB8888); - - /* Push the shape into the Canvas drawing list - When this shape is into the canvas list, the shape could update & prepare - internal data asynchronously for coming rendering. - Canvas keeps this shape node unless user call canvas->clear() */ - tvgDrawCmds(swCanvas.get()); -} - -void drawSwView(void* data, Eo* obj) -{ - if (swCanvas->draw() == tvg::Result::Success) { - swCanvas->sync(); - } -} - - -/************************************************************************/ -/* GL Engine Test Code */ -/************************************************************************/ - -static unique_ptr glCanvas; - -void initGLview(Evas_Object *obj) -{ - static constexpr auto BPP = 4; - - //Create a Canvas - glCanvas = tvg::GlCanvas::gen(); - glCanvas->target(nullptr, WIDTH * BPP, WIDTH, HEIGHT); - - /* Push the shape into the Canvas drawing list - When this shape is into the canvas list, the shape could update & prepare - internal data asynchronously for coming rendering. - Canvas keeps this shape node unless user call canvas->clear() */ - tvgDrawCmds(glCanvas.get()); -} - -void drawGLview(Evas_Object *obj) -{ - auto gl = elm_glview_gl_api_get(obj); - gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f); - gl->glClear(GL_COLOR_BUFFER_BIT); - - if (glCanvas->draw() == tvg::Result::Success) { - glCanvas->sync(); - } -} - - -/************************************************************************/ -/* Main Code */ -/************************************************************************/ - -int main(int argc, char **argv) -{ - tvg::CanvasEngine tvgEngine = tvg::CanvasEngine::Sw; - - if (argc > 1) { - if (!strcmp(argv[1], "gl")) tvgEngine = tvg::CanvasEngine::Gl; - } - - //Initialize ThorVG Engine - if (tvgEngine == tvg::CanvasEngine::Sw) { - cout << "tvg engine: software" << endl; - } else { - cout << "tvg engine: opengl" << endl; - } - - //Threads Count - auto threads = std::thread::hardware_concurrency(); - if (threads > 0) --threads; //Allow the designated main thread capacity - - //Initialize ThorVG Engine - if (tvg::Initializer::init(tvgEngine, threads) == tvg::Result::Success) { - - elm_init(argc, argv); - - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); - } else { - createGlView(); - } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); - - } else { - cout << "engine is not supported" << endl; - } - return 0; -} diff --git a/src/examples/Boundary2.cpp b/src/examples/Boundary2.cpp deleted file mode 100644 index 0b009b6..0000000 --- a/src/examples/Boundary2.cpp +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved. - - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "Common.h" - -/************************************************************************/ -/* Drawing Commands */ -/************************************************************************/ - -void tvgDrawCmds(tvg::Canvas* canvas) -{ - if (!canvas) return; - - canvas->reserve(6); //reserve 6 pictures (optional) - - //Picture0 - auto picture0 = tvg::Picture::gen(); - if (picture0->load(EXAMPLE_DIR"/test.jpg") == tvg::Result::Success) { - picture0->translate(-300,-300); - picture0->scale(3.0f); - if (canvas->push(move(picture0)) != tvg::Result::Success) return; - } - - //Picture1 - auto picture1 = tvg::Picture::gen(); - if (picture1->load(EXAMPLE_DIR"/test.jpg") == tvg::Result::Success) { - picture1->translate(-200, -200); - if (canvas->push(move(picture1)) != tvg::Result::Success) return; - } - - //Picture2 - auto picture2 = tvg::Picture::gen(); - if (picture2->load(EXAMPLE_DIR"/test.jpg") == tvg::Result::Success) { - picture2->translate(600, 600); - if (canvas->push(move(picture2)) != tvg::Result::Success) return; - } - - //Picture3 - auto picture3 = tvg::Picture::gen(); - if (picture3->load(EXAMPLE_DIR"/test.jpg") == tvg::Result::Success) { - picture3->translate(-200, 600); - if (canvas->push(move(picture3)) != tvg::Result::Success) return; - } - - //Picture4 - auto picture4 = tvg::Picture::gen(); - if (picture4->load(EXAMPLE_DIR"/test.jpg") == tvg::Result::Success) { - picture4->translate(600, -200); - if (canvas->push(move(picture4)) != tvg::Result::Success) return; - } -} - -/************************************************************************/ -/* Sw Engine Test Code */ -/************************************************************************/ - -static unique_ptr swCanvas; - -void tvgSwTest(uint32_t* buffer) -{ - //Create a Canvas - swCanvas = tvg::SwCanvas::gen(); - swCanvas->target(buffer, WIDTH, WIDTH, HEIGHT, tvg::SwCanvas::ARGB8888); - - /* Push the shape into the Canvas drawing list - When this shape is into the canvas list, the shape could update & prepare - internal data asynchronously for coming rendering. - Canvas keeps this shape node unless user call canvas->clear() */ - tvgDrawCmds(swCanvas.get()); -} - -void drawSwView(void* data, Eo* obj) -{ - if (swCanvas->draw() == tvg::Result::Success) { - swCanvas->sync(); - } -} - - -/************************************************************************/ -/* GL Engine Test Code */ -/************************************************************************/ - -static unique_ptr glCanvas; - -void initGLview(Evas_Object *obj) -{ - static constexpr auto BPP = 4; - - //Create a Canvas - glCanvas = tvg::GlCanvas::gen(); - glCanvas->target(nullptr, WIDTH * BPP, WIDTH, HEIGHT); - - /* Push the shape into the Canvas drawing list - When this shape is into the canvas list, the shape could update & prepare - internal data asynchronously for coming rendering. - Canvas keeps this shape node unless user call canvas->clear() */ - tvgDrawCmds(glCanvas.get()); -} - -void drawGLview(Evas_Object *obj) -{ - auto gl = elm_glview_gl_api_get(obj); - gl->glClearColor(0.0f, 0.0f, 0.0f, 1.0f); - gl->glClear(GL_COLOR_BUFFER_BIT); - - if (glCanvas->draw() == tvg::Result::Success) { - glCanvas->sync(); - } -} - - -/************************************************************************/ -/* Main Code */ -/************************************************************************/ - -int main(int argc, char **argv) -{ - tvg::CanvasEngine tvgEngine = tvg::CanvasEngine::Sw; - - if (argc > 1) { - if (!strcmp(argv[1], "gl")) tvgEngine = tvg::CanvasEngine::Gl; - } - - //Initialize ThorVG Engine - if (tvgEngine == tvg::CanvasEngine::Sw) { - cout << "tvg engine: software" << endl; - } else { - cout << "tvg engine: opengl" << endl; - } - - //Threads Count - auto threads = std::thread::hardware_concurrency(); - if (threads > 0) --threads; //Allow the designated main thread capacity - - //Initialize ThorVG Engine - if (tvg::Initializer::init(tvgEngine, threads) == tvg::Result::Success) { - - elm_init(argc, argv); - - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); - } else { - createGlView(); - } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); - - } else { - cout << "engine is not supported" << endl; - } - return 0; -} diff --git a/src/examples/meson.build b/src/examples/meson.build index 8e3a181..0d53348 100644 --- a/src/examples/meson.build +++ b/src/examples/meson.build @@ -5,8 +5,6 @@ source_file = [ 'Arc.cpp', 'Async.cpp', 'Blending.cpp', - 'Boundary.cpp', - 'Boundary2.cpp', 'ClipPath.cpp', 'CustomTransform.cpp', 'DirectUpdate.cpp', -- 2.7.4