common capi: Added opacity C bindings.
authorMichal Szczecinski <m.szczecinsk@partner.samsung.com>
Tue, 3 Nov 2020 11:42:57 +0000 (12:42 +0100)
committerHermet Park <chuneon.park@samsung.com>
Wed, 4 Nov 2020 01:40:46 +0000 (10:40 +0900)
Added opacity setter/getter to CAPI. They will be useful to simplify
code responsible for set visiblility of paint.

@API Additions:
Tvg_Result tvg_paint_set_opacity(Tvg_Paint* paint, uint8_t opacity)
Tvg_Result tvg_paint_get_opacity(Tvg_Paint* paint, uint8_t* opacity)

Change-Id: Ifeae545d12d74f316b8d27b5e047c55f82a696fe

inc/thorvg_capi.h
src/bindings/capi/tvgCapi.cpp

index 7a2d536..9d5b1e9 100644 (file)
@@ -120,6 +120,8 @@ TVG_EXPORT Tvg_Result tvg_paint_scale(Tvg_Paint* paint, float factor);
 TVG_EXPORT Tvg_Result tvg_paint_rotate(Tvg_Paint* paint, float degree);
 TVG_EXPORT Tvg_Result tvg_paint_translate(Tvg_Paint* paint, float x, float y);
 TVG_EXPORT Tvg_Result tvg_paint_transform(Tvg_Paint* paint, const Tvg_Matrix* m);
+TVG_EXPORT Tvg_Result tvg_paint_set_opacity(Tvg_Paint* paint, uint8_t opacity);
+TVG_EXPORT Tvg_Result tvg_paint_get_opacity(Tvg_Paint* paint, uint8_t* opacity);
 TVG_EXPORT Tvg_Paint* tvg_paint_duplicate(Tvg_Paint* paint);
 
 /************************************************************************/
index 8d9cbbf..d243c35 100644 (file)
@@ -162,7 +162,6 @@ TVG_EXPORT Tvg_Result tvg_paint_transform(Tvg_Paint* paint, const Tvg_Matrix* m)
 }
 
 
-
 TVG_EXPORT Tvg_Paint* tvg_paint_duplicate(Tvg_Paint* paint)
 {
     if (!paint) return NULL;
@@ -170,6 +169,20 @@ TVG_EXPORT Tvg_Paint* tvg_paint_duplicate(Tvg_Paint* paint)
 }
 
 
+TVG_EXPORT Tvg_Result tvg_paint_set_opacity(Tvg_Paint* paint, uint8_t opacity)
+{
+    if (!paint) return TVG_RESULT_INVALID_ARGUMENT;
+    return (Tvg_Result) reinterpret_cast<Paint*>(paint)->opacity(opacity);
+}
+
+
+TVG_EXPORT Tvg_Result tvg_paint_get_opacity(Tvg_Paint* paint, uint8_t* opacity)
+{
+    if (!paint || !opacity)  return TVG_RESULT_INVALID_ARGUMENT;
+    *opacity = reinterpret_cast<Paint*>(paint)->opacity();
+    return TVG_RESULT_SUCCESS;
+}
+
 /************************************************************************/
 /* Shape API                                                            */
 /************************************************************************/