/*!
+* \brief Sets the matrix of the affine transformation for the gradient object. (BETA_API)
+*
+* The augmented matrix of the transformation is expected to be given.
+*
+* \param[in] grad The Tvg_Gradient object to be transformed.
+* \param[in] m The 3x3 augmented matrix.
+*
+* \return Tvg_Result enumeration.
+* \retval TVG_RESULT_SUCCESS Succeed.
+* \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument.
+* \retval TVG_RESULT_FAILED_ALLOCATION An internal error with a memory allocation.
+*/
+TVG_EXPORT Tvg_Result tvg_gradient_set_transform(Tvg_Gradient* grad, const Tvg_Matrix* m);
+
+
+/*!
+* \brief Gets the matrix of the affine transformation of the gradient object. (BETA_API)
+*
+* In case no transformation was applied, the identity matrix is set.
+*
+* \param[in] grad The Tvg_Gradient object of which to get the transformation matrix.
+* \param[out] m The 3x3 augmented matrix.
+*
+* \return Tvg_Result enumeration.
+* \retval TVG_RESULT_SUCCESS Succeed.
+* \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument.
+*/
+TVG_EXPORT Tvg_Result tvg_gradient_get_transform(const Tvg_Gradient* grad, Tvg_Matrix* m);
+
+
+/*!
* \brief Duplicates the given Tvg_Gradient object.
*
* Creates a new object and sets its all properties as in the original object.
return (Tvg_Result) reinterpret_cast<Paint*>(paint)->transform(*(reinterpret_cast<const Matrix*>(m)));
}
+
TVG_EXPORT Tvg_Result tvg_paint_get_transform(Tvg_Paint* paint, Tvg_Matrix* m)
{
if (!paint || !m) return TVG_RESULT_INVALID_ARGUMENT;
return TVG_RESULT_SUCCESS;
}
+
+TVG_EXPORT Tvg_Result tvg_gradient_set_transform(Tvg_Gradient* grad, const Tvg_Matrix* m)
+{
+ if (!grad || !m) return TVG_RESULT_INVALID_ARGUMENT;
+ return (Tvg_Result) reinterpret_cast<Fill*>(grad)->transform(*(reinterpret_cast<const Matrix*>(m)));
+}
+
+
+TVG_EXPORT Tvg_Result tvg_gradient_get_transform(const Tvg_Gradient* grad, Tvg_Matrix* m)
+{
+ if (!grad || !m) return TVG_RESULT_INVALID_ARGUMENT;
+ *reinterpret_cast<Matrix*>(m) = reinterpret_cast<Fill*>(const_cast<Tvg_Gradient*>(grad))->transform();
+ return TVG_RESULT_SUCCESS;
+}
+
/************************************************************************/
/* Scene API */
/************************************************************************/