capi: tvg_gradient_duplicate() added

This commit is contained in:
Mira Grudzinska 2021-10-12 14:49:31 +02:00 committed by Hermet Park
parent 39af185de8
commit e0488f4a8d
2 changed files with 19 additions and 0 deletions

View file

@ -1661,6 +1661,18 @@ TVG_EXPORT Tvg_Result tvg_gradient_set_spread(Tvg_Gradient* grad, const Tvg_Stro
TVG_EXPORT Tvg_Result tvg_gradient_get_spread(Tvg_Gradient* grad, Tvg_Stroke_Fill* spread); TVG_EXPORT Tvg_Result tvg_gradient_get_spread(Tvg_Gradient* grad, Tvg_Stroke_Fill* spread);
/*!
* \brief Duplicates the given Tvg_Gradient object.
*
* Creates a new object and sets its all properties as in the original object.
*
* \param[in] grad The Tvg_Gradient object to be copied.
*
* \return A copied Tvg_Gradient object if succeed, @c nullptr otherwise.
*/
TVG_EXPORT Tvg_Gradient* tvg_gradient_duplicate(Tvg_Gradient* grad);
/*! /*!
* \brief Deletes the given gradient object. * \brief Deletes the given gradient object.
* *

View file

@ -515,6 +515,13 @@ TVG_EXPORT Tvg_Gradient* tvg_radial_gradient_new()
} }
TVG_EXPORT Tvg_Gradient* tvg_gradient_duplicate(Tvg_Gradient* grad)
{
if (!grad) return nullptr;
return (Tvg_Gradient*) reinterpret_cast<Fill*>(grad)->duplicate();
}
TVG_EXPORT Tvg_Result tvg_gradient_del(Tvg_Gradient* grad) TVG_EXPORT Tvg_Result tvg_gradient_del(Tvg_Gradient* grad)
{ {
if (!grad) return TVG_RESULT_INVALID_ARGUMENT; if (!grad) return TVG_RESULT_INVALID_ARGUMENT;