mirror of
https://github.com/thorvg/thorvg.git
synced 2025-07-23 14:48:24 +00:00
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:
parent
1b8188ee67
commit
9bb1972ef9
21 changed files with 106 additions and 4 deletions
|
@ -93,6 +93,7 @@ void drawSwView(void* data, Eo* obj)
|
|||
if (swCanvas->draw() == tvg::Result::Success) {
|
||||
swCanvas->sync();
|
||||
}
|
||||
swCanvas->clear(); //Flush out cached resource
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue