diff --git a/examples/Capi.cpp b/examples/Capi.cpp index 4cb4a8b0..94d9d580 100644 --- a/examples/Capi.cpp +++ b/examples/Capi.cpp @@ -32,29 +32,29 @@ /* Capi Test Code */ /************************************************************************/ -static Tvg_Canvas* canvas = NULL; -static Tvg_Animation* animation = NULL; +static Tvg_Canvas canvas = NULL; +static Tvg_Animation animation = NULL; void contents() { //Linear gradient shape with a linear gradient stroke { //Set a shape - Tvg_Paint* shape1 = tvg_shape_new(); + Tvg_Paint shape1 = tvg_shape_new(); tvg_shape_move_to(shape1, 25.0f, 25.0f); tvg_shape_line_to(shape1, 375.0f, 25.0f); tvg_shape_cubic_to(shape1, 500.0f, 100.0f, -500.0f, 200.0f, 375.0f, 375.0f); tvg_shape_close(shape1); //Prepare a gradient for the fill - Tvg_Gradient* grad = tvg_linear_gradient_new(); + Tvg_Gradient grad = tvg_linear_gradient_new(); tvg_linear_gradient_set(grad, 25.0f, 25.0f, 200.0f, 200.0f); Tvg_Color_Stop color_stops[4] = {{0.00f, 255, 0, 0, 155}, {0.33f, 0, 255, 0, 100}, {0.66f, 255, 0, 255, 100}, {1.00f, 0, 0, 255, 155}}; tvg_gradient_set_color_stops(grad, color_stops, 4); tvg_gradient_set_spread(grad, TVG_STROKE_FILL_REFLECT); //Prepare a gradient for the stroke - Tvg_Gradient* grad_stroke = tvg_gradient_duplicate(grad); + Tvg_Gradient grad_stroke = tvg_gradient_duplicate(grad); //Set a gradient fill tvg_shape_set_gradient(shape1, grad); @@ -70,7 +70,7 @@ void contents() //Solid transformed shape { //Set a shape - Tvg_Paint* shape = tvg_shape_new(); + Tvg_Paint shape = tvg_shape_new(); tvg_shape_move_to(shape, 25.0f, 25.0f); tvg_shape_line_to(shape, 375.0f, 25.0f); tvg_shape_cubic_to(shape, 500.0f, 100.0f, -500.0f, 200.0f, 375.0f, 375.0f); @@ -88,13 +88,13 @@ void contents() //Radial gradient shape with a radial dashed stroke { //Set a shape - Tvg_Paint* shape = tvg_shape_new(); + Tvg_Paint shape = tvg_shape_new(); tvg_shape_append_rect(shape, 550.0f, 20.0f, 100.0f, 50.0f, 0.0f, 0.0f, true); tvg_shape_append_circle(shape, 600.0f, 150.0f, 100.0f, 50.0f, true); tvg_shape_append_rect(shape, 550.0f, 230.0f, 100.0f, 100.0f, 20.0f, 40.0f, true); //Prepare a radial gradient for the fill - Tvg_Gradient* grad = tvg_radial_gradient_new(); + Tvg_Gradient grad = tvg_radial_gradient_new(); tvg_radial_gradient_set(grad, 600.0f, 180.0f, 50.0f, 640.0f, 180.0f, 0.0f); Tvg_Color_Stop color_stops2[3] = {{0.0f, 255, 0, 255, 255}, {0.5f, 0, 0, 255, 255}, {1.0f, 50, 55, 155, 255}}; tvg_gradient_set_color_stops(grad, color_stops2, 3); @@ -111,7 +111,7 @@ void contents() float cx, cy, r, fx, fy, fr; tvg_radial_gradient_get(grad, &cx, &cy, &r, &fx, &fy, &fr); - Tvg_Gradient* grad_stroke = tvg_radial_gradient_new(); + Tvg_Gradient grad_stroke = tvg_radial_gradient_new(); tvg_radial_gradient_set(grad_stroke, cx, cy, r, fx, fy, fr); tvg_gradient_set_color_stops(grad_stroke, color_stops2_get, cnt); tvg_gradient_set_spread(grad_stroke, TVG_STROKE_FILL_REPEAT); @@ -129,10 +129,10 @@ void contents() //Scene { //Set a scene - Tvg_Paint* scene = tvg_scene_new(); + Tvg_Paint scene = tvg_scene_new(); //Set circles - Tvg_Paint* scene_shape1 = tvg_shape_new(); + Tvg_Paint scene_shape1 = tvg_shape_new(); tvg_shape_append_circle(scene_shape1, 80.0f, 650.f, 40.0f, 140.0f, true); tvg_shape_append_circle(scene_shape1, 180.0f, 600.f, 40.0f, 60.0f, true); tvg_shape_set_fill_color(scene_shape1, 0, 0, 255, 150); @@ -143,7 +143,7 @@ void contents() tvg_shape_set_trimpath(scene_shape1, 0.25f, 0.75f, true); //Set circles with a dashed stroke - Tvg_Paint* scene_shape2 = tvg_paint_duplicate(scene_shape1); + Tvg_Paint scene_shape2 = tvg_paint_duplicate(scene_shape1); tvg_shape_set_fill_color(scene_shape2, 75, 25, 155, 200); //Prapare a dash for the stroke @@ -169,7 +169,7 @@ void contents() //Masked picture { //Set a scene - Tvg_Paint* pict = tvg_picture_new(); + Tvg_Paint pict = tvg_picture_new(); if (tvg_picture_load(pict, EXAMPLE_DIR"/svg/tiger.svg") != TVG_RESULT_SUCCESS) { printf("Problem with loading an svg file\n"); tvg_paint_del(pict); @@ -181,7 +181,7 @@ void contents() tvg_paint_set_transform(pict, &m); // Set a composite shape - Tvg_Paint* comp = tvg_shape_new(); + Tvg_Paint comp = tvg_shape_new(); tvg_shape_append_circle(comp, 600.0f, 600.0f, 100.0f, 100.0f, true); tvg_shape_set_fill_color(comp, 0, 0, 0, 200); tvg_paint_set_mask_method(pict, comp, TVG_MASK_METHOD_INVERSE_ALPHA); @@ -194,7 +194,7 @@ void contents() //Animation with a picture { animation = tvg_animation_new(); - Tvg_Paint* pict_lottie = tvg_animation_get_picture(animation); + Tvg_Paint pict_lottie = tvg_animation_get_picture(animation); if (tvg_picture_load(pict_lottie, EXAMPLE_DIR"/lottie/sample.json") != TVG_RESULT_SUCCESS) { printf("Problem with loading a lottie file\n"); tvg_animation_del(animation); @@ -212,7 +212,7 @@ void contents() printf("Problem with loading the font from the file. Did you enable TTF Loader?\n"); } - Tvg_Paint *text = tvg_text_new(); + Tvg_Paint text = tvg_text_new(); tvg_text_set_font(text, "SentyCloud", 25.0f, ""); tvg_text_set_fill_color(text, 200, 200, 255); tvg_text_set_text(text, "\xE7\xB4\xA2\xE5\xB0\x94\x56\x47\x20\xE6\x98\xAF\xE6\x9C\x80\xE5\xA5\xBD\xE7\x9A\x84"); @@ -222,7 +222,7 @@ void contents() //Text 2 with Scene effect { - Tvg_Paint* scene = tvg_scene_new(); + Tvg_Paint scene = tvg_scene_new(); //load from a memory FILE* file = fopen(EXAMPLE_DIR"/font/Arial.ttf", "rb"); @@ -240,13 +240,13 @@ void contents() fclose(file); } - Tvg_Gradient* grad = tvg_radial_gradient_new(); + Tvg_Gradient grad = tvg_radial_gradient_new(); tvg_radial_gradient_set(grad, 200.0f, 200.0f, 20.0f, 200.0f, 200.0f, 0.0f); Tvg_Color_Stop color_stops[2] = {{0.0f, 255, 255, 255, 255}, {1.0f, 0, 0, 255, 255}}; tvg_gradient_set_color_stops(grad, color_stops, 2); tvg_gradient_set_spread(grad, TVG_STROKE_FILL_REFLECT); - Tvg_Paint *text = tvg_text_new(); + Tvg_Paint text = tvg_text_new(); tvg_text_set_font(text, "Arial", 40.0f, "italic"); tvg_text_set_gradient(text, grad); tvg_text_set_text(text, "ThorVG is the best"); diff --git a/src/bindings/capi/thorvg_capi.h b/src/bindings/capi/thorvg_capi.h index 4fc32a68..64e17614 100644 --- a/src/bindings/capi/thorvg_capi.h +++ b/src/bindings/capi/thorvg_capi.h @@ -57,7 +57,7 @@ extern "C" { * * It sets up the target buffer, which can be drawn on the screen. It stores the Tvg_Paint objects (Shape, Scene, Picture). */ -typedef struct _Tvg_Canvas Tvg_Canvas; +typedef struct _Tvg_Canvas* Tvg_Canvas; /** @@ -65,29 +65,29 @@ typedef struct _Tvg_Canvas Tvg_Canvas; * * @warning The TvgPaint objects cannot be shared between Canvases. */ -typedef struct _Tvg_Paint Tvg_Paint; +typedef struct _Tvg_Paint* Tvg_Paint; /** * @brief A structure representing a gradient fill of a Tvg_Paint object. */ -typedef struct _Tvg_Gradient Tvg_Gradient; +typedef struct _Tvg_Gradient* Tvg_Gradient; /** * @brief A structure representing an object that enables to save a Tvg_Paint object into a file. */ -typedef struct _Tvg_Saver Tvg_Saver; +typedef struct _Tvg_Saver* Tvg_Saver; /** * @brief A structure representing an animation controller object. */ -typedef struct _Tvg_Animation Tvg_Animation; +typedef struct _Tvg_Animation* Tvg_Animation; /** * @brief A structure representing an object that enables iterating through a scene's descendents. */ -typedef struct _Tvg_Accessor Tvg_Accessor; +typedef struct _Tvg_Accessor* Tvg_Accessor; /** @@ -384,7 +384,7 @@ TVG_API Tvg_Result tvg_engine_version(uint32_t* major, uint32_t* minor, uint32_t * * @return A new Tvg_Canvas object. */ -TVG_API Tvg_Canvas* tvg_swcanvas_create(void); +TVG_API Tvg_Canvas tvg_swcanvas_create(void); /*! @@ -409,7 +409,7 @@ TVG_API Tvg_Canvas* tvg_swcanvas_create(void); * * @see Tvg_Colorspace */ -TVG_API Tvg_Result tvg_swcanvas_set_target(Tvg_Canvas* canvas, uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h, Tvg_Colorspace cs); +TVG_API Tvg_Result tvg_swcanvas_set_target(Tvg_Canvas canvas, uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h, Tvg_Colorspace cs); /** \} */ // end defgroup ThorVGCapi_SwCanvas @@ -435,7 +435,7 @@ TVG_API Tvg_Result tvg_swcanvas_set_target(Tvg_Canvas* canvas, uint32_t* buffer, * * @since 1.0.0 */ -TVG_API Tvg_Canvas* tvg_glcanvas_create(void); +TVG_API Tvg_Canvas tvg_glcanvas_create(void); /*! @@ -456,7 +456,7 @@ TVG_API Tvg_Canvas* tvg_glcanvas_create(void); * * @note Experimental API */ -TVG_API Tvg_Result tvg_glcanvas_set_target(Tvg_Canvas* canvas, void* context, int32_t id, uint32_t w, uint32_t h, Tvg_Colorspace cs); +TVG_API Tvg_Result tvg_glcanvas_set_target(Tvg_Canvas canvas, void* context, int32_t id, uint32_t w, uint32_t h, Tvg_Colorspace cs); /** \} */ // end defgroup ThorVGCapi_GlCanvas @@ -481,7 +481,7 @@ TVG_API Tvg_Result tvg_glcanvas_set_target(Tvg_Canvas* canvas, void* context, in * * @since 1.0.0 */ -TVG_API Tvg_Canvas* tvg_wgcanvas_create(void); +TVG_API Tvg_Canvas tvg_wgcanvas_create(void); /*! * @brief Sets the drawing target for the rasterization. @@ -500,7 +500,7 @@ TVG_API Tvg_Canvas* tvg_wgcanvas_create(void); * * @note Experimental API */ -TVG_API Tvg_Result tvg_wgcanvas_set_target(Tvg_Canvas* canvas, void* device, void* instance, void* target, uint32_t w, uint32_t h, Tvg_Colorspace cs, int type); +TVG_API Tvg_Result tvg_wgcanvas_set_target(Tvg_Canvas canvas, void* device, void* instance, void* target, uint32_t w, uint32_t h, Tvg_Colorspace cs, int type); /** \} */ // end defgroup ThorVGCapi_WgCanvas @@ -516,7 +516,7 @@ TVG_API Tvg_Result tvg_wgcanvas_set_target(Tvg_Canvas* canvas, void* device, voi * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid pointer to the Tvg_Canvas object is passed. */ -TVG_API Tvg_Result tvg_canvas_destroy(Tvg_Canvas* canvas); +TVG_API Tvg_Result tvg_canvas_destroy(Tvg_Canvas canvas); /*! @@ -536,7 +536,7 @@ TVG_API Tvg_Result tvg_canvas_destroy(Tvg_Canvas* canvas); * @see tvg_canvas_push_at() * @see tvg_canvas_remove() */ -TVG_API Tvg_Result tvg_canvas_push(Tvg_Canvas* canvas, Tvg_Paint* paint); +TVG_API Tvg_Result tvg_canvas_push(Tvg_Canvas canvas, Tvg_Paint paint); /** @@ -562,7 +562,7 @@ TVG_API Tvg_Result tvg_canvas_push(Tvg_Canvas* canvas, Tvg_Paint* paint); * @see tvg_canvas_remove() * @since 1.0 */ -TVG_API Tvg_Result tvg_canvas_push_at(Tvg_Canvas* canvas, Tvg_Paint* target, Tvg_Paint* at); +TVG_API Tvg_Result tvg_canvas_push_at(Tvg_Canvas canvas, Tvg_Paint target, Tvg_Paint at); /** @@ -580,7 +580,7 @@ TVG_API Tvg_Result tvg_canvas_push_at(Tvg_Canvas* canvas, Tvg_Paint* target, Tvg * @see tvg_canvas_push_at() * @since 1.0 */ -TVG_API Tvg_Result tvg_canvas_remove(Tvg_Canvas* canvas, Tvg_Paint* paint); +TVG_API Tvg_Result tvg_canvas_remove(Tvg_Canvas canvas, Tvg_Paint paint); /*! @@ -595,7 +595,7 @@ TVG_API Tvg_Result tvg_canvas_remove(Tvg_Canvas* canvas, Tvg_Paint* paint); * * @see tvg_canvas_update_paint() */ -TVG_API Tvg_Result tvg_canvas_update(Tvg_Canvas* canvas); +TVG_API Tvg_Result tvg_canvas_update(Tvg_Canvas canvas); /*! @@ -615,7 +615,7 @@ TVG_API Tvg_Result tvg_canvas_update(Tvg_Canvas* canvas); * To ensure drawing is complete, call tvg_canvas_sync() afterwards. * @see tvg_canvas_sync() */ -TVG_API Tvg_Result tvg_canvas_draw(Tvg_Canvas* canvas, bool clear); +TVG_API Tvg_Result tvg_canvas_draw(Tvg_Canvas canvas, bool clear); /*! @@ -631,7 +631,7 @@ TVG_API Tvg_Result tvg_canvas_draw(Tvg_Canvas* canvas, bool clear); * * @see tvg_canvas_draw() */ -TVG_API Tvg_Result tvg_canvas_sync(Tvg_Canvas* canvas); +TVG_API Tvg_Result tvg_canvas_sync(Tvg_Canvas canvas); /*! @@ -654,7 +654,7 @@ TVG_API Tvg_Result tvg_canvas_sync(Tvg_Canvas* canvas); * @see tvg_swcanvas_set_target() * @since 0.15 */ -TVG_API Tvg_Result tvg_canvas_set_viewport(Tvg_Canvas* canvas, int32_t x, int32_t y, int32_t w, int32_t h); +TVG_API Tvg_Result tvg_canvas_set_viewport(Tvg_Canvas canvas, int32_t x, int32_t y, int32_t w, int32_t h); /** \} */ // end defgroup ThorVGCapi_Canvas @@ -678,7 +678,7 @@ TVG_API Tvg_Result tvg_canvas_set_viewport(Tvg_Canvas* canvas, int32_t x, int32_ * * @see tvg_canvas_remove() */ -TVG_API Tvg_Result tvg_paint_del(Tvg_Paint* paint); +TVG_API Tvg_Result tvg_paint_del(Tvg_Paint paint); /** @@ -697,7 +697,7 @@ TVG_API Tvg_Result tvg_paint_del(Tvg_Paint* paint); * * @since 1.0 */ -TVG_API uint16_t tvg_paint_ref(Tvg_Paint* paint); +TVG_API uint16_t tvg_paint_ref(Tvg_Paint paint); /** @@ -716,7 +716,7 @@ TVG_API uint16_t tvg_paint_ref(Tvg_Paint* paint); * * @since 1.0 */ -TVG_API uint16_t tvg_paint_unref(Tvg_Paint* paint, bool free); +TVG_API uint16_t tvg_paint_unref(Tvg_Paint paint, bool free); /** @@ -733,7 +733,7 @@ TVG_API uint16_t tvg_paint_unref(Tvg_Paint* paint, bool free); * * @since 1.0 */ -TVG_API uint16_t tvg_paint_get_ref(const Tvg_Paint* paint); +TVG_API uint16_t tvg_paint_get_ref(const Tvg_Paint paint); /*! @@ -748,7 +748,7 @@ TVG_API uint16_t tvg_paint_get_ref(const Tvg_Paint* paint); * * @see tvg_paint_set_transform() */ -TVG_API Tvg_Result tvg_paint_scale(Tvg_Paint* paint, float factor); +TVG_API Tvg_Result tvg_paint_scale(Tvg_Paint paint, float factor); /*! @@ -766,7 +766,7 @@ TVG_API Tvg_Result tvg_paint_scale(Tvg_Paint* paint, float factor); * * @see tvg_paint_set_transform() */ -TVG_API Tvg_Result tvg_paint_rotate(Tvg_Paint* paint, float degree); +TVG_API Tvg_Result tvg_paint_rotate(Tvg_Paint paint, float degree); /*! @@ -785,7 +785,7 @@ TVG_API Tvg_Result tvg_paint_rotate(Tvg_Paint* paint, float degree); * * @see tvg_paint_set_transform() */ -TVG_API Tvg_Result tvg_paint_translate(Tvg_Paint* paint, float x, float y); +TVG_API Tvg_Result tvg_paint_translate(Tvg_Paint paint, float x, float y); /*! @@ -799,7 +799,7 @@ TVG_API Tvg_Result tvg_paint_translate(Tvg_Paint* paint, float x, float y); * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument. */ -TVG_API Tvg_Result tvg_paint_set_transform(Tvg_Paint* paint, const Tvg_Matrix* m); +TVG_API Tvg_Result tvg_paint_set_transform(Tvg_Paint paint, const Tvg_Matrix* m); /*! @@ -813,7 +813,7 @@ TVG_API Tvg_Result tvg_paint_set_transform(Tvg_Paint* paint, const Tvg_Matrix* m * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument. */ -TVG_API Tvg_Result tvg_paint_get_transform(Tvg_Paint* paint, Tvg_Matrix* m); +TVG_API Tvg_Result tvg_paint_get_transform(Tvg_Paint paint, Tvg_Matrix* m); /*! @@ -827,7 +827,7 @@ TVG_API Tvg_Result tvg_paint_get_transform(Tvg_Paint* paint, Tvg_Matrix* m); * * @note Setting the opacity with this API may require multiple renderings using a composition. It is recommended to avoid changing the opacity if possible. */ -TVG_API Tvg_Result tvg_paint_set_opacity(Tvg_Paint* paint, uint8_t opacity); +TVG_API Tvg_Result tvg_paint_set_opacity(Tvg_Paint paint, uint8_t opacity); /*! @@ -839,7 +839,7 @@ TVG_API Tvg_Result tvg_paint_set_opacity(Tvg_Paint* paint, uint8_t opacity); * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT In case a @c nullptr is passed as the argument. */ -TVG_API Tvg_Result tvg_paint_get_opacity(const Tvg_Paint* paint, uint8_t* opacity); +TVG_API Tvg_Result tvg_paint_get_opacity(const Tvg_Paint paint, uint8_t* opacity); /*! @@ -851,7 +851,7 @@ TVG_API Tvg_Result tvg_paint_get_opacity(const Tvg_Paint* paint, uint8_t* opacit * * @return A copied Tvg_Paint object if succeed, @c nullptr otherwise. */ -TVG_API Tvg_Paint* tvg_paint_duplicate(Tvg_Paint* paint); +TVG_API Tvg_Paint tvg_paint_duplicate(Tvg_Paint paint); /** @@ -872,7 +872,7 @@ TVG_API Tvg_Paint* tvg_paint_duplicate(Tvg_Paint* paint); * @see tvg_paint_get_obb() * @see tvg_canvas_update_paint() */ -TVG_API Tvg_Result tvg_paint_get_aabb(const Tvg_Paint* paint, float* x, float* y, float* w, float* h); +TVG_API Tvg_Result tvg_paint_get_aabb(const Tvg_Paint paint, float* x, float* y, float* w, float* h); /** @@ -892,7 +892,7 @@ TVG_API Tvg_Result tvg_paint_get_aabb(const Tvg_Paint* paint, float* x, float* y * * @since 1.0 */ -TVG_API Tvg_Result tvg_paint_get_obb(const Tvg_Paint* paint, Tvg_Point* pt4); +TVG_API Tvg_Result tvg_paint_get_obb(const Tvg_Paint paint, Tvg_Point* pt4); /*! @@ -907,7 +907,7 @@ TVG_API Tvg_Result tvg_paint_get_obb(const Tvg_Paint* paint, Tvg_Point* pt4); * @return Tvg_Result enumeration. */ -TVG_API Tvg_Result tvg_paint_set_mask_method(Tvg_Paint* paint, Tvg_Paint* target, Tvg_Mask_Method method); +TVG_API Tvg_Result tvg_paint_set_mask_method(Tvg_Paint paint, Tvg_Paint target, Tvg_Mask_Method method); /** @@ -920,7 +920,7 @@ TVG_API Tvg_Result tvg_paint_set_mask_method(Tvg_Paint* paint, Tvg_Paint* target * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument. */ -TVG_API Tvg_Result tvg_paint_get_mask_method(const Tvg_Paint* paint, const Tvg_Paint** target, Tvg_Mask_Method* method); +TVG_API Tvg_Result tvg_paint_get_mask_method(const Tvg_Paint paint, const Tvg_Paint target, Tvg_Mask_Method* method); /** @@ -940,7 +940,7 @@ TVG_API Tvg_Result tvg_paint_get_mask_method(const Tvg_Paint* paint, const Tvg_P * @since 1.0 */ -TVG_API Tvg_Result tvg_paint_set_clip(Tvg_Paint* paint, Tvg_Paint* clipper); +TVG_API Tvg_Result tvg_paint_set_clip(Tvg_Paint paint, Tvg_Paint clipper); /** * @brief Get the clipper shape of the paint object. @@ -953,7 +953,7 @@ TVG_API Tvg_Result tvg_paint_set_clip(Tvg_Paint* paint, Tvg_Paint* clipper); * * @since 1.0 */ -TVG_API Tvg_Paint* tvg_paint_get_clip(const Tvg_Paint* paint); +TVG_API Tvg_Paint tvg_paint_get_clip(const Tvg_Paint paint); /** * @brief Retrieves the parent paint object. @@ -970,7 +970,7 @@ TVG_API Tvg_Paint* tvg_paint_get_clip(const Tvg_Paint* paint); * * @since 1.0 */ -TVG_API const Tvg_Paint* tvg_paint_get_parent(const Tvg_Paint* paint); +TVG_API const Tvg_Paint tvg_paint_get_parent(const Tvg_Paint paint); /** @@ -984,7 +984,7 @@ TVG_API const Tvg_Paint* tvg_paint_get_parent(const Tvg_Paint* paint); * * @since 1.0 */ -TVG_API Tvg_Result tvg_paint_get_type(const Tvg_Paint* paint, Tvg_Type* type); +TVG_API Tvg_Result tvg_paint_get_type(const Tvg_Paint paint, Tvg_Type* type); /** @@ -1002,7 +1002,7 @@ TVG_API Tvg_Result tvg_paint_get_type(const Tvg_Paint* paint, Tvg_Type* type); * * @since 0.15 */ -TVG_API Tvg_Result tvg_paint_set_blend_method(Tvg_Paint* paint, Tvg_Blend_Method method); +TVG_API Tvg_Result tvg_paint_set_blend_method(Tvg_Paint paint, Tvg_Blend_Method method); /** \} */ // end defgroup ThorVGCapi_Paint @@ -1030,7 +1030,7 @@ TVG_API Tvg_Result tvg_paint_set_blend_method(Tvg_Paint* paint, Tvg_Blend_Method * * @return A new shape object. */ -TVG_API Tvg_Paint* tvg_shape_new(void); +TVG_API Tvg_Paint tvg_shape_new(void); /*! @@ -1045,7 +1045,7 @@ TVG_API Tvg_Paint* tvg_shape_new(void); * * @note The memory, where the path data is stored, is not deallocated at this stage for caching effect. */ -TVG_API Tvg_Result tvg_shape_reset(Tvg_Paint* paint); +TVG_API Tvg_Result tvg_shape_reset(Tvg_Paint paint); /*! @@ -1060,7 +1060,7 @@ TVG_API Tvg_Result tvg_shape_reset(Tvg_Paint* paint); * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer. */ -TVG_API Tvg_Result tvg_shape_move_to(Tvg_Paint* paint, float x, float y); +TVG_API Tvg_Result tvg_shape_move_to(Tvg_Paint paint, float x, float y); /*! @@ -1077,7 +1077,7 @@ TVG_API Tvg_Result tvg_shape_move_to(Tvg_Paint* paint, float x, float y); * * @note In case this is the first command in the path, it corresponds to the tvg_shape_move_to() call. */ -TVG_API Tvg_Result tvg_shape_line_to(Tvg_Paint* paint, float x, float y); +TVG_API Tvg_Result tvg_shape_line_to(Tvg_Paint paint, float x, float y); /*! @@ -1099,7 +1099,7 @@ TVG_API Tvg_Result tvg_shape_line_to(Tvg_Paint* paint, float x, float y); * * @note In case this is the first command in the path, no data from the path are rendered. */ -TVG_API Tvg_Result tvg_shape_cubic_to(Tvg_Paint* paint, float cx1, float cy1, float cx2, float cy2, float x, float y); +TVG_API Tvg_Result tvg_shape_cubic_to(Tvg_Paint paint, float cx1, float cy1, float cx2, float cy2, float x, float y); /*! @@ -1114,7 +1114,7 @@ TVG_API Tvg_Result tvg_shape_cubic_to(Tvg_Paint* paint, float cx1, float cy1, fl * * @note In case the sub-path does not contain any points, this function has no effect. */ -TVG_API Tvg_Result tvg_shape_close(Tvg_Paint* paint); +TVG_API Tvg_Result tvg_shape_close(Tvg_Paint paint); /*! @@ -1144,7 +1144,7 @@ TVG_API Tvg_Result tvg_shape_close(Tvg_Paint* paint); * & @note For @p rx and @p ry greater than or equal to the half of @p w and the half of @p h, respectively, the shape become an ellipse. */ -TVG_API Tvg_Result tvg_shape_append_rect(Tvg_Paint* paint, float x, float y, float w, float h, float rx, float ry, bool cw); +TVG_API Tvg_Result tvg_shape_append_rect(Tvg_Paint paint, float x, float y, float w, float h, float rx, float ry, bool cw); /*! @@ -1166,7 +1166,7 @@ TVG_API Tvg_Result tvg_shape_append_rect(Tvg_Paint* paint, float x, float y, flo * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer. */ -TVG_API Tvg_Result tvg_shape_append_circle(Tvg_Paint* paint, float cx, float cy, float rx, float ry, bool cw); +TVG_API Tvg_Result tvg_shape_append_circle(Tvg_Paint paint, float cx, float cy, float rx, float ry, bool cw); /*! @@ -1185,7 +1185,7 @@ TVG_API Tvg_Result tvg_shape_append_circle(Tvg_Paint* paint, float cx, float cy, * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument or @p cmdCnt or @p ptsCnt equal to zero. */ -TVG_API Tvg_Result tvg_shape_append_path(Tvg_Paint* paint, const Tvg_Path_Command* cmds, uint32_t cmdCnt, const Tvg_Point* pts, uint32_t ptsCnt); +TVG_API Tvg_Result tvg_shape_append_path(Tvg_Paint paint, const Tvg_Path_Command* cmds, uint32_t cmdCnt, const Tvg_Point* pts, uint32_t ptsCnt); /*! @@ -1208,7 +1208,7 @@ TVG_API Tvg_Result tvg_shape_append_path(Tvg_Paint* paint, const Tvg_Path_Comman * * @note If any of the arguments are @c nullptr, that value will be ignored. */ -TVG_API Tvg_Result tvg_shape_get_path(const Tvg_Paint* paint, const Tvg_Path_Command** cmds, uint32_t* cmdsCnt, const Tvg_Point** pts, uint32_t* ptsCnt); +TVG_API Tvg_Result tvg_shape_get_path(const Tvg_Paint paint, const Tvg_Path_Command** cmds, uint32_t* cmdsCnt, const Tvg_Point** pts, uint32_t* ptsCnt); /*! @@ -1220,7 +1220,7 @@ TVG_API Tvg_Result tvg_shape_get_path(const Tvg_Paint* paint, const Tvg_Path_Com * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer. */ -TVG_API Tvg_Result tvg_shape_set_stroke_width(Tvg_Paint* paint, float width); +TVG_API Tvg_Result tvg_shape_set_stroke_width(Tvg_Paint paint, float width); /*! @@ -1232,7 +1232,7 @@ TVG_API Tvg_Result tvg_shape_set_stroke_width(Tvg_Paint* paint, float width); * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid pointer passed as an argument. */ -TVG_API Tvg_Result tvg_shape_get_stroke_width(const Tvg_Paint* paint, float* width); +TVG_API Tvg_Result tvg_shape_get_stroke_width(const Tvg_Paint paint, float* width); /*! @@ -1249,7 +1249,7 @@ TVG_API Tvg_Result tvg_shape_get_stroke_width(const Tvg_Paint* paint, float* wid * * @note Either a solid color or a gradient fill is applied, depending on what was set as last. */ -TVG_API Tvg_Result tvg_shape_set_stroke_color(Tvg_Paint* paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a); +TVG_API Tvg_Result tvg_shape_set_stroke_color(Tvg_Paint paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a); /*! @@ -1265,7 +1265,7 @@ TVG_API Tvg_Result tvg_shape_set_stroke_color(Tvg_Paint* paint, uint8_t r, uint8 * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer. * @retval TVG_RESULT_INSUFFICIENT_CONDITION No stroke was set. */ -TVG_API Tvg_Result tvg_shape_get_stroke_color(const Tvg_Paint* paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a); +TVG_API Tvg_Result tvg_shape_get_stroke_color(const Tvg_Paint paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a); /*! @@ -1280,7 +1280,7 @@ TVG_API Tvg_Result tvg_shape_get_stroke_color(const Tvg_Paint* paint, uint8_t* r * * @note Either a solid color or a gradient fill is applied, depending on what was set as last. */ -TVG_API Tvg_Result tvg_shape_set_stroke_gradient(Tvg_Paint* paint, Tvg_Gradient* grad); +TVG_API Tvg_Result tvg_shape_set_stroke_gradient(Tvg_Paint paint, Tvg_Gradient grad); /*! @@ -1294,7 +1294,7 @@ TVG_API Tvg_Result tvg_shape_set_stroke_gradient(Tvg_Paint* paint, Tvg_Gradient* * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid pointer passed as an argument. */ -TVG_API Tvg_Result tvg_shape_get_stroke_gradient(const Tvg_Paint* paint, Tvg_Gradient** grad); +TVG_API Tvg_Result tvg_shape_get_stroke_gradient(const Tvg_Paint paint, Tvg_Gradient* grad); /*! @@ -1315,7 +1315,7 @@ TVG_API Tvg_Result tvg_shape_get_stroke_gradient(const Tvg_Paint* paint, Tvg_Gra * order to form an even-length pattern, preserving the alternation of dashes and gaps. * @since 1.0 */ -TVG_API Tvg_Result tvg_shape_set_stroke_dash(Tvg_Paint* paint, const float* dashPattern, uint32_t cnt, float offset); +TVG_API Tvg_Result tvg_shape_set_stroke_dash(Tvg_Paint paint, const float* dashPattern, uint32_t cnt, float offset); /*! @@ -1332,7 +1332,7 @@ TVG_API Tvg_Result tvg_shape_set_stroke_dash(Tvg_Paint* paint, const float* dash * @retval TVG_RESULT_INVALID_ARGUMENT An invalid pointer passed as an argument. * @since 1.0 */ -TVG_API Tvg_Result tvg_shape_get_stroke_dash(const Tvg_Paint* paint, const float** dashPattern, uint32_t* cnt, float* offset); +TVG_API Tvg_Result tvg_shape_get_stroke_dash(const Tvg_Paint paint, const float** dashPattern, uint32_t* cnt, float* offset); /*! @@ -1346,7 +1346,7 @@ TVG_API Tvg_Result tvg_shape_get_stroke_dash(const Tvg_Paint* paint, const float * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer. */ -TVG_API Tvg_Result tvg_shape_set_stroke_cap(Tvg_Paint* paint, Tvg_Stroke_Cap cap); +TVG_API Tvg_Result tvg_shape_set_stroke_cap(Tvg_Paint paint, Tvg_Stroke_Cap cap); /*! @@ -1358,7 +1358,7 @@ TVG_API Tvg_Result tvg_shape_set_stroke_cap(Tvg_Paint* paint, Tvg_Stroke_Cap cap * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid pointer passed as an argument. */ -TVG_API Tvg_Result tvg_shape_get_stroke_cap(const Tvg_Paint* paint, Tvg_Stroke_Cap* cap); +TVG_API Tvg_Result tvg_shape_get_stroke_cap(const Tvg_Paint paint, Tvg_Stroke_Cap* cap); /*! @@ -1370,7 +1370,7 @@ TVG_API Tvg_Result tvg_shape_get_stroke_cap(const Tvg_Paint* paint, Tvg_Stroke_C * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer. */ -TVG_API Tvg_Result tvg_shape_set_stroke_join(Tvg_Paint* paint, Tvg_Stroke_Join join); +TVG_API Tvg_Result tvg_shape_set_stroke_join(Tvg_Paint paint, Tvg_Stroke_Join join); /*! @@ -1382,7 +1382,7 @@ TVG_API Tvg_Result tvg_shape_set_stroke_join(Tvg_Paint* paint, Tvg_Stroke_Join j * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid pointer passed as an argument. */ -TVG_API Tvg_Result tvg_shape_get_stroke_join(const Tvg_Paint* paint, Tvg_Stroke_Join* join); +TVG_API Tvg_Result tvg_shape_get_stroke_join(const Tvg_Paint paint, Tvg_Stroke_Join* join); /*! @@ -1396,7 +1396,7 @@ TVG_API Tvg_Result tvg_shape_get_stroke_join(const Tvg_Paint* paint, Tvg_Stroke_ * * @since 0.11 */ -TVG_API Tvg_Result tvg_shape_set_stroke_miterlimit(Tvg_Paint* paint, float miterlimit); +TVG_API Tvg_Result tvg_shape_set_stroke_miterlimit(Tvg_Paint paint, float miterlimit); /*! @@ -1410,7 +1410,7 @@ TVG_API Tvg_Result tvg_shape_set_stroke_miterlimit(Tvg_Paint* paint, float miter * * @since 0.11 */ -TVG_API Tvg_Result tvg_shape_get_stroke_miterlimit(const Tvg_Paint* paint, float* miterlimit); +TVG_API Tvg_Result tvg_shape_get_stroke_miterlimit(const Tvg_Paint paint, float* miterlimit); /*! @@ -1429,7 +1429,7 @@ TVG_API Tvg_Result tvg_shape_get_stroke_miterlimit(const Tvg_Paint* paint, float * * @since 1.0 */ -TVG_API Tvg_Result tvg_shape_set_trimpath(Tvg_Paint* paint, float begin, float end, bool simultaneous); +TVG_API Tvg_Result tvg_shape_set_trimpath(Tvg_Paint paint, float begin, float end, bool simultaneous); /*! @@ -1449,7 +1449,7 @@ TVG_API Tvg_Result tvg_shape_set_trimpath(Tvg_Paint* paint, float begin, float e * @note Either a solid color or a gradient fill is applied, depending on what was set as last. * @see tvg_shape_set_fill_rule() */ -TVG_API Tvg_Result tvg_shape_set_fill_color(Tvg_Paint* paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a); +TVG_API Tvg_Result tvg_shape_set_fill_color(Tvg_Paint paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a); /*! @@ -1464,7 +1464,7 @@ TVG_API Tvg_Result tvg_shape_set_fill_color(Tvg_Paint* paint, uint8_t r, uint8_t * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer. */ -TVG_API Tvg_Result tvg_shape_get_fill_color(const Tvg_Paint* paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a); +TVG_API Tvg_Result tvg_shape_get_fill_color(const Tvg_Paint paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a); /*! @@ -1479,7 +1479,7 @@ TVG_API Tvg_Result tvg_shape_get_fill_color(const Tvg_Paint* paint, uint8_t* r, * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer. */ -TVG_API Tvg_Result tvg_shape_set_fill_rule(Tvg_Paint* paint, Tvg_Fill_Rule rule); +TVG_API Tvg_Result tvg_shape_set_fill_rule(Tvg_Paint paint, Tvg_Fill_Rule rule); /*! @@ -1494,7 +1494,7 @@ TVG_API Tvg_Result tvg_shape_set_fill_rule(Tvg_Paint* paint, Tvg_Fill_Rule rule) * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid pointer passed as an argument. */ -TVG_API Tvg_Result tvg_shape_get_fill_rule(const Tvg_Paint* paint, Tvg_Fill_Rule* rule); +TVG_API Tvg_Result tvg_shape_get_fill_rule(const Tvg_Paint paint, Tvg_Fill_Rule* rule); /*! @@ -1508,7 +1508,7 @@ TVG_API Tvg_Result tvg_shape_get_fill_rule(const Tvg_Paint* paint, Tvg_Fill_Rule * * @since 0.10 */ -TVG_API Tvg_Result tvg_shape_set_paint_order(Tvg_Paint* paint, bool strokeFirst); +TVG_API Tvg_Result tvg_shape_set_paint_order(Tvg_Paint paint, bool strokeFirst); /*! @@ -1526,7 +1526,7 @@ TVG_API Tvg_Result tvg_shape_set_paint_order(Tvg_Paint* paint, bool strokeFirst) * @note Either a solid color or a gradient fill is applied, depending on what was set as last. * @see tvg_shape_set_fill_rule() */ -TVG_API Tvg_Result tvg_shape_set_gradient(Tvg_Paint* paint, Tvg_Gradient* grad); +TVG_API Tvg_Result tvg_shape_set_gradient(Tvg_Paint paint, Tvg_Gradient grad); /*! @@ -1540,7 +1540,7 @@ TVG_API Tvg_Result tvg_shape_set_gradient(Tvg_Paint* paint, Tvg_Gradient* grad); * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid pointer passed as an argument. */ -TVG_API Tvg_Result tvg_shape_get_gradient(const Tvg_Paint* paint, Tvg_Gradient** grad); +TVG_API Tvg_Result tvg_shape_get_gradient(const Tvg_Paint paint, Tvg_Gradient* grad); /** \} */ // end defgroup ThorVGCapi_Shape @@ -1565,7 +1565,7 @@ TVG_API Tvg_Result tvg_shape_get_gradient(const Tvg_Paint* paint, Tvg_Gradient** * * @return A new linear gradient object. */ -TVG_API Tvg_Gradient* tvg_linear_gradient_new(void); +TVG_API Tvg_Gradient tvg_linear_gradient_new(void); /*! @@ -1573,7 +1573,7 @@ TVG_API Tvg_Gradient* tvg_linear_gradient_new(void); * * @return A new radial gradient object. */ -TVG_API Tvg_Gradient* tvg_radial_gradient_new(void); +TVG_API Tvg_Gradient tvg_radial_gradient_new(void); /*! @@ -1595,7 +1595,7 @@ TVG_API Tvg_Gradient* tvg_radial_gradient_new(void); * @note In case the first and the second points are equal, an object is filled with a single color using the last color specified in the tvg_gradient_set_color_stops(). * @see tvg_gradient_set_color_stops() */ -TVG_API Tvg_Result tvg_linear_gradient_set(Tvg_Gradient* grad, float x1, float y1, float x2, float y2); +TVG_API Tvg_Result tvg_linear_gradient_set(Tvg_Gradient grad, float x1, float y1, float x2, float y2); /*! @@ -1614,7 +1614,7 @@ TVG_API Tvg_Result tvg_linear_gradient_set(Tvg_Gradient* grad, float x1, float y * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Gradient pointer. */ -TVG_API Tvg_Result tvg_linear_gradient_get(Tvg_Gradient* grad, float* x1, float* y1, float* x2, float* y2); +TVG_API Tvg_Result tvg_linear_gradient_get(Tvg_Gradient grad, float* x1, float* y1, float* x2, float* y2); /*! @@ -1646,7 +1646,7 @@ TVG_API Tvg_Result tvg_linear_gradient_get(Tvg_Gradient* grad, float* x1, float* * * @see tvg_gradient_set_color_stops() */ -TVG_API Tvg_Result tvg_radial_gradient_set(Tvg_Gradient* grad, float cx, float cy, float r, float fx, float fy, float fr); +TVG_API Tvg_Result tvg_radial_gradient_set(Tvg_Gradient grad, float cx, float cy, float r, float fx, float fy, float fr); /*! @@ -1665,7 +1665,7 @@ TVG_API Tvg_Result tvg_radial_gradient_set(Tvg_Gradient* grad, float cx, float c * * @see tvg_radial_gradient_set() */ -TVG_API Tvg_Result tvg_radial_gradient_get(Tvg_Gradient* grad, float* cx, float* cy, float* r, float* fx, float* fy, float* fr); +TVG_API Tvg_Result tvg_radial_gradient_get(Tvg_Gradient grad, float* cx, float* cy, float* r, float* fx, float* fy, float* fr); /*! @@ -1678,7 +1678,7 @@ TVG_API Tvg_Result tvg_radial_gradient_get(Tvg_Gradient* grad, float* cx, float* * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Gradient pointer. */ -TVG_API Tvg_Result tvg_gradient_set_color_stops(Tvg_Gradient* grad, const Tvg_Color_Stop* color_stop, uint32_t cnt); +TVG_API Tvg_Result tvg_gradient_set_color_stops(Tvg_Gradient grad, const Tvg_Color_Stop* color_stop, uint32_t cnt); /*! @@ -1693,7 +1693,7 @@ TVG_API Tvg_Result tvg_gradient_set_color_stops(Tvg_Gradient* grad, const Tvg_Co * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument. */ -TVG_API Tvg_Result tvg_gradient_get_color_stops(const Tvg_Gradient* grad, const Tvg_Color_Stop** color_stop, uint32_t* cnt); +TVG_API Tvg_Result tvg_gradient_get_color_stops(const Tvg_Gradient grad, const Tvg_Color_Stop** color_stop, uint32_t* cnt); /*! @@ -1705,7 +1705,7 @@ TVG_API Tvg_Result tvg_gradient_get_color_stops(const Tvg_Gradient* grad, const * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Gradient pointer. */ -TVG_API Tvg_Result tvg_gradient_set_spread(Tvg_Gradient* grad, const Tvg_Stroke_Fill spread); +TVG_API Tvg_Result tvg_gradient_set_spread(Tvg_Gradient grad, const Tvg_Stroke_Fill spread); /*! @@ -1717,7 +1717,7 @@ TVG_API Tvg_Result tvg_gradient_set_spread(Tvg_Gradient* grad, const Tvg_Stroke_ * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument. */ -TVG_API Tvg_Result tvg_gradient_get_spread(const Tvg_Gradient* grad, Tvg_Stroke_Fill* spread); +TVG_API Tvg_Result tvg_gradient_get_spread(const Tvg_Gradient grad, Tvg_Stroke_Fill* spread); /*! @@ -1731,7 +1731,7 @@ TVG_API Tvg_Result tvg_gradient_get_spread(const Tvg_Gradient* grad, Tvg_Stroke_ * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument. */ -TVG_API Tvg_Result tvg_gradient_set_transform(Tvg_Gradient* grad, const Tvg_Matrix* m); +TVG_API Tvg_Result tvg_gradient_set_transform(Tvg_Gradient grad, const Tvg_Matrix* m); /*! @@ -1745,7 +1745,7 @@ TVG_API Tvg_Result tvg_gradient_set_transform(Tvg_Gradient* grad, const Tvg_Matr * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument. */ -TVG_API Tvg_Result tvg_gradient_get_transform(const Tvg_Gradient* grad, Tvg_Matrix* m); +TVG_API Tvg_Result tvg_gradient_get_transform(const Tvg_Gradient grad, Tvg_Matrix* m); /** * @brief Gets the unique value of the gradient instance indicating the instance type. @@ -1758,7 +1758,7 @@ TVG_API Tvg_Result tvg_gradient_get_transform(const Tvg_Gradient* grad, Tvg_Matr * * @since 1.0 */ -TVG_API Tvg_Result tvg_gradient_get_type(const Tvg_Gradient* grad, Tvg_Type* type); +TVG_API Tvg_Result tvg_gradient_get_type(const Tvg_Gradient grad, Tvg_Type* type); /*! @@ -1770,7 +1770,7 @@ TVG_API Tvg_Result tvg_gradient_get_type(const Tvg_Gradient* grad, Tvg_Type* typ * * @return A copied Tvg_Gradient object if succeed, @c nullptr otherwise. */ -TVG_API Tvg_Gradient* tvg_gradient_duplicate(Tvg_Gradient* grad); +TVG_API Tvg_Gradient tvg_gradient_duplicate(Tvg_Gradient grad); /*! @@ -1781,7 +1781,7 @@ TVG_API Tvg_Gradient* tvg_gradient_duplicate(Tvg_Gradient* grad); * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Gradient pointer. */ -TVG_API Tvg_Result tvg_gradient_del(Tvg_Gradient* grad); +TVG_API Tvg_Result tvg_gradient_del(Tvg_Gradient grad); /** \} */ // end defgroup ThorVGCapi_Gradient @@ -1804,7 +1804,7 @@ TVG_API Tvg_Result tvg_gradient_del(Tvg_Gradient* grad); * * @return A new picture object. */ -TVG_API Tvg_Paint* tvg_picture_new(void); +TVG_API Tvg_Paint tvg_picture_new(void); /*! @@ -1821,7 +1821,7 @@ TVG_API Tvg_Paint* tvg_picture_new(void); * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer or an empty @p path. * @retval TVG_RESULT_NOT_SUPPORTED A file with an unknown extension. */ -TVG_API Tvg_Result tvg_picture_load(Tvg_Paint* paint, const char* path); +TVG_API Tvg_Result tvg_picture_load(Tvg_Paint paint, const char* path); /*! @@ -1843,7 +1843,7 @@ TVG_API Tvg_Result tvg_picture_load(Tvg_Paint* paint, const char* path); * * @since 0.9 */ -TVG_API Tvg_Result tvg_picture_load_raw(Tvg_Paint* paint, uint32_t *data, uint32_t w, uint32_t h, Tvg_Colorspace cs, bool copy); +TVG_API Tvg_Result tvg_picture_load_raw(Tvg_Paint paint, uint32_t *data, uint32_t w, uint32_t h, Tvg_Colorspace cs, bool copy); /*! @@ -1866,7 +1866,7 @@ TVG_API Tvg_Result tvg_picture_load_raw(Tvg_Paint* paint, uint32_t *data, uint32 * * @warning: It's the user responsibility to release the @p data memory if the @p copy is @c true. */ -TVG_API Tvg_Result tvg_picture_load_data(Tvg_Paint* paint, const char *data, uint32_t size, const char *mimetype, const char* rpath, bool copy); +TVG_API Tvg_Result tvg_picture_load_data(Tvg_Paint paint, const char *data, uint32_t size, const char *mimetype, const char* rpath, bool copy); /*! @@ -1882,7 +1882,7 @@ TVG_API Tvg_Result tvg_picture_load_data(Tvg_Paint* paint, const char *data, uin * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer. */ -TVG_API Tvg_Result tvg_picture_set_size(Tvg_Paint* paint, float w, float h); +TVG_API Tvg_Result tvg_picture_set_size(Tvg_Paint paint, float w, float h); /*! @@ -1895,7 +1895,7 @@ TVG_API Tvg_Result tvg_picture_set_size(Tvg_Paint* paint, float w, float h); * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Paint pointer. */ -TVG_API Tvg_Result tvg_picture_get_size(const Tvg_Paint* paint, float* w, float* h); +TVG_API Tvg_Result tvg_picture_get_size(const Tvg_Paint paint, float* w, float* h); /*! @@ -1911,7 +1911,7 @@ TVG_API Tvg_Result tvg_picture_get_size(const Tvg_Paint* paint, float* w, float* * @see tvg_accessor_generate_id() * @note Experimental API */ -TVG_API const Tvg_Paint* tvg_picture_get_paint(Tvg_Paint* paint, uint32_t id); +TVG_API const Tvg_Paint tvg_picture_get_paint(Tvg_Paint paint, uint32_t id); /** \} */ // end defgroup ThorVGCapi_Picture @@ -1937,7 +1937,7 @@ TVG_API const Tvg_Paint* tvg_picture_get_paint(Tvg_Paint* paint, uint32_t id); * * @return A new scene object. */ -TVG_API Tvg_Paint* tvg_scene_new(void); +TVG_API Tvg_Paint tvg_scene_new(void); /** @@ -1953,7 +1953,7 @@ TVG_API Tvg_Paint* tvg_scene_new(void); * @see tvg_scene_remove() * @see tvg_scene_push_at() */ -TVG_API Tvg_Result tvg_scene_push(Tvg_Paint* scene, Tvg_Paint* paint); +TVG_API Tvg_Result tvg_scene_push(Tvg_Paint scene, Tvg_Paint paint); /** @@ -1973,7 +1973,7 @@ TVG_API Tvg_Result tvg_scene_push(Tvg_Paint* scene, Tvg_Paint* paint); * @see tvg_scene_push() * @since 1.0 */ -TVG_API Tvg_Result tvg_scene_push_at(Tvg_Paint* scene, Tvg_Paint* target, Tvg_Paint* at); +TVG_API Tvg_Result tvg_scene_push_at(Tvg_Paint scene, Tvg_Paint target, Tvg_Paint at); /** @@ -1990,7 +1990,7 @@ TVG_API Tvg_Result tvg_scene_push_at(Tvg_Paint* scene, Tvg_Paint* target, Tvg_Pa * @see tvg_scene_push() * @since 1.0 */ -TVG_API Tvg_Result tvg_scene_remove(Tvg_Paint* scene, Tvg_Paint* paint); +TVG_API Tvg_Result tvg_scene_remove(Tvg_Paint scene, Tvg_Paint paint); /** @@ -2003,7 +2003,7 @@ TVG_API Tvg_Result tvg_scene_remove(Tvg_Paint* scene, Tvg_Paint* paint); * * @since 1.0 */ -TVG_API Tvg_Result tvg_scene_reset_effects(Tvg_Paint* scene); +TVG_API Tvg_Result tvg_scene_reset_effects(Tvg_Paint scene); /** @@ -2020,7 +2020,7 @@ TVG_API Tvg_Result tvg_scene_reset_effects(Tvg_Paint* scene); * * @since 1.0 */ -TVG_API Tvg_Result tvg_scene_push_effect_gaussian_blur(Tvg_Paint* scene, double sigma, int direction, int border, int quality); +TVG_API Tvg_Result tvg_scene_push_effect_gaussian_blur(Tvg_Paint scene, double sigma, int direction, int border, int quality); /** @@ -2042,7 +2042,7 @@ TVG_API Tvg_Result tvg_scene_push_effect_gaussian_blur(Tvg_Paint* scene, double * * @since 1.0 */ -TVG_API Tvg_Result tvg_scene_push_effect_drop_shadow(Tvg_Paint* scene, int r, int g, int b, int a, double angle, double distance, double sigma, int quality); +TVG_API Tvg_Result tvg_scene_push_effect_drop_shadow(Tvg_Paint scene, int r, int g, int b, int a, double angle, double distance, double sigma, int quality); /** @@ -2058,7 +2058,7 @@ TVG_API Tvg_Result tvg_scene_push_effect_drop_shadow(Tvg_Paint* scene, int r, in * * @since 1.0 */ -TVG_API Tvg_Result tvg_scene_push_effect_fill(Tvg_Paint* scene, int r, int g, int b, int a); +TVG_API Tvg_Result tvg_scene_push_effect_fill(Tvg_Paint scene, int r, int g, int b, int a); /** @@ -2078,7 +2078,7 @@ TVG_API Tvg_Result tvg_scene_push_effect_fill(Tvg_Paint* scene, int r, int g, in * * @since 1.0 */ -TVG_API Tvg_Result tvg_scene_push_effect_tint(Tvg_Paint* scene, int black_r, int black_g, int black_b, int white_r, int white_g, int white_b, double intensity); +TVG_API Tvg_Result tvg_scene_push_effect_tint(Tvg_Paint scene, int black_r, int black_g, int black_b, int white_r, int white_g, int white_b, double intensity); /** @@ -2101,7 +2101,7 @@ TVG_API Tvg_Result tvg_scene_push_effect_tint(Tvg_Paint* scene, int black_r, int * * @since 1.0 */ -TVG_API Tvg_Result tvg_scene_push_effect_tritone(Tvg_Paint* scene, int shadow_r, int shadow_g, int shadow_b, int midtone_r, int midtone_g, int midtone_b, int highlight_r, int highlight_g, int highlight_b, int blend); +TVG_API Tvg_Result tvg_scene_push_effect_tritone(Tvg_Paint scene, int shadow_r, int shadow_g, int shadow_b, int midtone_r, int midtone_g, int midtone_b, int highlight_r, int highlight_g, int highlight_b, int blend); /** \} */ // end defgroup ThorVGCapi_Scene @@ -2125,7 +2125,7 @@ TVG_API Tvg_Result tvg_scene_push_effect_tritone(Tvg_Paint* scene, int shadow_r, * * @since 0.15 */ -TVG_API Tvg_Paint* tvg_text_new(void); +TVG_API Tvg_Paint tvg_text_new(void); /** @@ -2154,7 +2154,7 @@ TVG_API Tvg_Paint* tvg_text_new(void); * } * @endcode */ -TVG_API Tvg_Result tvg_text_set_font(Tvg_Paint* paint, const char* name, float size, const char* style); +TVG_API Tvg_Result tvg_text_set_font(Tvg_Paint paint, const char* name, float size, const char* style); /** @@ -2171,7 +2171,7 @@ TVG_API Tvg_Result tvg_text_set_font(Tvg_Paint* paint, const char* name, float s * * @since 1.0 */ -TVG_API Tvg_Result tvg_text_set_text(Tvg_Paint* paint, const char* text); +TVG_API Tvg_Result tvg_text_set_text(Tvg_Paint paint, const char* text); /** @@ -2190,7 +2190,7 @@ TVG_API Tvg_Result tvg_text_set_text(Tvg_Paint* paint, const char* text); * * @since 0.15 */ -TVG_API Tvg_Result tvg_text_set_fill_color(Tvg_Paint* paint, uint8_t r, uint8_t g, uint8_t b); +TVG_API Tvg_Result tvg_text_set_fill_color(Tvg_Paint paint, uint8_t r, uint8_t g, uint8_t b); /** @@ -2208,7 +2208,7 @@ TVG_API Tvg_Result tvg_text_set_fill_color(Tvg_Paint* paint, uint8_t r, uint8_t * * @since 0.15 */ -TVG_API Tvg_Result tvg_text_set_gradient(Tvg_Paint* paint, Tvg_Gradient* gradient); +TVG_API Tvg_Result tvg_text_set_gradient(Tvg_Paint paint, Tvg_Gradient gradient); /** * @brief Loads a scalable font data from a file. @@ -2296,7 +2296,7 @@ TVG_API Tvg_Result tvg_font_unload(const char* path); * * @return A new Tvg_Saver object. */ -TVG_API Tvg_Saver* tvg_saver_new(void); +TVG_API Tvg_Saver tvg_saver_new(void); /*! @@ -2320,7 +2320,7 @@ TVG_API Tvg_Saver* tvg_saver_new(void); * @note Saving can be asynchronous if the assigned thread number is greater than zero. To guarantee the saving is done, call tvg_saver_sync() afterwards. * @see tvg_saver_sync() */ -TVG_API Tvg_Result tvg_saver_save(Tvg_Saver* saver, Tvg_Paint* paint, const char* path, uint32_t quality); +TVG_API Tvg_Result tvg_saver_save(Tvg_Saver saver, Tvg_Paint paint, const char* path, uint32_t quality); /*! @@ -2339,7 +2339,7 @@ TVG_API Tvg_Result tvg_saver_save(Tvg_Saver* saver, Tvg_Paint* paint, const char * @note The asynchronous tasking is dependent on the Saver module implementation. * @see tvg_saver_save() */ -TVG_API Tvg_Result tvg_saver_sync(Tvg_Saver* saver); +TVG_API Tvg_Result tvg_saver_sync(Tvg_Saver saver); /*! @@ -2350,7 +2350,7 @@ TVG_API Tvg_Result tvg_saver_sync(Tvg_Saver* saver); * @return Tvg_Result enumeration. * @retval TVG_RESULT_INVALID_ARGUMENT An invalid Tvg_Saver pointer. */ -TVG_API Tvg_Result tvg_saver_del(Tvg_Saver* saver); +TVG_API Tvg_Result tvg_saver_del(Tvg_Saver saver); /** \} */ // end defgroup ThorVGCapi_Saver @@ -2376,7 +2376,7 @@ TVG_API Tvg_Result tvg_saver_del(Tvg_Saver* saver); * * @since 0.13 */ -TVG_API Tvg_Animation* tvg_animation_new(void); +TVG_API Tvg_Animation tvg_animation_new(void); /*! @@ -2397,7 +2397,7 @@ TVG_API Tvg_Animation* tvg_animation_new(void); * * @since 0.13 */ -TVG_API Tvg_Result tvg_animation_set_frame(Tvg_Animation* animation, float no); +TVG_API Tvg_Result tvg_animation_set_frame(Tvg_Animation animation, float no); /*! @@ -2415,7 +2415,7 @@ TVG_API Tvg_Result tvg_animation_set_frame(Tvg_Animation* animation, float no); * * @since 0.13 */ -TVG_API Tvg_Paint* tvg_animation_get_picture(Tvg_Animation* animation); +TVG_API Tvg_Paint tvg_animation_get_picture(Tvg_Animation animation); /*! @@ -2432,7 +2432,7 @@ TVG_API Tvg_Paint* tvg_animation_get_picture(Tvg_Animation* animation); * * @since 0.13 */ -TVG_API Tvg_Result tvg_animation_get_frame(Tvg_Animation* animation, float* no); +TVG_API Tvg_Result tvg_animation_get_frame(Tvg_Animation animation, float* no); /*! @@ -2449,7 +2449,7 @@ TVG_API Tvg_Result tvg_animation_get_frame(Tvg_Animation* animation, float* no); * * @since 0.13 */ -TVG_API Tvg_Result tvg_animation_get_total_frame(Tvg_Animation* animation, float* cnt); +TVG_API Tvg_Result tvg_animation_get_total_frame(Tvg_Animation animation, float* cnt); /*! @@ -2465,7 +2465,7 @@ TVG_API Tvg_Result tvg_animation_get_total_frame(Tvg_Animation* animation, float * * @since 0.13 */ -TVG_API Tvg_Result tvg_animation_get_duration(Tvg_Animation* animation, float* duration); +TVG_API Tvg_Result tvg_animation_get_duration(Tvg_Animation animation, float* duration); /*! @@ -2492,7 +2492,7 @@ TVG_API Tvg_Result tvg_animation_get_duration(Tvg_Animation* animation, float* d * @since 1.0 */ -TVG_API Tvg_Result tvg_animation_set_segment(Tvg_Animation* animation, float begin, float end); +TVG_API Tvg_Result tvg_animation_set_segment(Tvg_Animation animation, float begin, float end); /*! @@ -2508,7 +2508,7 @@ TVG_API Tvg_Result tvg_animation_set_segment(Tvg_Animation* animation, float beg * * @since 1.0 */ -TVG_API Tvg_Result tvg_animation_get_segment(Tvg_Animation* animation, float* begin, float* end); +TVG_API Tvg_Result tvg_animation_get_segment(Tvg_Animation animation, float* begin, float* end); /*! @@ -2521,7 +2521,7 @@ TVG_API Tvg_Result tvg_animation_get_segment(Tvg_Animation* animation, float* be * * @since 0.13 */ -TVG_API Tvg_Result tvg_animation_del(Tvg_Animation* animation); +TVG_API Tvg_Result tvg_animation_del(Tvg_Animation animation); /** \} */ // end defgroup ThorVGCapi_Animation @@ -2545,7 +2545,7 @@ TVG_API Tvg_Result tvg_animation_del(Tvg_Animation* animation); * * @note Experimental API */ -TVG_API Tvg_Accessor* tvg_accessor_new(); +TVG_API Tvg_Accessor tvg_accessor_new(); /*! @@ -2558,7 +2558,7 @@ TVG_API Tvg_Accessor* tvg_accessor_new(); * * @note Experimental API */ -TVG_API Tvg_Result tvg_accessor_del(Tvg_Accessor* accessor); +TVG_API Tvg_Result tvg_accessor_del(Tvg_Accessor accessor); /*! @@ -2578,7 +2578,7 @@ TVG_API Tvg_Result tvg_accessor_del(Tvg_Accessor* accessor); * * @note Experimental API */ -TVG_API Tvg_Result tvg_accessor_set(Tvg_Accessor* accessor, Tvg_Paint* paint, bool (*func)(Tvg_Paint* paint, void* data), void* data); +TVG_API Tvg_Result tvg_accessor_set(Tvg_Accessor accessor, Tvg_Paint paint, bool (*func)(Tvg_Paint paint, void* data), void* data); /*! @@ -2618,7 +2618,7 @@ TVG_API uint32_t tvg_accessor_generate_id(const char* name); * * @since 0.15 */ -TVG_API Tvg_Animation* tvg_lottie_animation_new(void); +TVG_API Tvg_Animation tvg_lottie_animation_new(void); /*! @@ -2634,7 +2634,7 @@ TVG_API Tvg_Animation* tvg_lottie_animation_new(void); * * @since 1.0 */ -TVG_API Tvg_Result tvg_lottie_animation_override(Tvg_Animation* animation, const char* slot); +TVG_API Tvg_Result tvg_lottie_animation_override(Tvg_Animation animation, const char* slot); /*! @@ -2650,7 +2650,7 @@ TVG_API Tvg_Result tvg_lottie_animation_override(Tvg_Animation* animation, const * * @since 1.0 */ -TVG_API Tvg_Result tvg_lottie_animation_set_marker(Tvg_Animation* animation, const char* marker); +TVG_API Tvg_Result tvg_lottie_animation_set_marker(Tvg_Animation animation, const char* marker); /*! @@ -2664,7 +2664,7 @@ TVG_API Tvg_Result tvg_lottie_animation_set_marker(Tvg_Animation* animation, con * * @since 1.0 */ -TVG_API Tvg_Result tvg_lottie_animation_get_markers_cnt(Tvg_Animation* animation, uint32_t* cnt); +TVG_API Tvg_Result tvg_lottie_animation_get_markers_cnt(Tvg_Animation animation, uint32_t* cnt); /*! @@ -2679,7 +2679,7 @@ TVG_API Tvg_Result tvg_lottie_animation_get_markers_cnt(Tvg_Animation* animation * * @since 1.0 */ -TVG_API Tvg_Result tvg_lottie_animation_get_marker(Tvg_Animation* animation, uint32_t idx, const char** name); +TVG_API Tvg_Result tvg_lottie_animation_get_marker(Tvg_Animation animation, uint32_t idx, const char** name); /** @@ -2698,7 +2698,7 @@ TVG_API Tvg_Result tvg_lottie_animation_get_marker(Tvg_Animation* animation, uin * * @since 1.0 */ -TVG_API Tvg_Result tvg_lottie_animation_tween(Tvg_Animation* animation, float from, float to, float progress); +TVG_API Tvg_Result tvg_lottie_animation_tween(Tvg_Animation animation, float from, float to, float progress); /*! @@ -2717,7 +2717,7 @@ TVG_API Tvg_Result tvg_lottie_animation_tween(Tvg_Animation* animation, float fr * * \note Experimental API */ -TVG_API Tvg_Result tvg_lottie_animation_assign(Tvg_Animation* animation, const char* layer, uint32_t ix, const char* var, float val); +TVG_API Tvg_Result tvg_lottie_animation_assign(Tvg_Animation animation, const char* layer, uint32_t ix, const char* var, float val); /** \} */ // end addtogroup ThorVGCapi_LottieAnimation diff --git a/src/bindings/capi/tvgCapi.cpp b/src/bindings/capi/tvgCapi.cpp index 552534b8..d2f4aaa4 100644 --- a/src/bindings/capi/tvgCapi.cpp +++ b/src/bindings/capi/tvgCapi.cpp @@ -62,25 +62,25 @@ TVG_API Tvg_Result tvg_engine_version(uint32_t* major, uint32_t* minor, uint32_t /* Canvas API */ /************************************************************************/ -TVG_API Tvg_Canvas* tvg_swcanvas_create() +TVG_API Tvg_Canvas tvg_swcanvas_create() { - return (Tvg_Canvas*) SwCanvas::gen(); + return (Tvg_Canvas) SwCanvas::gen(); } -TVG_API Tvg_Canvas* tvg_glcanvas_create() +TVG_API Tvg_Canvas tvg_glcanvas_create() { - return (Tvg_Canvas*) GlCanvas::gen(); + return (Tvg_Canvas) GlCanvas::gen(); } -TVG_API Tvg_Canvas* tvg_wgcanvas_create() +TVG_API Tvg_Canvas tvg_wgcanvas_create() { - return (Tvg_Canvas*) WgCanvas::gen(); + return (Tvg_Canvas) WgCanvas::gen(); } -TVG_API Tvg_Result tvg_canvas_destroy(Tvg_Canvas* canvas) +TVG_API Tvg_Result tvg_canvas_destroy(Tvg_Canvas canvas) { if (canvas) { delete(reinterpret_cast(canvas)); @@ -90,70 +90,70 @@ TVG_API Tvg_Result tvg_canvas_destroy(Tvg_Canvas* canvas) } -TVG_API Tvg_Result tvg_swcanvas_set_target(Tvg_Canvas* canvas, uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h, Tvg_Colorspace cs) +TVG_API Tvg_Result tvg_swcanvas_set_target(Tvg_Canvas canvas, uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h, Tvg_Colorspace cs) { if (canvas) return (Tvg_Result) reinterpret_cast(canvas)->target(buffer, stride, w, h, static_cast(cs)); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_glcanvas_set_target(Tvg_Canvas* canvas, void* context, int32_t id, uint32_t w, uint32_t h, Tvg_Colorspace cs) +TVG_API Tvg_Result tvg_glcanvas_set_target(Tvg_Canvas canvas, void* context, int32_t id, uint32_t w, uint32_t h, Tvg_Colorspace cs) { if (canvas) return (Tvg_Result) reinterpret_cast(canvas)->target(context, id, w, h, static_cast(cs)); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_wgcanvas_set_target(Tvg_Canvas* canvas, void* device, void* instance, void* target, uint32_t w, uint32_t h, Tvg_Colorspace cs, int type) +TVG_API Tvg_Result tvg_wgcanvas_set_target(Tvg_Canvas canvas, void* device, void* instance, void* target, uint32_t w, uint32_t h, Tvg_Colorspace cs, int type) { if (canvas) return (Tvg_Result) reinterpret_cast(canvas)->target(device, instance, target, w, h, static_cast(cs), type); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_canvas_push(Tvg_Canvas* canvas, Tvg_Paint* paint) +TVG_API Tvg_Result tvg_canvas_push(Tvg_Canvas canvas, Tvg_Paint paint) { if (canvas && paint) return (Tvg_Result) reinterpret_cast(canvas)->push((Paint*)paint); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_canvas_push_at(Tvg_Canvas* canvas, Tvg_Paint* target, Tvg_Paint* at) +TVG_API Tvg_Result tvg_canvas_push_at(Tvg_Canvas canvas, Tvg_Paint target, Tvg_Paint at) { if (canvas && target && at) return (Tvg_Result) reinterpret_cast(canvas)->push((Paint*)target, (Paint*) at); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_canvas_remove(Tvg_Canvas* canvas, Tvg_Paint* paint) +TVG_API Tvg_Result tvg_canvas_remove(Tvg_Canvas canvas, Tvg_Paint paint) { if (canvas) return (Tvg_Result) reinterpret_cast(canvas)->remove((Paint*) paint); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_canvas_update(Tvg_Canvas* canvas) +TVG_API Tvg_Result tvg_canvas_update(Tvg_Canvas canvas) { if (canvas) return (Tvg_Result) reinterpret_cast(canvas)->update(); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_canvas_draw(Tvg_Canvas* canvas, bool clear) +TVG_API Tvg_Result tvg_canvas_draw(Tvg_Canvas canvas, bool clear) { if (canvas) return (Tvg_Result) reinterpret_cast(canvas)->draw(clear); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_canvas_sync(Tvg_Canvas* canvas) +TVG_API Tvg_Result tvg_canvas_sync(Tvg_Canvas canvas) { if (canvas) return (Tvg_Result) reinterpret_cast(canvas)->sync(); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_canvas_set_viewport(Tvg_Canvas* canvas, int32_t x, int32_t y, int32_t w, int32_t h) +TVG_API Tvg_Result tvg_canvas_set_viewport(Tvg_Canvas canvas, int32_t x, int32_t y, int32_t w, int32_t h) { if (canvas) return (Tvg_Result) reinterpret_cast(canvas)->viewport(x, y, w, h); return TVG_RESULT_INVALID_ARGUMENT; @@ -164,13 +164,13 @@ TVG_API Tvg_Result tvg_canvas_set_viewport(Tvg_Canvas* canvas, int32_t x, int32_ /* Paint API */ /************************************************************************/ -TVG_API const Tvg_Paint* tvg_paint_get_parent(const Tvg_Paint* paint) +TVG_API const Tvg_Paint tvg_paint_get_parent(const Tvg_Paint paint) { - return (const Tvg_Paint*) reinterpret_cast(paint)->parent(); + return (const Tvg_Paint) reinterpret_cast(paint)->parent(); } -TVG_API Tvg_Result tvg_paint_del(Tvg_Paint* paint) +TVG_API Tvg_Result tvg_paint_del(Tvg_Paint paint) { if (paint) { delete(reinterpret_cast(paint)); @@ -180,56 +180,56 @@ TVG_API Tvg_Result tvg_paint_del(Tvg_Paint* paint) } -TVG_API uint16_t tvg_paint_ref(Tvg_Paint* paint) +TVG_API uint16_t tvg_paint_ref(Tvg_Paint paint) { if (paint) return reinterpret_cast(paint)->ref(); return 0; } -TVG_API uint16_t tvg_paint_unref(Tvg_Paint* paint, bool free) +TVG_API uint16_t tvg_paint_unref(Tvg_Paint paint, bool free) { if (paint) return reinterpret_cast(paint)->unref(free); return 0; } -TVG_API uint16_t tvg_paint_get_ref(const Tvg_Paint* paint) +TVG_API uint16_t tvg_paint_get_ref(const Tvg_Paint paint) { if (paint) return reinterpret_cast(paint)->refCnt(); return 0; } -TVG_API Tvg_Result tvg_paint_scale(Tvg_Paint* paint, float factor) +TVG_API Tvg_Result tvg_paint_scale(Tvg_Paint paint, float factor) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->scale(factor); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_paint_rotate(Tvg_Paint* paint, float degree) +TVG_API Tvg_Result tvg_paint_rotate(Tvg_Paint paint, float degree) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->rotate(degree); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_paint_translate(Tvg_Paint* paint, float x, float y) +TVG_API Tvg_Result tvg_paint_translate(Tvg_Paint paint, float x, float y) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->translate(x, y); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_paint_set_transform(Tvg_Paint* paint, const Tvg_Matrix* m) +TVG_API Tvg_Result tvg_paint_set_transform(Tvg_Paint paint, const Tvg_Matrix* m) { if (paint && m) return (Tvg_Result) reinterpret_cast(paint)->transform(*(reinterpret_cast(m))); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_paint_get_transform(Tvg_Paint* paint, Tvg_Matrix* m) +TVG_API Tvg_Result tvg_paint_get_transform(Tvg_Paint paint, Tvg_Matrix* m) { if (paint && m) { *reinterpret_cast(m) = reinterpret_cast(paint)->transform(); @@ -239,21 +239,21 @@ TVG_API Tvg_Result tvg_paint_get_transform(Tvg_Paint* paint, Tvg_Matrix* m) } -TVG_API Tvg_Paint* tvg_paint_duplicate(Tvg_Paint* paint) +TVG_API Tvg_Paint tvg_paint_duplicate(Tvg_Paint paint) { - if (paint) return (Tvg_Paint*) reinterpret_cast(paint)->duplicate(); + if (paint) return (Tvg_Paint) reinterpret_cast(paint)->duplicate(); return nullptr; } -TVG_API Tvg_Result tvg_paint_set_opacity(Tvg_Paint* paint, uint8_t opacity) +TVG_API Tvg_Result tvg_paint_set_opacity(Tvg_Paint paint, uint8_t opacity) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->opacity(opacity); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_paint_get_opacity(const Tvg_Paint* paint, uint8_t* opacity) +TVG_API Tvg_Result tvg_paint_get_opacity(const Tvg_Paint paint, uint8_t* opacity) { if (paint && opacity) { *opacity = reinterpret_cast(paint)->opacity(); @@ -263,26 +263,26 @@ TVG_API Tvg_Result tvg_paint_get_opacity(const Tvg_Paint* paint, uint8_t* opacit } -TVG_API Tvg_Result tvg_paint_get_aabb(const Tvg_Paint* paint, float* x, float* y, float* w, float* h) +TVG_API Tvg_Result tvg_paint_get_aabb(const Tvg_Paint paint, float* x, float* y, float* w, float* h) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->bounds(x, y, w, h); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_paint_get_obb(const Tvg_Paint* paint, Tvg_Point* pt4) +TVG_API Tvg_Result tvg_paint_get_obb(const Tvg_Paint paint, Tvg_Point* pt4) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->bounds((Point*)pt4); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_paint_set_mask_method(Tvg_Paint* paint, Tvg_Paint* target, Tvg_Mask_Method method) +TVG_API Tvg_Result tvg_paint_set_mask_method(Tvg_Paint paint, Tvg_Paint target, Tvg_Mask_Method method) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->mask((Paint*)target, (MaskMethod)method); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_paint_get_mask_method(const Tvg_Paint* paint, const Tvg_Paint** target, Tvg_Mask_Method* method) +TVG_API Tvg_Result tvg_paint_get_mask_method(const Tvg_Paint paint, const Tvg_Paint target, Tvg_Mask_Method* method) { if (paint && target && method) { *reinterpret_cast(method) = reinterpret_cast(paint)->mask(reinterpret_cast(target)); @@ -292,14 +292,14 @@ TVG_API Tvg_Result tvg_paint_get_mask_method(const Tvg_Paint* paint, const Tvg_P } -TVG_API Tvg_Result tvg_paint_set_blend_method(Tvg_Paint* paint, Tvg_Blend_Method method) +TVG_API Tvg_Result tvg_paint_set_blend_method(Tvg_Paint paint, Tvg_Blend_Method method) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->blend((BlendMethod)method); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_paint_get_type(const Tvg_Paint* paint, Tvg_Type* type) +TVG_API Tvg_Result tvg_paint_get_type(const Tvg_Paint paint, Tvg_Type* type) { if (paint && type) { *type = static_cast(reinterpret_cast(paint)->type()); @@ -309,16 +309,16 @@ TVG_API Tvg_Result tvg_paint_get_type(const Tvg_Paint* paint, Tvg_Type* type) } -TVG_API Tvg_Result tvg_paint_set_clip(Tvg_Paint* paint, Tvg_Paint* clipper) +TVG_API Tvg_Result tvg_paint_set_clip(Tvg_Paint paint, Tvg_Paint clipper) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->clip((Shape*)(clipper)); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Paint* tvg_paint_get_clip(const Tvg_Paint* paint) +TVG_API Tvg_Paint tvg_paint_get_clip(const Tvg_Paint paint) { - if (paint) return (Tvg_Paint*) reinterpret_cast(paint)->clip(); + if (paint) return (Tvg_Paint) reinterpret_cast(paint)->clip(); return nullptr; } @@ -327,83 +327,83 @@ TVG_API Tvg_Paint* tvg_paint_get_clip(const Tvg_Paint* paint) /* Shape API */ /************************************************************************/ -TVG_API Tvg_Paint* tvg_shape_new() +TVG_API Tvg_Paint tvg_shape_new() { - return (Tvg_Paint*) Shape::gen(); + return (Tvg_Paint) Shape::gen(); } -TVG_API Tvg_Result tvg_shape_reset(Tvg_Paint* paint) +TVG_API Tvg_Result tvg_shape_reset(Tvg_Paint paint) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->reset(); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_move_to(Tvg_Paint* paint, float x, float y) +TVG_API Tvg_Result tvg_shape_move_to(Tvg_Paint paint, float x, float y) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->moveTo(x, y); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_line_to(Tvg_Paint* paint, float x, float y) +TVG_API Tvg_Result tvg_shape_line_to(Tvg_Paint paint, float x, float y) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->lineTo(x, y); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_cubic_to(Tvg_Paint* paint, float cx1, float cy1, float cx2, float cy2, float x, float y) +TVG_API Tvg_Result tvg_shape_cubic_to(Tvg_Paint paint, float cx1, float cy1, float cx2, float cy2, float x, float y) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->cubicTo(cx1, cy1, cx2, cy2, x, y); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_close(Tvg_Paint* paint) +TVG_API Tvg_Result tvg_shape_close(Tvg_Paint paint) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->close(); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_append_rect(Tvg_Paint* paint, float x, float y, float w, float h, float rx, float ry, bool cw) +TVG_API Tvg_Result tvg_shape_append_rect(Tvg_Paint paint, float x, float y, float w, float h, float rx, float ry, bool cw) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->appendRect(x, y, w, h, rx, ry, cw); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_append_circle(Tvg_Paint* paint, float cx, float cy, float rx, float ry, bool cw) +TVG_API Tvg_Result tvg_shape_append_circle(Tvg_Paint paint, float cx, float cy, float rx, float ry, bool cw) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->appendCircle(cx, cy, rx, ry, cw); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_append_path(Tvg_Paint* paint, const Tvg_Path_Command* cmds, uint32_t cmdCnt, const Tvg_Point* pts, uint32_t ptsCnt) +TVG_API Tvg_Result tvg_shape_append_path(Tvg_Paint paint, const Tvg_Path_Command* cmds, uint32_t cmdCnt, const Tvg_Point* pts, uint32_t ptsCnt) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->appendPath((const PathCommand*)cmds, cmdCnt, (const Point*)pts, ptsCnt); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_path(const Tvg_Paint* paint, const Tvg_Path_Command** cmds, uint32_t* cmdsCnt, const Tvg_Point** pts, uint32_t* ptsCnt) +TVG_API Tvg_Result tvg_shape_get_path(const Tvg_Paint paint, const Tvg_Path_Command** cmds, uint32_t* cmdsCnt, const Tvg_Point** pts, uint32_t* ptsCnt) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->path((const PathCommand**)cmds, cmdsCnt, (const Point**)pts, ptsCnt); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_set_stroke_width(Tvg_Paint* paint, float width) +TVG_API Tvg_Result tvg_shape_set_stroke_width(Tvg_Paint paint, float width) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->strokeWidth(width); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_stroke_width(const Tvg_Paint* paint, float* width) +TVG_API Tvg_Result tvg_shape_get_stroke_width(const Tvg_Paint paint, float* width) { if (paint && width) { *width = reinterpret_cast(paint)->strokeWidth(); @@ -413,45 +413,45 @@ TVG_API Tvg_Result tvg_shape_get_stroke_width(const Tvg_Paint* paint, float* wid } -TVG_API Tvg_Result tvg_shape_set_stroke_color(Tvg_Paint* paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a) +TVG_API Tvg_Result tvg_shape_set_stroke_color(Tvg_Paint paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->strokeFill(r, g, b, a); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_stroke_color(const Tvg_Paint* paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a) +TVG_API Tvg_Result tvg_shape_get_stroke_color(const Tvg_Paint paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->strokeFill(r, g, b, a); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_set_stroke_gradient(Tvg_Paint* paint, Tvg_Gradient* gradient) +TVG_API Tvg_Result tvg_shape_set_stroke_gradient(Tvg_Paint paint, Tvg_Gradient gradient) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->strokeFill((Fill*)(gradient)); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_stroke_gradient(const Tvg_Paint* paint, Tvg_Gradient** gradient) +TVG_API Tvg_Result tvg_shape_get_stroke_gradient(const Tvg_Paint paint, Tvg_Gradient* gradient) { if (paint && gradient) { - *gradient = (Tvg_Gradient*)(reinterpret_cast(paint)->strokeFill()); + *gradient = (Tvg_Gradient)(reinterpret_cast(paint)->strokeFill()); return TVG_RESULT_SUCCESS; } return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_set_stroke_dash(Tvg_Paint* paint, const float* dashPattern, uint32_t cnt, float offset) +TVG_API Tvg_Result tvg_shape_set_stroke_dash(Tvg_Paint paint, const float* dashPattern, uint32_t cnt, float offset) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->strokeDash(dashPattern, cnt, offset); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_stroke_dash(const Tvg_Paint* paint, const float** dashPattern, uint32_t* cnt, float* offset) +TVG_API Tvg_Result tvg_shape_get_stroke_dash(const Tvg_Paint paint, const float** dashPattern, uint32_t* cnt, float* offset) { if (paint) { *cnt = reinterpret_cast(paint)->strokeDash(dashPattern, offset); @@ -461,14 +461,14 @@ TVG_API Tvg_Result tvg_shape_get_stroke_dash(const Tvg_Paint* paint, const float } -TVG_API Tvg_Result tvg_shape_set_stroke_cap(Tvg_Paint* paint, Tvg_Stroke_Cap cap) +TVG_API Tvg_Result tvg_shape_set_stroke_cap(Tvg_Paint paint, Tvg_Stroke_Cap cap) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->strokeCap((StrokeCap)cap); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_stroke_cap(const Tvg_Paint* paint, Tvg_Stroke_Cap* cap) +TVG_API Tvg_Result tvg_shape_get_stroke_cap(const Tvg_Paint paint, Tvg_Stroke_Cap* cap) { if (paint && cap) { *cap = (Tvg_Stroke_Cap) reinterpret_cast(paint)->strokeCap(); @@ -478,14 +478,14 @@ TVG_API Tvg_Result tvg_shape_get_stroke_cap(const Tvg_Paint* paint, Tvg_Stroke_C } -TVG_API Tvg_Result tvg_shape_set_stroke_join(Tvg_Paint* paint, Tvg_Stroke_Join join) +TVG_API Tvg_Result tvg_shape_set_stroke_join(Tvg_Paint paint, Tvg_Stroke_Join join) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->strokeJoin((StrokeJoin)join); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_stroke_join(const Tvg_Paint* paint, Tvg_Stroke_Join* join) +TVG_API Tvg_Result tvg_shape_get_stroke_join(const Tvg_Paint paint, Tvg_Stroke_Join* join) { if (paint && join) { *join = (Tvg_Stroke_Join) reinterpret_cast(paint)->strokeJoin(); @@ -495,14 +495,14 @@ TVG_API Tvg_Result tvg_shape_get_stroke_join(const Tvg_Paint* paint, Tvg_Stroke_ } -TVG_API Tvg_Result tvg_shape_set_stroke_miterlimit(Tvg_Paint* paint, float ml) +TVG_API Tvg_Result tvg_shape_set_stroke_miterlimit(Tvg_Paint paint, float ml) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->strokeMiterlimit(ml); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_stroke_miterlimit(const Tvg_Paint* paint, float* ml) +TVG_API Tvg_Result tvg_shape_get_stroke_miterlimit(const Tvg_Paint paint, float* ml) { if (paint && ml) { *ml = reinterpret_cast(paint)->strokeMiterlimit(); @@ -512,35 +512,35 @@ TVG_API Tvg_Result tvg_shape_get_stroke_miterlimit(const Tvg_Paint* paint, float } -TVG_API Tvg_Result tvg_shape_set_trimpath(Tvg_Paint* paint, float begin, float end, bool simultaneous) +TVG_API Tvg_Result tvg_shape_set_trimpath(Tvg_Paint paint, float begin, float end, bool simultaneous) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->trimpath(begin, end, simultaneous); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_set_fill_color(Tvg_Paint* paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a) +TVG_API Tvg_Result tvg_shape_set_fill_color(Tvg_Paint paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->fill(r, g, b, a); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_fill_color(const Tvg_Paint* paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a) +TVG_API Tvg_Result tvg_shape_get_fill_color(const Tvg_Paint paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->fill(r, g, b, a); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_set_fill_rule(Tvg_Paint* paint, Tvg_Fill_Rule rule) +TVG_API Tvg_Result tvg_shape_set_fill_rule(Tvg_Paint paint, Tvg_Fill_Rule rule) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->fillRule((FillRule)rule); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_fill_rule(const Tvg_Paint* paint, Tvg_Fill_Rule* rule) +TVG_API Tvg_Result tvg_shape_get_fill_rule(const Tvg_Paint paint, Tvg_Fill_Rule* rule) { if (paint && rule) { *rule = (Tvg_Fill_Rule) reinterpret_cast(paint)->fillRule(); @@ -550,24 +550,24 @@ TVG_API Tvg_Result tvg_shape_get_fill_rule(const Tvg_Paint* paint, Tvg_Fill_Rule } -TVG_API Tvg_Result tvg_shape_set_paint_order(Tvg_Paint* paint, bool strokeFirst) +TVG_API Tvg_Result tvg_shape_set_paint_order(Tvg_Paint paint, bool strokeFirst) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->order(strokeFirst); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_set_gradient(Tvg_Paint* paint, Tvg_Gradient* gradient) +TVG_API Tvg_Result tvg_shape_set_gradient(Tvg_Paint paint, Tvg_Gradient gradient) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->fill((Fill*)gradient); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_shape_get_gradient(const Tvg_Paint* paint, Tvg_Gradient** gradient) +TVG_API Tvg_Result tvg_shape_get_gradient(const Tvg_Paint paint, Tvg_Gradient* gradient) { if (paint && gradient) { - *gradient = (Tvg_Gradient*)(reinterpret_cast(paint)->fill()); + *gradient = (Tvg_Gradient)(reinterpret_cast(paint)->fill()); return TVG_RESULT_SUCCESS; } return TVG_RESULT_INVALID_ARGUMENT; @@ -577,50 +577,50 @@ TVG_API Tvg_Result tvg_shape_get_gradient(const Tvg_Paint* paint, Tvg_Gradient** /* Picture API */ /************************************************************************/ -TVG_API Tvg_Paint* tvg_picture_new() +TVG_API Tvg_Paint tvg_picture_new() { - return (Tvg_Paint*) Picture::gen(); + return (Tvg_Paint) Picture::gen(); } -TVG_API Tvg_Result tvg_picture_load(Tvg_Paint* paint, const char* path) +TVG_API Tvg_Result tvg_picture_load(Tvg_Paint paint, const char* path) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->load(path); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_picture_load_raw(Tvg_Paint* paint, uint32_t *data, uint32_t w, uint32_t h, Tvg_Colorspace cs, bool copy) +TVG_API Tvg_Result tvg_picture_load_raw(Tvg_Paint paint, uint32_t *data, uint32_t w, uint32_t h, Tvg_Colorspace cs, bool copy) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->load(data, w, h, static_cast(cs), copy); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_picture_load_data(Tvg_Paint* paint, const char *data, uint32_t size, const char *mimetype, const char* rpath, bool copy) +TVG_API Tvg_Result tvg_picture_load_data(Tvg_Paint paint, const char *data, uint32_t size, const char *mimetype, const char* rpath, bool copy) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->load(data, size, mimetype ? mimetype : "", rpath ? rpath : "", copy); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_picture_set_size(Tvg_Paint* paint, float w, float h) +TVG_API Tvg_Result tvg_picture_set_size(Tvg_Paint paint, float w, float h) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->size(w, h); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_picture_get_size(const Tvg_Paint* paint, float* w, float* h) +TVG_API Tvg_Result tvg_picture_get_size(const Tvg_Paint paint, float* w, float* h) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->size(w, h); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API const Tvg_Paint* tvg_picture_get_paint(Tvg_Paint* paint, uint32_t id) +TVG_API const Tvg_Paint tvg_picture_get_paint(Tvg_Paint paint, uint32_t id) { - if (paint) return (Tvg_Paint*) reinterpret_cast(paint)->paint(id); + if (paint) return (Tvg_Paint) reinterpret_cast(paint)->paint(id); return nullptr; } @@ -629,26 +629,26 @@ TVG_API const Tvg_Paint* tvg_picture_get_paint(Tvg_Paint* paint, uint32_t id) /* Gradient API */ /************************************************************************/ -TVG_API Tvg_Gradient* tvg_linear_gradient_new() +TVG_API Tvg_Gradient tvg_linear_gradient_new() { - return (Tvg_Gradient*)LinearGradient::gen(); + return (Tvg_Gradient)LinearGradient::gen(); } -TVG_API Tvg_Gradient* tvg_radial_gradient_new() +TVG_API Tvg_Gradient tvg_radial_gradient_new() { - return (Tvg_Gradient*)RadialGradient::gen(); + return (Tvg_Gradient)RadialGradient::gen(); } -TVG_API Tvg_Gradient* tvg_gradient_duplicate(Tvg_Gradient* grad) +TVG_API Tvg_Gradient tvg_gradient_duplicate(Tvg_Gradient grad) { - if (grad) return (Tvg_Gradient*) reinterpret_cast(grad)->duplicate(); + if (grad) return (Tvg_Gradient) reinterpret_cast(grad)->duplicate(); return nullptr; } -TVG_API Tvg_Result tvg_gradient_del(Tvg_Gradient* grad) +TVG_API Tvg_Result tvg_gradient_del(Tvg_Gradient grad) { if (grad) { delete(reinterpret_cast(grad)); @@ -658,42 +658,42 @@ TVG_API Tvg_Result tvg_gradient_del(Tvg_Gradient* grad) } -TVG_API Tvg_Result tvg_linear_gradient_set(Tvg_Gradient* grad, float x1, float y1, float x2, float y2) +TVG_API Tvg_Result tvg_linear_gradient_set(Tvg_Gradient grad, float x1, float y1, float x2, float y2) { if (grad) return (Tvg_Result) reinterpret_cast(grad)->linear(x1, y1, x2, y2); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_linear_gradient_get(Tvg_Gradient* grad, float* x1, float* y1, float* x2, float* y2) +TVG_API Tvg_Result tvg_linear_gradient_get(Tvg_Gradient grad, float* x1, float* y1, float* x2, float* y2) { if (grad) return (Tvg_Result) reinterpret_cast(grad)->linear(x1, y1, x2, y2); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_radial_gradient_set(Tvg_Gradient* grad, float cx, float cy, float r, float fx, float fy, float fr) +TVG_API Tvg_Result tvg_radial_gradient_set(Tvg_Gradient grad, float cx, float cy, float r, float fx, float fy, float fr) { if (grad) return (Tvg_Result) reinterpret_cast(grad)->radial(cx, cy, r, fx, fy, fr); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_radial_gradient_get(Tvg_Gradient* grad, float* cx, float* cy, float* r, float* fx, float* fy, float* fr) +TVG_API Tvg_Result tvg_radial_gradient_get(Tvg_Gradient grad, float* cx, float* cy, float* r, float* fx, float* fy, float* fr) { if (grad) return (Tvg_Result) reinterpret_cast(grad)->radial(cx, cy, r, fx, fy, fr); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_gradient_set_color_stops(Tvg_Gradient* grad, const Tvg_Color_Stop* color_stop, uint32_t cnt) +TVG_API Tvg_Result tvg_gradient_set_color_stops(Tvg_Gradient grad, const Tvg_Color_Stop* color_stop, uint32_t cnt) { if (grad) return (Tvg_Result) reinterpret_cast(grad)->colorStops(reinterpret_cast(color_stop), cnt); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_gradient_get_color_stops(const Tvg_Gradient* grad, const Tvg_Color_Stop** color_stop, uint32_t* cnt) +TVG_API Tvg_Result tvg_gradient_get_color_stops(const Tvg_Gradient grad, const Tvg_Color_Stop** color_stop, uint32_t* cnt) { if (grad && color_stop && cnt) { *cnt = reinterpret_cast(grad)->colorStops(reinterpret_cast(color_stop)); @@ -703,14 +703,14 @@ TVG_API Tvg_Result tvg_gradient_get_color_stops(const Tvg_Gradient* grad, const } -TVG_API Tvg_Result tvg_gradient_set_spread(Tvg_Gradient* grad, const Tvg_Stroke_Fill spread) +TVG_API Tvg_Result tvg_gradient_set_spread(Tvg_Gradient grad, const Tvg_Stroke_Fill spread) { if (grad) return (Tvg_Result) reinterpret_cast(grad)->spread((FillSpread)spread); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_gradient_get_spread(const Tvg_Gradient* grad, Tvg_Stroke_Fill* spread) +TVG_API Tvg_Result tvg_gradient_get_spread(const Tvg_Gradient grad, Tvg_Stroke_Fill* spread) { if (grad && spread) { *spread = (Tvg_Stroke_Fill) reinterpret_cast(grad)->spread(); @@ -720,24 +720,24 @@ TVG_API Tvg_Result tvg_gradient_get_spread(const Tvg_Gradient* grad, Tvg_Stroke_ } -TVG_API Tvg_Result tvg_gradient_set_transform(Tvg_Gradient* grad, const Tvg_Matrix* m) +TVG_API Tvg_Result tvg_gradient_set_transform(Tvg_Gradient grad, const Tvg_Matrix* m) { if (grad && m) return (Tvg_Result) reinterpret_cast(grad)->transform(*(reinterpret_cast(m))); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_gradient_get_transform(const Tvg_Gradient* grad, Tvg_Matrix* m) +TVG_API Tvg_Result tvg_gradient_get_transform(const Tvg_Gradient grad, Tvg_Matrix* m) { if (grad && m) { - *reinterpret_cast(m) = reinterpret_cast(const_cast(grad))->transform(); + *reinterpret_cast(m) = reinterpret_cast(const_cast(grad))->transform(); return TVG_RESULT_SUCCESS; } return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_gradient_get_type(const Tvg_Gradient* grad, Tvg_Type* type) +TVG_API Tvg_Result tvg_gradient_get_type(const Tvg_Gradient grad, Tvg_Type* type) { if (grad && type) { *type = static_cast(reinterpret_cast(grad)->type()); @@ -751,69 +751,69 @@ TVG_API Tvg_Result tvg_gradient_get_type(const Tvg_Gradient* grad, Tvg_Type* typ /* Scene API */ /************************************************************************/ -TVG_API Tvg_Paint* tvg_scene_new() +TVG_API Tvg_Paint tvg_scene_new() { - return (Tvg_Paint*) Scene::gen(); + return (Tvg_Paint) Scene::gen(); } -TVG_API Tvg_Result tvg_scene_push(Tvg_Paint* scene, Tvg_Paint* paint) +TVG_API Tvg_Result tvg_scene_push(Tvg_Paint scene, Tvg_Paint paint) { if (scene && paint) return (Tvg_Result) reinterpret_cast(scene)->push((Paint*)paint); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_scene_push_at(Tvg_Paint* scene, Tvg_Paint* paint, Tvg_Paint* at) +TVG_API Tvg_Result tvg_scene_push_at(Tvg_Paint scene, Tvg_Paint paint, Tvg_Paint at) { if (scene && paint && at) return (Tvg_Result) reinterpret_cast(scene)->push((Paint*)paint, (Paint*)at); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_scene_remove(Tvg_Paint* scene, Tvg_Paint* paint) +TVG_API Tvg_Result tvg_scene_remove(Tvg_Paint scene, Tvg_Paint paint) { if (scene) return (Tvg_Result) reinterpret_cast(scene)->remove((Paint*)paint); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_scene_reset_effects(Tvg_Paint* scene) +TVG_API Tvg_Result tvg_scene_reset_effects(Tvg_Paint scene) { if (scene) return (Tvg_Result) reinterpret_cast(scene)->push(SceneEffect::ClearAll); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_scene_push_effect_drop_shadow(Tvg_Paint* scene, int r, int g, int b, int a, double angle, double distance, double sigma, int quality) +TVG_API Tvg_Result tvg_scene_push_effect_drop_shadow(Tvg_Paint scene, int r, int g, int b, int a, double angle, double distance, double sigma, int quality) { if (scene) return (Tvg_Result) reinterpret_cast(scene)->push(SceneEffect::DropShadow, r, g, b, a, angle, distance, sigma, quality); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_scene_push_effect_gaussian_blur(Tvg_Paint* scene, double sigma, int direction, int border, int quality) +TVG_API Tvg_Result tvg_scene_push_effect_gaussian_blur(Tvg_Paint scene, double sigma, int direction, int border, int quality) { if (scene) return (Tvg_Result) reinterpret_cast(scene)->push(SceneEffect::GaussianBlur, sigma, direction, border, quality); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_scene_push_effect_fill(Tvg_Paint* scene, int r, int g, int b, int a) +TVG_API Tvg_Result tvg_scene_push_effect_fill(Tvg_Paint scene, int r, int g, int b, int a) { if (scene) return (Tvg_Result) reinterpret_cast(scene)->push(SceneEffect::Fill, r, g, b, a); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_scene_push_effect_tint(Tvg_Paint* scene, int black_r, int black_g, int black_b, int white_r, int white_g, int white_b, double intensity) +TVG_API Tvg_Result tvg_scene_push_effect_tint(Tvg_Paint scene, int black_r, int black_g, int black_b, int white_r, int white_g, int white_b, double intensity) { if (scene) return (Tvg_Result) reinterpret_cast(scene)->push(SceneEffect::Tint, black_r, black_g, black_b, white_r, white_g, white_b, intensity); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_scene_push_effect_tritone(Tvg_Paint* scene, int shadow_r, int shadow_g, int shadow_b, int midtone_r, int midtone_g, int midtone_b, int highlight_r, int highlight_g, int highlight_b, int blend) +TVG_API Tvg_Result tvg_scene_push_effect_tritone(Tvg_Paint scene, int shadow_r, int shadow_g, int shadow_b, int midtone_r, int midtone_g, int midtone_b, int highlight_r, int highlight_g, int highlight_b, int blend) { if (scene) return (Tvg_Result) reinterpret_cast(scene)->push(SceneEffect::Tritone, shadow_r, shadow_g, shadow_b, midtone_r, midtone_g, midtone_b, highlight_r, highlight_g, highlight_b, blend); return TVG_RESULT_INVALID_ARGUMENT; @@ -824,34 +824,34 @@ TVG_API Tvg_Result tvg_scene_push_effect_tritone(Tvg_Paint* scene, int shadow_r, /* Text API */ /************************************************************************/ -TVG_API Tvg_Paint* tvg_text_new() +TVG_API Tvg_Paint tvg_text_new() { - return (Tvg_Paint*)Text::gen(); + return (Tvg_Paint)Text::gen(); } -TVG_API Tvg_Result tvg_text_set_font(Tvg_Paint* paint, const char* name, float size, const char* style) +TVG_API Tvg_Result tvg_text_set_font(Tvg_Paint paint, const char* name, float size, const char* style) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->font(name, size, style); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_text_set_text(Tvg_Paint* paint, const char* text) +TVG_API Tvg_Result tvg_text_set_text(Tvg_Paint paint, const char* text) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->text(text); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_text_set_fill_color(Tvg_Paint* paint, uint8_t r, uint8_t g, uint8_t b) +TVG_API Tvg_Result tvg_text_set_fill_color(Tvg_Paint paint, uint8_t r, uint8_t g, uint8_t b) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->fill(r, g, b); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_text_set_gradient(Tvg_Paint* paint, Tvg_Gradient* gradient) +TVG_API Tvg_Result tvg_text_set_gradient(Tvg_Paint paint, Tvg_Gradient gradient) { if (paint) return (Tvg_Result) reinterpret_cast(paint)->fill((Fill*)(gradient)); return TVG_RESULT_INVALID_ARGUMENT; @@ -880,27 +880,27 @@ TVG_API Tvg_Result tvg_font_unload(const char* path) /* Saver API */ /************************************************************************/ -TVG_API Tvg_Saver* tvg_saver_new() +TVG_API Tvg_Saver tvg_saver_new() { - return (Tvg_Saver*) Saver::gen(); + return (Tvg_Saver) Saver::gen(); } -TVG_API Tvg_Result tvg_saver_save(Tvg_Saver* saver, Tvg_Paint* paint, const char* path, uint32_t quality) +TVG_API Tvg_Result tvg_saver_save(Tvg_Saver saver, Tvg_Paint paint, const char* path, uint32_t quality) { if (saver && paint && path) return (Tvg_Result) reinterpret_cast(saver)->save((Paint*)paint, path, quality); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_saver_sync(Tvg_Saver* saver) +TVG_API Tvg_Result tvg_saver_sync(Tvg_Saver saver) { if (saver) return (Tvg_Result) reinterpret_cast(saver)->sync(); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_saver_del(Tvg_Saver* saver) +TVG_API Tvg_Result tvg_saver_del(Tvg_Saver saver) { if (saver) { delete(reinterpret_cast(saver)); @@ -914,20 +914,20 @@ TVG_API Tvg_Result tvg_saver_del(Tvg_Saver* saver) /* Animation API */ /************************************************************************/ -TVG_API Tvg_Animation* tvg_animation_new() +TVG_API Tvg_Animation tvg_animation_new() { - return (Tvg_Animation*) Animation::gen(); + return (Tvg_Animation) Animation::gen(); } -TVG_API Tvg_Result tvg_animation_set_frame(Tvg_Animation* animation, float no) +TVG_API Tvg_Result tvg_animation_set_frame(Tvg_Animation animation, float no) { if (animation) return (Tvg_Result) reinterpret_cast(animation)->frame(no); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_animation_get_frame(Tvg_Animation* animation, float* no) +TVG_API Tvg_Result tvg_animation_get_frame(Tvg_Animation animation, float* no) { if (animation && no) { *no = reinterpret_cast(animation)->curFrame(); @@ -937,7 +937,7 @@ TVG_API Tvg_Result tvg_animation_get_frame(Tvg_Animation* animation, float* no) } -TVG_API Tvg_Result tvg_animation_get_total_frame(Tvg_Animation* animation, float* cnt) +TVG_API Tvg_Result tvg_animation_get_total_frame(Tvg_Animation animation, float* cnt) { if (animation && cnt) { *cnt = reinterpret_cast(animation)->totalFrame(); @@ -947,14 +947,14 @@ TVG_API Tvg_Result tvg_animation_get_total_frame(Tvg_Animation* animation, float } -TVG_API Tvg_Paint* tvg_animation_get_picture(Tvg_Animation* animation) +TVG_API Tvg_Paint tvg_animation_get_picture(Tvg_Animation animation) { - if (animation) return (Tvg_Paint*) reinterpret_cast(animation)->picture(); + if (animation) return (Tvg_Paint) reinterpret_cast(animation)->picture(); return nullptr; } -TVG_API Tvg_Result tvg_animation_get_duration(Tvg_Animation* animation, float* duration) +TVG_API Tvg_Result tvg_animation_get_duration(Tvg_Animation animation, float* duration) { if (animation && duration) { *duration = reinterpret_cast(animation)->duration(); @@ -964,21 +964,21 @@ TVG_API Tvg_Result tvg_animation_get_duration(Tvg_Animation* animation, float* d } -TVG_API Tvg_Result tvg_animation_set_segment(Tvg_Animation* animation, float start, float end) +TVG_API Tvg_Result tvg_animation_set_segment(Tvg_Animation animation, float start, float end) { if (animation) return (Tvg_Result) reinterpret_cast(animation)->segment(start, end); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_animation_get_segment(Tvg_Animation* animation, float* start, float* end) +TVG_API Tvg_Result tvg_animation_get_segment(Tvg_Animation animation, float* start, float* end) { if (animation) return (Tvg_Result) reinterpret_cast(animation)->segment(start, end); return TVG_RESULT_INVALID_ARGUMENT; } -TVG_API Tvg_Result tvg_animation_del(Tvg_Animation* animation) +TVG_API Tvg_Result tvg_animation_del(Tvg_Animation animation) { if (animation) { delete(reinterpret_cast(animation)); @@ -992,13 +992,13 @@ TVG_API Tvg_Result tvg_animation_del(Tvg_Animation* animation) /* Accessor API */ /************************************************************************/ -TVG_API Tvg_Accessor* tvg_accessor_new() +TVG_API Tvg_Accessor tvg_accessor_new() { - return (Tvg_Accessor*) Accessor::gen(); + return (Tvg_Accessor) Accessor::gen(); } -TVG_API Tvg_Result tvg_accessor_del(Tvg_Accessor* accessor) +TVG_API Tvg_Result tvg_accessor_del(Tvg_Accessor accessor) { if (accessor) { delete(reinterpret_cast(accessor)); @@ -1008,10 +1008,10 @@ TVG_API Tvg_Result tvg_accessor_del(Tvg_Accessor* accessor) } -TVG_API Tvg_Result tvg_accessor_set(Tvg_Accessor* accessor, Tvg_Paint* paint, bool (*func)(Tvg_Paint* paint, void* data), void* data) +TVG_API Tvg_Result tvg_accessor_set(Tvg_Accessor accessor, Tvg_Paint paint, bool (*func)(Tvg_Paint paint, void* data), void* data) { if (accessor) return (Tvg_Result) reinterpret_cast(accessor)->set(static_cast(reinterpret_cast(paint)), - [func](const Paint* paint, void* data) { return func((Tvg_Paint*) paint, data); }, data); + [func](const Paint* paint, void* data) { return func((Tvg_Paint) paint, data); }, data); return TVG_RESULT_INVALID_ARGUMENT; } @@ -1026,16 +1026,16 @@ TVG_API uint32_t tvg_accessor_generate_id(const char* name) /* Lottie Animation API */ /************************************************************************/ -TVG_API Tvg_Animation* tvg_lottie_animation_new() +TVG_API Tvg_Animation tvg_lottie_animation_new() { #ifdef THORVG_LOTTIE_LOADER_SUPPORT - return (Tvg_Animation*) LottieAnimation::gen(); + return (Tvg_Animation) LottieAnimation::gen(); #endif return nullptr; } -TVG_API Tvg_Result tvg_lottie_animation_override(Tvg_Animation* animation, const char* slot) +TVG_API Tvg_Result tvg_lottie_animation_override(Tvg_Animation animation, const char* slot) { #ifdef THORVG_LOTTIE_LOADER_SUPPORT if (animation) return (Tvg_Result) reinterpret_cast(animation)->override(slot); @@ -1045,7 +1045,7 @@ TVG_API Tvg_Result tvg_lottie_animation_override(Tvg_Animation* animation, const } -TVG_API Tvg_Result tvg_lottie_animation_set_marker(Tvg_Animation* animation, const char* marker) +TVG_API Tvg_Result tvg_lottie_animation_set_marker(Tvg_Animation animation, const char* marker) { #ifdef THORVG_LOTTIE_LOADER_SUPPORT if (animation) return (Tvg_Result) reinterpret_cast(animation)->segment(marker); @@ -1055,7 +1055,7 @@ TVG_API Tvg_Result tvg_lottie_animation_set_marker(Tvg_Animation* animation, con } -TVG_API Tvg_Result tvg_lottie_animation_get_markers_cnt(Tvg_Animation* animation, uint32_t* cnt) +TVG_API Tvg_Result tvg_lottie_animation_get_markers_cnt(Tvg_Animation animation, uint32_t* cnt) { #ifdef THORVG_LOTTIE_LOADER_SUPPORT if (animation && cnt) { @@ -1068,7 +1068,7 @@ TVG_API Tvg_Result tvg_lottie_animation_get_markers_cnt(Tvg_Animation* animation } -TVG_API Tvg_Result tvg_lottie_animation_get_marker(Tvg_Animation* animation, uint32_t idx, const char** name) +TVG_API Tvg_Result tvg_lottie_animation_get_marker(Tvg_Animation animation, uint32_t idx, const char** name) { #ifdef THORVG_LOTTIE_LOADER_SUPPORT if (animation && name) { @@ -1082,7 +1082,7 @@ TVG_API Tvg_Result tvg_lottie_animation_get_marker(Tvg_Animation* animation, uin } -TVG_API Tvg_Result tvg_lottie_animation_tween(Tvg_Animation* animation, float from, float to, float progress) +TVG_API Tvg_Result tvg_lottie_animation_tween(Tvg_Animation animation, float from, float to, float progress) { #ifdef THORVG_LOTTIE_LOADER_SUPPORT if (animation) return (Tvg_Result) reinterpret_cast(animation)->tween(from, to, progress); @@ -1092,7 +1092,7 @@ TVG_API Tvg_Result tvg_lottie_animation_tween(Tvg_Animation* animation, float fr } -TVG_API Tvg_Result tvg_lottie_animation_assign(Tvg_Animation* animation, const char* layer, uint32_t ix, const char* var, float val) +TVG_API Tvg_Result tvg_lottie_animation_assign(Tvg_Animation animation, const char* layer, uint32_t ix, const char* var, float val) { #ifdef THORVG_LOTTIE_LOADER_SUPPORT if (animation) return (Tvg_Result) reinterpret_cast(animation)->assign(layer, ix, var, val);