mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-08 13:43:43 +00:00
examples: ++safety.
Guarantee the resource free at the termination.
This commit is contained in:
parent
468b132739
commit
a6f4b5f38c
11 changed files with 46 additions and 4 deletions
|
@ -193,6 +193,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -184,6 +184,9 @@ int main(int argc, char **argv)
|
|||
}
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -203,6 +203,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) {
|
||||
|
@ -190,6 +191,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -181,6 +181,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -181,6 +181,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,7 +52,9 @@ void tvgDrawCmds(tvg::Canvas* canvas)
|
|||
|
||||
void tvgUpdateCmds(tvg::Canvas* canvas, float progress)
|
||||
{
|
||||
if (!canvas) return;
|
||||
if (!canvas || reqSync) return;
|
||||
|
||||
canvas->clear(false);
|
||||
|
||||
canvas->clear(false);
|
||||
|
||||
|
@ -59,11 +62,13 @@ void tvgUpdateCmds(tvg::Canvas* canvas, float progress)
|
|||
|
||||
auto before = ecore_time_get();
|
||||
|
||||
canvas->update(pPicture);
|
||||
canvas->update();
|
||||
|
||||
auto after = ecore_time_get();
|
||||
|
||||
updateTime = after - before;
|
||||
|
||||
reqSync = true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -102,6 +107,7 @@ void drawSwView(void* data, Eo* obj)
|
|||
|
||||
if (swCanvas->draw() == tvg::Result::Success) {
|
||||
swCanvas->sync();
|
||||
reqSync = false;
|
||||
}
|
||||
|
||||
auto after = ecore_time_get();
|
||||
|
@ -192,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,15 +182,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
|
||||
|
|
|
@ -224,6 +224,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -181,6 +181,9 @@ int main(int argc, char **argv)
|
|||
elm_transit_go(transit);
|
||||
|
||||
elm_run();
|
||||
|
||||
elm_transit_del(transit);
|
||||
|
||||
elm_shutdown();
|
||||
|
||||
//Terminate ThorVG Engine
|
||||
|
|
|
@ -169,6 +169,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