diff --git a/examples/Shape.cpp b/examples/Shape.cpp deleted file mode 100644 index b84ac959..00000000 --- a/examples/Shape.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2020 - 2024 the ThorVG project. 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 "Example.h" - -/************************************************************************/ -/* ThorVG Drawing Contents */ -/************************************************************************/ - -struct UserExample : tvgexam::Example -{ - bool content(tvg::Canvas* canvas, uint32_t w, uint32_t h) override - { - if (!canvas) return false; - - //Prepare a Shape (Rectangle + Rectangle + Circle + Circle) - auto shape1 = tvg::Shape::gen(); - shape1->appendRect(0, 0, 200, 200); //x, y, w, h - shape1->appendRect(100, 100, 300, 300, 100, 100); //x, y, w, h, rx, ry - shape1->appendCircle(400, 400, 100, 100); //cx, cy, radiusW, radiusH - shape1->appendCircle(400, 500, 170, 100); //cx, cy, radiusW, radiusH - shape1->fill(255, 255, 0); //r, g, b - - canvas->push(std::move(shape1)); - - return true; - } -}; - - -/************************************************************************/ -/* Entry Point */ -/************************************************************************/ - -int main(int argc, char **argv) -{ - return tvgexam::main(new UserExample, argc, argv); -} \ No newline at end of file diff --git a/examples/MultiShapes.cpp b/examples/Shapes.cpp similarity index 78% rename from examples/MultiShapes.cpp rename to examples/Shapes.cpp index 13df25d5..b6e60a48 100644 --- a/examples/MultiShapes.cpp +++ b/examples/Shapes.cpp @@ -32,15 +32,23 @@ struct UserExample : tvgexam::Example { if (!canvas) return false; + //Prepare a Composite Shape (Rectangle + Rectangle + Circle + Circle) + auto shape4 = tvg::Shape::gen(); + shape4->appendRect(0, 0, 300, 300, 50, 50); //x, y, w, h, rx, ry + shape4->appendCircle(400, 150, 150, 150); //cx, cy, radiusW, radiusH + shape4->appendCircle(600, 150, 150, 100); //cx, cy, radiusW, radiusH + shape4->fill(255, 255, 0); //r, g, b + canvas->push(std::move(shape4)); + //Prepare Round Rectangle auto shape1 = tvg::Shape::gen(); - shape1->appendRect(0, 0, 400, 400, 50, 50); //x, y, w, h, rx, ry - shape1->fill(0, 255, 0); //r, g, b + shape1->appendRect(0, 450, 300, 300, 50, 50); //x, y, w, h, rx, ry + shape1->fill(0, 255, 0); //r, g, b canvas->push(std::move(shape1)); //Prepare Circle auto shape2 = tvg::Shape::gen(); - shape2->appendCircle(400, 400, 200, 200); //cx, cy, radiusW, radiusH + shape2->appendCircle(400, 600, 150, 150); //cx, cy, radiusW, radiusH shape2->fill(255, 255, 0); //r, g, b canvas->push(std::move(shape2)); diff --git a/examples/meson.build b/examples/meson.build index 8eaa33c0..149828a0 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -45,7 +45,6 @@ source_file = [ 'Masking.cpp', 'MaskingMethods.cpp', 'MultiCanvas.cpp', - 'MultiShapes.cpp', 'Opacity.cpp', 'Path.cpp', 'Performance.cpp', @@ -60,7 +59,7 @@ source_file = [ 'Scene.cpp', 'SceneBlending.cpp', 'SceneTransform.cpp', - 'Shape.cpp', + 'Shapes.cpp', 'SceneEffect.cpp', 'Stroke.cpp', 'StrokeLine.cpp',