mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-15 12:34:30 +00:00
examples: ++safety.
Guarantee the resource free at the termination.
This commit is contained in:
parent
ab744fc164
commit
4ebbd0aefc
11 changed files with 46 additions and 4 deletions
|
@ -200,6 +200,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -191,6 +191,9 @@ int main(int argc, char **argv)
|
|||
}
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -210,6 +210,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -63,6 +63,7 @@ void tvgUpdateCmds(tvg::Canvas* canvas, float progress)
|
|||
|
||||
/* Update shape directly.
|
||||
You can update necessary properties of this shape. */
|
||||
canvas->clear(false);
|
||||
|
||||
//Reset Shape
|
||||
if (pShape->reset() == tvg::Result::Success) {
|
||||
|
@ -197,6 +198,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -182,6 +182,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -182,6 +182,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -30,6 +30,7 @@ static tvg::Picture* pPicture = nullptr;
|
|||
static double updateTime = 0;
|
||||
static double accumulateTime = 0;
|
||||
static uint32_t cnt = 0;
|
||||
static bool reqSync = false;
|
||||
|
||||
void tvgDrawCmds(tvg::Canvas* canvas)
|
||||
{
|
||||
|
@ -51,17 +52,21 @@ void tvgDrawCmds(tvg::Canvas* canvas)
|
|||
|
||||
void tvgUpdateCmds(tvg::Canvas* canvas, float progress)
|
||||
{
|
||||
if (!canvas) return;
|
||||
if (!canvas || reqSync) return;
|
||||
|
||||
canvas->clear(false);
|
||||
|
||||
pPicture->translate(WIDTH * progress * 0.05f, HEIGHT * progress * 0.05f);
|
||||
|
||||
auto before = ecore_time_get();
|
||||
|
||||
canvas->update(pPicture);
|
||||
canvas->update();
|
||||
|
||||
auto after = ecore_time_get();
|
||||
|
||||
updateTime = after - before;
|
||||
|
||||
reqSync = true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -100,6 +105,7 @@ void drawSwView(void* data, Eo* obj)
|
|||
|
||||
if (swCanvas->draw() == tvg::Result::Success) {
|
||||
swCanvas->sync();
|
||||
reqSync = false;
|
||||
}
|
||||
|
||||
auto after = ecore_time_get();
|
||||
|
@ -193,6 +199,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -189,15 +189,20 @@ int main(int argc, char **argv)
|
|||
|
||||
elm_init(argc, argv);
|
||||
|
||||
Ecore_Timer* timer;
|
||||
|
||||
if (tvgEngine == tvg::CanvasEngine::Sw) {
|
||||
auto view = createSwView();
|
||||
ecore_timer_add(0.33, timerSwCb, view);
|
||||
timer = ecore_timer_add(0.33, timerSwCb, view);
|
||||
} else {
|
||||
auto view = createGlView();
|
||||
ecore_timer_add(0.33, timerGlCb, view);
|
||||
timer = ecore_timer_add(0.33, timerGlCb, view);
|
||||
}
|
||||
|
||||
elm_run();
|
||||
|
||||
ecore_timer_del(timer);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -231,6 +231,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -188,6 +188,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -176,6 +176,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
Loading…
Add table
Reference in a new issue