From 43face7079fc8b5d0727b584365eeb76b85b233a Mon Sep 17 00:00:00 2001 From: Mira Grudzinska Date: Tue, 9 Mar 2021 21:00:08 +0100 Subject: [PATCH] example: Duplicate.cpp modified Duplication of the Picture with a raw image is added Change-Id: I8d069e2e829a4f869e477a6aa5076175335a6751 --- src/examples/Duplicate.cpp | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/src/examples/Duplicate.cpp b/src/examples/Duplicate.cpp index 2c94642..5c6a397 100644 --- a/src/examples/Duplicate.cpp +++ b/src/examples/Duplicate.cpp @@ -1,4 +1,5 @@ #include "Common.h" +#include /************************************************************************/ /* Drawing Commands */ @@ -71,21 +72,44 @@ void tvgDrawCmds(tvg::Canvas* canvas) //Duplicate Scene1 auto scene2 = unique_ptr(static_cast(scene1->duplicate())); - scene2->translate(600, 200); + scene2->translate(600, 0); canvas->push(move(scene1)); canvas->push(move(scene2)); } - //Duplicate Picture + //Duplicate Picture - svg { auto picture1 = tvg::Picture::gen(); picture1->load(EXAMPLE_DIR"/tiger.svg"); - picture1->translate(370, 370); + picture1->translate(350, 200); picture1->scale(0.25); auto picture2 = unique_ptr(static_cast(picture1->duplicate())); - picture2->translate(550, 550); + picture2->translate(550, 250); + + canvas->push(move(picture1)); + canvas->push(move(picture2)); + } + + //Duplicate Picture - raw + { + string path(EXAMPLE_DIR"/rawimage_200x300.raw"); + ifstream file(path); + if (!file.is_open()) return ; + uint32_t* data = (uint32_t*)malloc(sizeof(uint32_t) * 200 * 300); + file.read(reinterpret_cast(data), sizeof(uint32_t) * 200 * 300); + file.close(); + + auto picture1 = tvg::Picture::gen(); + if (picture1->load(data, 200, 300, true) != tvg::Result::Success) return; + picture1->scale(0.8); + picture1->translate(400, 450); + + auto picture2 = unique_ptr(static_cast(picture1->duplicate())); + picture2->translate(600, 550); + picture2->scale(0.7); + picture2->rotate(8); canvas->push(move(picture1)); canvas->push(move(picture2)); -- 2.7.4