From b385833924d34ba67cf635d6c910a3ad51bac38c Mon Sep 17 00:00:00 2001 From: Mira Grudzinska Date: Thu, 14 Oct 2021 02:32:35 +0200 Subject: [PATCH] capi: change defines to enum Tvg_Engine enum introduced to replace TVG_ENGINE_SW/GL defs. --- src/bindings/capi/thorvg_capi.h | 40 ++++++++++++++++++---------------------- src/bindings/capi/tvgCapi.cpp | 4 ++-- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/bindings/capi/thorvg_capi.h b/src/bindings/capi/thorvg_capi.h index 88bea76..a7b8e7b 100644 --- a/src/bindings/capi/thorvg_capi.h +++ b/src/bindings/capi/thorvg_capi.h @@ -46,21 +46,6 @@ extern "C" { * \{ */ -/*! -* CPU raster engine type. -* -* \ingroup ThorVGCapi_Initializer -*/ -#define TVG_ENGINE_SW (1 << 1) - - -/*! -* OpenGL raster engine type. -* -* \ingroup ThorVGCapi_Initializer -*/ -#define TVG_ENGINE_GL (1 << 2) - /** * \brief A structure responsible for managing and drawing graphical elements. @@ -91,6 +76,17 @@ typedef struct _Tvg_Saver Tvg_Saver; /** +* \brief Enumeration specifying the engine type used for the graphics backend. For multiple backeneds bitwise operation is allowed. +* +* \ingroup ThorVGCapi_Initializer +*/ +typedef enum { + TVG_ENGINE_SW = (1 << 1), ///< CPU rasterizer. + TVG_ENGINE_GL = (1 << 2) ///< OpenGL rasterizer. +} Tvg_Engine; + + +/** * \brief Enumeration specifying the result from the APIs. */ typedef enum { @@ -257,9 +253,9 @@ typedef struct * * \note The Initializer keeps track of the number of times it was called. Threads count is fixed at the first init() call. * \see tvg_engine_term() -* \see TVG_ENGINE_SW, TVG_ENGINE_GL +* \see Tvg_Engine */ -TVG_EXPORT Tvg_Result tvg_engine_init(unsigned engine_method, unsigned threads); +TVG_EXPORT Tvg_Result tvg_engine_init(Tvg_Engine engine_method, unsigned threads); /*! @@ -285,9 +281,9 @@ TVG_EXPORT Tvg_Result tvg_engine_init(unsigned engine_method, unsigned threads); * \retval TVG_RESULT_UNKNOWN An internal error. * * \see tvg_engine_init() -* \see TVG_ENGINE_SW, TVG_ENGINE_GL +* \see Tvg_Engine */ -TVG_EXPORT Tvg_Result tvg_engine_term(unsigned engine_method); +TVG_EXPORT Tvg_Result tvg_engine_term(Tvg_Engine engine_method); /** \} */ // end defgroup ThorVGCapi_Initializer @@ -471,7 +467,7 @@ TVG_EXPORT Tvg_Result tvg_swcanvas_set_mempool(Tvg_Canvas* canvas, Tvg_Mempool_P * } * * tvg_canvas_destroy(canvas); -* tvg_engine_term() +* tvg_engine_term(TVG_ENGINE_SW) * \endcode * * \param[in] canvas The Tvg_Canvas object to be destroyed. @@ -529,7 +525,7 @@ TVG_EXPORT Tvg_Result tvg_canvas_push(Tvg_Canvas* canvas, Tvg_Paint* paint); * tvg_canvas_reserve(canvas, 100); //reserve array for 100 paints in canvas. * * tvg_canvas_destroy(canvas); -* tvg_engine_term() +* tvg_engine_term(TVG_ENGINE_SW) * \endcode * * \param[in] canvas The Tvg_Canvas object managing the reserved memory. @@ -1972,7 +1968,7 @@ TVG_EXPORT Tvg_Result tvg_saver_save(Tvg_Saver* saver, Tvg_Paint* paint, const c * \return Tvg_Result enumeration. * \retval TVG_RESULT_SUCCESS Succeed. * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument. -* \retval TVG_RESULT_INSUFFICIENT_CONDITION No saving task is running. +* \retval TVG_RESULT_INSUFFICIENT_CONDITION No saving task is running. * * \note The asynchronous tasking is dependent on the Saver module implementation. * \see tvg_saver_save() diff --git a/src/bindings/capi/tvgCapi.cpp b/src/bindings/capi/tvgCapi.cpp index ff22fd1..f0d99ba 100644 --- a/src/bindings/capi/tvgCapi.cpp +++ b/src/bindings/capi/tvgCapi.cpp @@ -38,13 +38,13 @@ extern "C" { /* Engine API */ /************************************************************************/ -TVG_EXPORT Tvg_Result tvg_engine_init(unsigned engine_method, unsigned threads) +TVG_EXPORT Tvg_Result tvg_engine_init(Tvg_Engine engine_method, unsigned threads) { return (Tvg_Result) Initializer::init(CanvasEngine(engine_method), threads); } -TVG_EXPORT Tvg_Result tvg_engine_term(unsigned engine_method) +TVG_EXPORT Tvg_Result tvg_engine_term(Tvg_Engine engine_method) { return (Tvg_Result) Initializer::term(CanvasEngine(engine_method)); } -- 2.7.4