examples: revise example code.

Move the Clear call to the end of drawing those scenarios doesn't need to retain paints resources.

We should show the examples as the best usage.

@Issues: 75
This commit is contained in:
Hermet Park 2020-11-04 17:56:33 +09:00 committed by Hermet Park
parent 1b8188ee67
commit 9bb1972ef9
21 changed files with 106 additions and 4 deletions

View file

@ -93,6 +93,7 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
swCanvas->clear(); //Flush out cached resource
}

View file

@ -76,6 +76,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -109,6 +112,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -65,6 +65,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -98,6 +101,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -135,6 +135,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -168,6 +171,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -117,6 +117,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -150,6 +153,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -59,6 +59,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -92,6 +95,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -94,6 +94,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -127,6 +130,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -79,6 +79,9 @@ void drawSwView(void* data, Eo* obj)
if (canvas->draw() == tvg::Result::Success) {
canvas->sync();
}
//Explicitly clear all retained resources.
canvas->clear();
}
@ -160,6 +163,9 @@ void drawGLview(Evas_Object *obj)
if (canvas->draw() == tvg::Result::Success) {
canvas->sync();
}
//Explicitly clear all retained resources.
canvas->clear();
}

View file

@ -54,6 +54,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -87,6 +90,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -83,6 +83,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -116,6 +119,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -71,6 +71,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -104,6 +107,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -108,6 +108,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -141,6 +144,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -94,6 +94,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -127,6 +130,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -101,6 +101,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -134,6 +137,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -44,6 +44,9 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -77,6 +80,9 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -102,6 +102,8 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -135,6 +137,8 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -176,6 +176,8 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -209,6 +211,8 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}
@ -237,7 +241,6 @@ int main(int argc, char **argv)
//Initialize ThorVG Engine
if (tvg::Initializer::init(tvgEngine, threads) == tvg::Result::Success) {
elm_init(argc, argv);
if (tvgEngine == tvg::CanvasEngine::Sw) {

View file

@ -97,6 +97,8 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -130,6 +132,8 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -69,6 +69,8 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -102,6 +104,8 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}

View file

@ -19,9 +19,6 @@ void tvgUpdateCmds(tvg::Canvas* canvas, float progress)
{
if (!canvas) return;
//Explicitly clear all retained paint nodes.
if (canvas->clear() != tvg::Result::Success) return;
//Shape
auto shape = tvg::Shape::gen();
shape->appendRect(-100, -100, 200, 200, (100 * progress), (100 * progress));
@ -68,6 +65,8 @@ void drawSwView(void* data, Eo* obj)
if (swCanvas->draw() == tvg::Result::Success) {
swCanvas->sync();
}
//Explicitly clear all retained resources.
swCanvas->clear();
}
@ -101,6 +100,8 @@ void drawGLview(Evas_Object *obj)
if (glCanvas->draw() == tvg::Result::Success) {
glCanvas->sync();
}
//Explicitly clear all retained resources.
glCanvas->clear();
}
void transitGlCb(Elm_Transit_Effect *effect, Elm_Transit* transit, double progress)

View file

@ -50,6 +50,7 @@ void resMgrRetrieveOutline(unsigned idx)
bool resMgrInit(unsigned threads)
{
if (threads == 0) threads = 1;
sharedOutline.reserve(threads);
sharedOutline.resize(threads);
threadsCnt = threads;