From 99428ee80a2f9ab8774fb151a6ef7dcbd60ad207 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Wed, 8 Jul 2020 13:08:28 +0900 Subject: [PATCH] build: support features toggling in meson option. Change-Id: Id1ebda70fe8380aaa913f79af26e5c39893a6df5 --- meson.build | 18 ++++++++++-- meson_options.txt | 11 ++++++++ src/lib/gl_engine/meson.build | 10 +++---- src/lib/meson.build | 13 ++++++--- src/lib/sw_engine/meson.build | 8 +++--- src/lib/tvgCommon.h | 2 ++ src/lib/tvgGlCanvas.cpp | 21 +++++++++++++- src/lib/tvgInitializer.cpp | 39 +++++++++++++++++++++----- src/lib/tvgLoaderMgr.cpp | 9 ++++-- src/lib/tvgRender.h | 18 ++++++------ src/lib/tvgSwCanvas.cpp | 21 ++++++++++++-- src/loaders/meson.build | 8 ++++-- src/loaders/svg_loader/meson.build | 8 +++--- src/meson.build | 2 +- test/testAsync.cpp | 33 ++++++++++++---------- test/testBlending.cpp | 27 ++++++++++-------- test/testBoundary.cpp | 27 ++++++++++-------- test/testCustomTransform.cpp | 45 +++++++++++++++++------------- test/testDirectUpdate.cpp | 43 +++++++++++++++------------- test/testGradientTransform.cpp | 9 ++++-- test/testLinearGradient.cpp | 27 ++++++++++-------- test/testMultiShapes.cpp | 27 ++++++++++-------- test/testPath.cpp | 29 +++++++++++-------- test/testPathCopy.cpp | 27 ++++++++++-------- test/testRadialGradient.cpp | 29 +++++++++++-------- test/testScene.cpp | 29 +++++++++++-------- test/testSceneTransform.cpp | 45 +++++++++++++++++------------- test/testShape.cpp | 29 +++++++++++-------- test/testStroke.cpp | 29 +++++++++++-------- test/testStrokeLine.cpp | 27 ++++++++++-------- test/testSvg.cpp | 29 +++++++++++-------- test/testTransform.cpp | 45 +++++++++++++++++------------- test/testUpdate.cpp | 45 +++++++++++++++++------------- 33 files changed, 492 insertions(+), 297 deletions(-) create mode 100644 meson_options.txt diff --git a/meson.build b/meson.build index 0142de08..c23bcb16 100644 --- a/meson.build +++ b/meson.build @@ -6,12 +6,24 @@ project('thorvg', config_h = configuration_data() +if get_option('engines').contains('sw') == true + config_h.set10('THORVG_SW_RASTER_SUPPORT', true) +endif + +if get_option('engines').contains('gl') == true + config_h.set10('THORVG_GL_RASTER_SUPPORT', true) +endif + +if get_option('loaders').contains('svg') == true + config_h.set10('THORVG_SVG_LOADER_SUPPORT', true) +endif + configure_file( - output: 'config.h', - configuration: config_h + output: 'config.h', + configuration: config_h ) -headers = [include_directories('inc')] +headers = [include_directories('inc'), include_directories('.')] subdir('inc') subdir('src') diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 00000000..daf3923f --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,11 @@ +option('engines', + type: 'array', + choices: ['sw', 'gl'], + value: ['sw', 'gl'], + description: 'Enable Rasterizer Engine in thorvg') + +option('loaders', + type: 'array', + choices: ['svg'], + value: ['svg'], + description: 'Enable Vector File Loader in thorvg') diff --git a/src/lib/gl_engine/meson.build b/src/lib/gl_engine/meson.build index 6856f1dd..63c7ee89 100644 --- a/src/lib/gl_engine/meson.build +++ b/src/lib/gl_engine/meson.build @@ -18,8 +18,8 @@ egl_dep = meson.get_compiler('cpp').find_library('EGL') gles_dep = meson.get_compiler('cpp').find_library('GLESv2') external_dep = [egl_dep, gles_dep] -glengine_dep = declare_dependency( - dependencies : external_dep, - include_directories : include_directories('.'), - sources : source_file, -) +engine_dep += [declare_dependency( + dependencies : external_dep, + include_directories : include_directories('.'), + sources : source_file, +)] diff --git a/src/lib/meson.build b/src/lib/meson.build index 9a7dc61c..46d6a997 100644 --- a/src/lib/meson.build +++ b/src/lib/meson.build @@ -1,5 +1,12 @@ -subdir('sw_engine') -subdir('gl_engine') +engine_dep = [] + +if get_option('engines').contains('sw') == true + subdir('sw_engine') +endif + +if get_option('engines').contains('gl') == true + subdir('gl_engine') +endif source_file = [ 'tvgCanvasImpl.h', @@ -25,8 +32,6 @@ source_file = [ 'tvgSwCanvas.cpp', ] -engine_dep = [swengine_dep, glengine_dep] - common_dep = declare_dependency( dependencies : engine_dep, include_directories : include_directories('.'), diff --git a/src/lib/sw_engine/meson.build b/src/lib/sw_engine/meson.build index 8b062587..66b1e0d1 100644 --- a/src/lib/sw_engine/meson.build +++ b/src/lib/sw_engine/meson.build @@ -10,7 +10,7 @@ source_file = [ 'tvgSwStroke.cpp', ] -swengine_dep = declare_dependency( - include_directories : include_directories('.'), - sources : source_file -) +engine_dep += [declare_dependency( + include_directories : include_directories('.'), + sources : source_file +)] diff --git a/src/lib/tvgCommon.h b/src/lib/tvgCommon.h index 79f7c187..ac91f499 100644 --- a/src/lib/tvgCommon.h +++ b/src/lib/tvgCommon.h @@ -17,6 +17,8 @@ #ifndef _TVG_COMMON_H_ #define _TVG_COMMON_H_ +#include "config.h" + #include #include #include diff --git a/src/lib/tvgGlCanvas.cpp b/src/lib/tvgGlCanvas.cpp index 1af7eace..4502498e 100644 --- a/src/lib/tvgGlCanvas.cpp +++ b/src/lib/tvgGlCanvas.cpp @@ -18,9 +18,17 @@ #define _TVG_GLCANVAS_CPP_ #include "tvgCommon.h" -#include "tvgGlRenderer.h" #include "tvgCanvasImpl.h" +#ifdef THORVG_GL_RASTER_SUPPORT + #include "tvgGlRenderer.h" +#else + class GlRenderer : public RenderMethod + { + //Non Supported. Dummy Class */ + }; +#endif + /************************************************************************/ /* Internal Class Implementation */ /************************************************************************/ @@ -35,11 +43,16 @@ struct GlCanvas::Impl /* External Class Implementation */ /************************************************************************/ +#ifdef THORVG_GL_RASTER_SUPPORT GlCanvas::GlCanvas() : Canvas(GlRenderer::inst()), pImpl(make_unique()) +#else +GlCanvas::GlCanvas() : Canvas(nullptr), pImpl(make_unique()) +#endif { } + GlCanvas::~GlCanvas() { } @@ -47,6 +60,7 @@ GlCanvas::~GlCanvas() Result GlCanvas::target(uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h) noexcept { +#ifdef THORVG_GL_RASTER_SUPPORT //We know renderer type, avoid dynamic_cast for performance. auto renderer = static_cast(Canvas::pImpl.get()->renderer); if (!renderer) return Result::MemoryCorruption; @@ -54,15 +68,20 @@ Result GlCanvas::target(uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t if (!renderer->target(buffer, stride, w, h)) return Result::Unknown; return Result::Success; +#endif + return Result::NonSupport; } unique_ptr GlCanvas::gen() noexcept { +#ifdef THORVG_GL_RASTER_SUPPORT auto canvas = unique_ptr(new GlCanvas); assert(canvas); return canvas; +#endif + return unique_ptr(nullptr); } diff --git a/src/lib/tvgInitializer.cpp b/src/lib/tvgInitializer.cpp index 857698d2..468178ec 100644 --- a/src/lib/tvgInitializer.cpp +++ b/src/lib/tvgInitializer.cpp @@ -18,10 +18,17 @@ #define _TVG_INITIALIZER_CPP_ #include "tvgCommon.h" -#include "tvgSwRenderer.h" -#include "tvgGlRenderer.h" #include "tvgLoaderMgr.h" +#ifdef THORVG_SW_RASTER_SUPPORT + #include "tvgSwRenderer.h" +#endif + +#ifdef THORVG_GL_RASTER_SUPPORT + #include "tvgGlRenderer.h" +#endif + + /************************************************************************/ /* Internal Class Implementation */ /************************************************************************/ @@ -32,14 +39,24 @@ Result Initializer::init(CanvasEngine engine) noexcept { + auto nonSupport = true; + if (engine == CanvasEngine::Sw) { - if (!SwRenderer::init()) return Result::InsufficientCondition; + #ifdef THORVG_SW_RASTER_SUPPORT + if (!SwRenderer::init()) return Result::InsufficientCondition; + nonSupport = false; + #endif } else if (engine == CanvasEngine::Gl) { - if (!GlRenderer::init()) return Result::InsufficientCondition; + #ifdef THORVG_GL_RASTER_SUPPORT + if (!GlRenderer::init()) return Result::InsufficientCondition; + nonSupport = false; + #endif } else { return Result::InvalidArguments; } + if (nonSupport) return Result::NonSupport; + if (!LoaderMgr::init()) return Result::Unknown; return Result::Success; @@ -48,16 +65,24 @@ Result Initializer::init(CanvasEngine engine) noexcept Result Initializer::term(CanvasEngine engine) noexcept { - //TODO: deinitialize modules + auto nonSupport = true; if (engine == CanvasEngine::Sw) { - if (!SwRenderer::term()) return Result::InsufficientCondition; + #ifdef THORVG_SW_RASTER_SUPPORT + if (!SwRenderer::term()) return Result::InsufficientCondition; + nonSupport = false; + #endif } else if (engine == CanvasEngine::Gl) { - if (!GlRenderer::term()) return Result::InsufficientCondition; + #ifdef THORVG_GL_RASTER_SUPPORT + if (!GlRenderer::term()) return Result::InsufficientCondition; + nonSupport = false; + #endif } else { return Result::InvalidArguments; } + if (nonSupport) return Result::NonSupport; + if (!LoaderMgr::term()) return Result::Unknown; return Result::Success; diff --git a/src/lib/tvgLoaderMgr.cpp b/src/lib/tvgLoaderMgr.cpp index a99838b7..ae657322 100644 --- a/src/lib/tvgLoaderMgr.cpp +++ b/src/lib/tvgLoaderMgr.cpp @@ -18,8 +18,10 @@ #define _TVG_LOADER_MGR_CPP_ #include "tvgCommon.h" -#include "tvgSvgLoader.h" +#ifdef THORVG_SVG_LOADER_SUPPORT + #include "tvgSvgLoader.h" +#endif static int initCnt = 0; @@ -45,8 +47,11 @@ bool LoaderMgr::term() unique_ptr LoaderMgr::loader(const char* path) { - //TODO: +#ifdef THORVG_SVG_LOADER_SUPPORT return unique_ptr(new SvgLoader); +#endif + cout << "Non supported format: " << path << endl; + return unique_ptr(nullptr); } #endif //_TVG_LOADER_MGR_CPP_ \ No newline at end of file diff --git a/src/lib/tvgRender.h b/src/lib/tvgRender.h index b0a3c846..e20271b8 100644 --- a/src/lib/tvgRender.h +++ b/src/lib/tvgRender.h @@ -51,15 +51,15 @@ class RenderMethod { public: virtual ~RenderMethod() {} - virtual void* prepare(const Shape& shape, void* data, const RenderTransform* transform, RenderUpdateFlag flags) = 0; - virtual bool dispose(const Shape& shape, void *data) = 0; - virtual bool preRender() = 0; - virtual bool render(const Shape& shape, void *data) = 0; - virtual bool postRender() = 0; - virtual bool clear() = 0; - virtual bool flush() = 0; - virtual uint32_t ref() = 0; - virtual uint32_t unref() = 0; + virtual void* prepare(const Shape& shape, void* data, const RenderTransform* transform, RenderUpdateFlag flags) { return nullptr; } + virtual bool dispose(const Shape& shape, void *data) { return false; } + virtual bool preRender() { return false; } + virtual bool render(const Shape& shape, void *data) { return false; } + virtual bool postRender() { return false; } + virtual bool clear() { return false; } + virtual bool flush() { return false; } + virtual uint32_t ref() { return 0; } + virtual uint32_t unref() { return 0; } }; struct RenderInitializer diff --git a/src/lib/tvgSwCanvas.cpp b/src/lib/tvgSwCanvas.cpp index a0bfdd04..4c61eaa6 100644 --- a/src/lib/tvgSwCanvas.cpp +++ b/src/lib/tvgSwCanvas.cpp @@ -18,9 +18,16 @@ #define _TVG_SWCANVAS_CPP_ #include "tvgCommon.h" -#include "tvgSwRenderer.h" #include "tvgCanvasImpl.h" +#ifdef THORVG_SW_RASTER_SUPPORT + #include "tvgSwRenderer.h" +#else + class SwRenderer : public RenderMethod + { + //Non Supported. Dummy Class */ + }; +#endif /************************************************************************/ /* Internal Class Implementation */ @@ -36,7 +43,11 @@ struct SwCanvas::Impl /* External Class Implementation */ /************************************************************************/ +#ifdef THORVG_SW_RASTER_SUPPORT SwCanvas::SwCanvas() : Canvas(SwRenderer::inst()), pImpl(make_unique()) +#else +SwCanvas::SwCanvas() : Canvas(nullptr), pImpl(make_unique()) +#endif { } @@ -48,6 +59,7 @@ SwCanvas::~SwCanvas() Result SwCanvas::target(uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h) noexcept { +#ifdef THORVG_SW_RASTER_SUPPORT //We know renderer type, avoid dynamic_cast for performance. auto renderer = static_cast(Canvas::pImpl.get()->renderer); if (!renderer) return Result::MemoryCorruption; @@ -55,15 +67,20 @@ Result SwCanvas::target(uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t if (!renderer->target(buffer, stride, w, h)) return Result::InvalidArguments; return Result::Success; +#endif + return Result::NonSupport; } unique_ptr SwCanvas::gen() noexcept { +#ifdef THORVG_SW_RASTER_SUPPORT auto canvas = unique_ptr(new SwCanvas); assert(canvas); - return canvas; + return canvas; +#endif + return unique_ptr(nullptr); } #endif /* _TVG_SWCANVAS_CPP_ */ diff --git a/src/loaders/meson.build b/src/loaders/meson.build index 3abf0fd4..aaf1324f 100644 --- a/src/loaders/meson.build +++ b/src/loaders/meson.build @@ -1,6 +1,10 @@ -subdir('svg_loader') +subloader_dep = [] + +if get_option('loaders').contains('svg') == true + subdir('svg_loader') +endif loader_dep = declare_dependency( - dependencies : svgloader_dep, + dependencies: subloader_dep, include_directories : include_directories('.'), ) diff --git a/src/loaders/svg_loader/meson.build b/src/loaders/svg_loader/meson.build index de7adf76..d62762cf 100644 --- a/src/loaders/svg_loader/meson.build +++ b/src/loaders/svg_loader/meson.build @@ -10,7 +10,7 @@ source_file = [ 'tvgSvgSceneBuilder.cpp', ] -svgloader_dep = declare_dependency( - include_directories : include_directories('.'), - sources : source_file -) +subloader_dep += [declare_dependency( + include_directories : include_directories('.'), + sources : source_file +)] diff --git a/src/meson.build b/src/meson.build index faff2b38..23c4ad54 100644 --- a/src/meson.build +++ b/src/meson.build @@ -5,7 +5,7 @@ subdir('loaders') subdir('examples') thread_dep = meson.get_compiler('cpp').find_library('pthread') -thorvg_lib_dep = [ common_dep, loader_dep, thread_dep] +thorvg_lib_dep = [common_dep, loader_dep, thread_dep] thorvg_lib = library( 'thorvg', diff --git a/test/testAsync.cpp b/test/testAsync.cpp index bb890abf..df81020a 100644 --- a/test/testAsync.cpp +++ b/test/testAsync.cpp @@ -156,22 +156,27 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + auto view = createSwView(); + evas_object_image_pixels_get_callback_set(view, drawSwView, nullptr); + ecore_animator_add(animSwCb, view); + } else { + auto view = createGlView(); + ecore_animator_add(animGlCb, view); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - auto view = createSwView(); - evas_object_image_pixels_get_callback_set(view, drawSwView, nullptr); - ecore_animator_add(animSwCb, view); } else { - auto view = createGlView(); - ecore_animator_add(animGlCb, view); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); + return 0; } diff --git a/test/testBlending.cpp b/test/testBlending.cpp index 6f5f6e1b..6765cb67 100644 --- a/test/testBlending.cpp +++ b/test/testBlending.cpp @@ -136,19 +136,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); + return 0; } diff --git a/test/testBoundary.cpp b/test/testBoundary.cpp index b23b82ec..71dd6a01 100644 --- a/test/testBoundary.cpp +++ b/test/testBoundary.cpp @@ -125,19 +125,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); + return 0; } diff --git a/test/testCustomTransform.cpp b/test/testCustomTransform.cpp index 08075d25..59454900 100644 --- a/test/testCustomTransform.cpp +++ b/test/testCustomTransform.cpp @@ -179,28 +179,33 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); - Elm_Transit *transit = elm_transit_add(); + Elm_Transit *transit = elm_transit_add(); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + auto view = createSwView(); + elm_transit_effect_add(transit, transitSwCb, view, nullptr); + } else { + auto view = createGlView(); + elm_transit_effect_add(transit, transitGlCb, view, nullptr); + } + + elm_transit_duration_set(transit, 2); + elm_transit_repeat_times_set(transit, -1); + elm_transit_auto_reverse_set(transit, EINA_TRUE); + elm_transit_go(transit); + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - auto view = createSwView(); - elm_transit_effect_add(transit, transitSwCb, view, nullptr); } else { - auto view = createGlView(); - elm_transit_effect_add(transit, transitGlCb, view, nullptr); + cout << "engine is not supported" << endl; } - - elm_transit_duration_set(transit, 2); - elm_transit_repeat_times_set(transit, -1); - elm_transit_auto_reverse_set(transit, EINA_TRUE); - elm_transit_go(transit); - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); -} + return 0; +} \ No newline at end of file diff --git a/test/testDirectUpdate.cpp b/test/testDirectUpdate.cpp index 437ad1f4..67d0240c 100644 --- a/test/testDirectUpdate.cpp +++ b/test/testDirectUpdate.cpp @@ -142,28 +142,33 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); - Elm_Transit *transit = elm_transit_add(); + Elm_Transit *transit = elm_transit_add(); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + auto view = createSwView(); + elm_transit_effect_add(transit, transitSwCb, view, nullptr); + } else { + auto view = createGlView(); + elm_transit_effect_add(transit, transitGlCb, view, nullptr); + } + + elm_transit_duration_set(transit, 2); + elm_transit_repeat_times_set(transit, -1); + elm_transit_auto_reverse_set(transit, EINA_TRUE); + elm_transit_go(transit); + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - auto view = createSwView(); - elm_transit_effect_add(transit, transitSwCb, view, nullptr); } else { - auto view = createGlView(); - elm_transit_effect_add(transit, transitGlCb, view, nullptr); + cout << "engine is not supported" << endl; } - - elm_transit_duration_set(transit, 2); - elm_transit_repeat_times_set(transit, -1); - elm_transit_auto_reverse_set(transit, EINA_TRUE); - elm_transit_go(transit); - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); + return 0; } diff --git a/test/testGradientTransform.cpp b/test/testGradientTransform.cpp index fd5a563f..1c1b8206 100644 --- a/test/testGradientTransform.cpp +++ b/test/testGradientTransform.cpp @@ -207,7 +207,7 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { elm_init(argc, argv); @@ -231,4 +231,9 @@ int main(int argc, char **argv) //Terminate ThorVG Engine tvg::Initializer::term(tvgEngine); -} + + } else { + cout << "engine is not supported" << endl; + } + return 0; +} \ No newline at end of file diff --git a/test/testLinearGradient.cpp b/test/testLinearGradient.cpp index 45f38d75..826287b0 100644 --- a/test/testLinearGradient.cpp +++ b/test/testLinearGradient.cpp @@ -154,19 +154,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); + return 0; } diff --git a/test/testMultiShapes.cpp b/test/testMultiShapes.cpp index ec46f2f9..88601351 100644 --- a/test/testMultiShapes.cpp +++ b/test/testMultiShapes.cpp @@ -114,19 +114,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); + return 0; } diff --git a/test/testPath.cpp b/test/testPath.cpp index d74b89d8..a6656a87 100644 --- a/test/testPath.cpp +++ b/test/testPath.cpp @@ -131,19 +131,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); -} + return 0; +} \ No newline at end of file diff --git a/test/testPathCopy.cpp b/test/testPathCopy.cpp index ebf900c3..dd008270 100644 --- a/test/testPathCopy.cpp +++ b/test/testPathCopy.cpp @@ -168,19 +168,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); + return 0; } \ No newline at end of file diff --git a/test/testRadialGradient.cpp b/test/testRadialGradient.cpp index 71cfaaef..054bf12d 100644 --- a/test/testRadialGradient.cpp +++ b/test/testRadialGradient.cpp @@ -154,19 +154,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); -} + return 0; +} \ No newline at end of file diff --git a/test/testScene.cpp b/test/testScene.cpp index bee2b54f..b796a5b8 100644 --- a/test/testScene.cpp +++ b/test/testScene.cpp @@ -161,19 +161,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); -} + return 0; +} \ No newline at end of file diff --git a/test/testSceneTransform.cpp b/test/testSceneTransform.cpp index d5d538d5..aeaf11eb 100644 --- a/test/testSceneTransform.cpp +++ b/test/testSceneTransform.cpp @@ -203,28 +203,33 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); - Elm_Transit *transit = elm_transit_add(); + Elm_Transit *transit = elm_transit_add(); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + auto view = createSwView(); + elm_transit_effect_add(transit, transitSwCb, view, nullptr); + } else { + auto view = createGlView(); + elm_transit_effect_add(transit, transitGlCb, view, nullptr); + } + + elm_transit_duration_set(transit, 2); + elm_transit_repeat_times_set(transit, -1); + elm_transit_auto_reverse_set(transit, EINA_TRUE); + elm_transit_go(transit); + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - auto view = createSwView(); - elm_transit_effect_add(transit, transitSwCb, view, nullptr); } else { - auto view = createGlView(); - elm_transit_effect_add(transit, transitGlCb, view, nullptr); + cout << "engine is not supported" << endl; } - - elm_transit_duration_set(transit, 2); - elm_transit_repeat_times_set(transit, -1); - elm_transit_auto_reverse_set(transit, EINA_TRUE); - elm_transit_go(transit); - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); -} + return 0; +} \ No newline at end of file diff --git a/test/testShape.cpp b/test/testShape.cpp index e5e4c572..391b55ff 100644 --- a/test/testShape.cpp +++ b/test/testShape.cpp @@ -104,19 +104,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); -} + return 0; +} \ No newline at end of file diff --git a/test/testStroke.cpp b/test/testStroke.cpp index f4f7c8c0..f7c1a88f 100644 --- a/test/testStroke.cpp +++ b/test/testStroke.cpp @@ -151,19 +151,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); -} + return 0; +} \ No newline at end of file diff --git a/test/testStrokeLine.cpp b/test/testStrokeLine.cpp index 1856453a..bc3f9601 100644 --- a/test/testStrokeLine.cpp +++ b/test/testStrokeLine.cpp @@ -188,19 +188,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); + return 0; } \ No newline at end of file diff --git a/test/testSvg.cpp b/test/testSvg.cpp index 04b9ab0e..edb987b8 100644 --- a/test/testSvg.cpp +++ b/test/testSvg.cpp @@ -128,19 +128,24 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + createSwView(); + } else { + createGlView(); + } + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvg::CanvasEngine::Sw); - if (tvgEngine == tvg::CanvasEngine::Sw) { - createSwView(); } else { - createGlView(); + cout << "engine is not supported" << endl; } - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvg::CanvasEngine::Sw); -} + return 0; +} \ No newline at end of file diff --git a/test/testTransform.cpp b/test/testTransform.cpp index 65492b11..da7c87cd 100644 --- a/test/testTransform.cpp +++ b/test/testTransform.cpp @@ -170,28 +170,33 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); - Elm_Transit *transit = elm_transit_add(); + Elm_Transit *transit = elm_transit_add(); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + auto view = createSwView(); + elm_transit_effect_add(transit, transitSwCb, view, nullptr); + } else { + auto view = createGlView(); + elm_transit_effect_add(transit, transitGlCb, view, nullptr); + } + + elm_transit_duration_set(transit, 2); + elm_transit_repeat_times_set(transit, -1); + elm_transit_auto_reverse_set(transit, EINA_TRUE); + elm_transit_go(transit); + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - auto view = createSwView(); - elm_transit_effect_add(transit, transitSwCb, view, nullptr); } else { - auto view = createGlView(); - elm_transit_effect_add(transit, transitGlCb, view, nullptr); + cout << "engine is not supported" << endl; } - - elm_transit_duration_set(transit, 2); - elm_transit_repeat_times_set(transit, -1); - elm_transit_auto_reverse_set(transit, EINA_TRUE); - elm_transit_go(transit); - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); -} + return 0; +} \ No newline at end of file diff --git a/test/testUpdate.cpp b/test/testUpdate.cpp index 6bfbddcf..c3504356 100644 --- a/test/testUpdate.cpp +++ b/test/testUpdate.cpp @@ -131,28 +131,33 @@ int main(int argc, char **argv) } //Initialize ThorVG Engine - tvg::Initializer::init(tvgEngine); + if (tvg::Initializer::init(tvgEngine) == tvg::Result::Success) { - elm_init(argc, argv); + elm_init(argc, argv); - Elm_Transit *transit = elm_transit_add(); + Elm_Transit *transit = elm_transit_add(); + + if (tvgEngine == tvg::CanvasEngine::Sw) { + auto view = createSwView(); + elm_transit_effect_add(transit, transitSwCb, view, nullptr); + } else { + auto view = createGlView(); + elm_transit_effect_add(transit, transitGlCb, view, nullptr); + } + + elm_transit_duration_set(transit, 2); + elm_transit_repeat_times_set(transit, -1); + elm_transit_auto_reverse_set(transit, EINA_TRUE); + elm_transit_go(transit); + + elm_run(); + elm_shutdown(); + + //Terminate ThorVG Engine + tvg::Initializer::term(tvgEngine); - if (tvgEngine == tvg::CanvasEngine::Sw) { - auto view = createSwView(); - elm_transit_effect_add(transit, transitSwCb, view, nullptr); } else { - auto view = createGlView(); - elm_transit_effect_add(transit, transitGlCb, view, nullptr); + cout << "engine is not supported" << endl; } - - elm_transit_duration_set(transit, 2); - elm_transit_repeat_times_set(transit, -1); - elm_transit_auto_reverse_set(transit, EINA_TRUE); - elm_transit_go(transit); - - elm_run(); - elm_shutdown(); - - //Terminate ThorVG Engine - tvg::Initializer::term(tvgEngine); -} + return 0; +} \ No newline at end of file