From 9453273fc896d2a84b79a947ac573c68b7e2a352 Mon Sep 17 00:00:00 2001 From: Michal Maciola Date: Mon, 31 May 2021 11:44:59 +0200 Subject: [PATCH] capi: picture load data Added 'tvg_picture_load_data' capi. --- src/bindings/capi/thorvg_capi.h | 20 ++++++++++++++++++++ src/bindings/capi/tvgCapi.cpp | 7 +++++++ 2 files changed, 27 insertions(+) diff --git a/src/bindings/capi/thorvg_capi.h b/src/bindings/capi/thorvg_capi.h index 4eef7b8b..67756409 100644 --- a/src/bindings/capi/thorvg_capi.h +++ b/src/bindings/capi/thorvg_capi.h @@ -1661,11 +1661,31 @@ TVG_EXPORT Tvg_Result tvg_picture_load(Tvg_Paint* paint, const char* path); /*! * \brief Loads a picture data from a memory block of a given size. (BETA version) * +* \return Tvg_Result return value +* \retval TVG_RESULT_SUCCESS: if ok. +* \retval TVG_RESULT_INVALID_PARAMETERS: if paint is invalid +* * \warning Please do not use it, this API is not official one. It can be modified in the next version. */ TVG_EXPORT Tvg_Result tvg_picture_load_raw(Tvg_Paint* paint, uint32_t *data, uint32_t w, uint32_t h, bool copy); +/*! +* \brief The function loads data into given paint object. (BETA version) +* +* \param[in] paint Tvg_Paint pointer +* \param[in] data raw data pointer +* \param[in] size of data +* +* \return Tvg_Result return value +* \retval TVG_RESULT_SUCCESS: if ok. +* \retval TVG_RESULT_INVALID_PARAMETERS: if paint is invalid +* +* \warning Please do not use it, this API is not official one. It can be modified in the next version. +*/ +TVG_EXPORT Tvg_Result tvg_picture_load_data(Tvg_Paint* paint, const char *data, uint32_t size); + + /*! * \brief Gets the position and the size of the loaded picture. (BETA version) * diff --git a/src/bindings/capi/tvgCapi.cpp b/src/bindings/capi/tvgCapi.cpp index 06fbf27a..cfafb8ad 100644 --- a/src/bindings/capi/tvgCapi.cpp +++ b/src/bindings/capi/tvgCapi.cpp @@ -462,6 +462,13 @@ TVG_EXPORT Tvg_Result tvg_picture_load_raw(Tvg_Paint* paint, uint32_t *data, uin } +TVG_EXPORT Tvg_Result tvg_picture_load_data(Tvg_Paint* paint, const char *data, uint32_t size) +{ + if (!paint) return TVG_RESULT_INVALID_ARGUMENT; + return (Tvg_Result) reinterpret_cast(paint)->load(data, size); +} + + TVG_EXPORT Tvg_Result tvg_picture_get_viewbox(const Tvg_Paint* paint, float* x, float* y, float* w, float* h) { if (!paint) return TVG_RESULT_INVALID_ARGUMENT;