From b981667d52b721fcde217abd8497ef2feba65690 Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Mon, 1 Jun 2020 13:21:04 +0900 Subject: [PATCH] Efl.Gfx.Vg.Value_Provider: Move internal function changed_flag to eo. Summary: changed_flag was declared in the private header for internal use(static_lib). However, as the meson script has been changed, it can no longer be used. changed_flag can display the property to which the changed among the properties of value_provider. there is no problem in providing it as an eo function, so move the function to eo. Test Plan: N/A Reviewers: Hermet, herb, kimcinoo Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11894 --- .../evas/canvas/efl_gfx_vg_value_provider.c | 18 +++++++----------- .../evas/canvas/efl_gfx_vg_value_provider.eo | 19 +++++++++++++++++++ .../evas/canvas/efl_gfx_vg_value_provider.h | 2 +- src/lib/evas/canvas/evas_vg_private.h | 12 ------------ src/static_libs/vg_common/vg_common_json.c | 12 ++++++------ 5 files changed, 33 insertions(+), 30 deletions(-) diff --git a/src/lib/evas/canvas/efl_gfx_vg_value_provider.c b/src/lib/evas/canvas/efl_gfx_vg_value_provider.c index 3f49a8ddc0..c9fc15b3fb 100644 --- a/src/lib/evas/canvas/efl_gfx_vg_value_provider.c +++ b/src/lib/evas/canvas/efl_gfx_vg_value_provider.c @@ -8,7 +8,7 @@ _efl_gfx_vg_value_provider_efl_object_constructor(Eo *obj, { obj = efl_constructor(efl_super(obj, MY_CLASS)); - pd->flag = EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_NONE; + pd->flag = EFL_GFX_VG_VALUE_PROVIDER_FLAGS_NONE; return obj; } @@ -44,7 +44,7 @@ _efl_gfx_vg_value_provider_transform_set(Eo *obj EINA_UNUSED, Efl_Gfx_Vg_Value_P pd->m = malloc(sizeof (Eina_Matrix4)); if (!pd->m) return; } - pd->flag = pd->flag | EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_TRANSFORM_MATRIX; + pd->flag = pd->flag | EFL_GFX_VG_VALUE_PROVIDER_FLAGS_TRANSFORM_MATRIX; memcpy(pd->m, m, sizeof (Eina_Matrix4)); } else @@ -63,7 +63,7 @@ _efl_gfx_vg_value_provider_transform_get(const Eo *obj EINA_UNUSED, Efl_Gfx_Vg_V EOAPI void _efl_gfx_vg_value_provider_fill_color_set(Eo *obj EINA_UNUSED, Efl_Gfx_Vg_Value_Provider_Data *pd, int r, int g, int b, int a) { - pd->flag = pd->flag | EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_FILL_COLOR; + pd->flag = pd->flag | EFL_GFX_VG_VALUE_PROVIDER_FLAGS_FILL_COLOR; pd->fill.r = r; pd->fill.g = g; @@ -83,7 +83,7 @@ _efl_gfx_vg_value_provider_fill_color_get(const Eo *obj EINA_UNUSED, Efl_Gfx_Vg_ EOAPI void _efl_gfx_vg_value_provider_stroke_color_set(Eo *obj EINA_UNUSED, Efl_Gfx_Vg_Value_Provider_Data *pd, int r, int g, int b, int a) { - pd->flag = pd->flag | EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_STROKE_COLOR; + pd->flag = pd->flag | EFL_GFX_VG_VALUE_PROVIDER_FLAGS_STROKE_COLOR; pd->stroke.r = r; pd->stroke.g = g; @@ -105,7 +105,7 @@ _efl_gfx_vg_value_provider_stroke_width_set(Eo *obj EINA_UNUSED, Efl_Gfx_Vg_Valu { if (w < 0) return ; - pd->flag = pd->flag | EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_STROKE_WIDTH; + pd->flag = pd->flag | EFL_GFX_VG_VALUE_PROVIDER_FLAGS_STROKE_WIDTH; pd->stroke.width = w; } @@ -115,13 +115,9 @@ _efl_gfx_vg_value_provider_stroke_width_get(const Eo *obj EINA_UNUSED, Efl_Gfx_V return pd->stroke.width; } -/* This function only use in internal */ -Efl_Gfx_Vg_Value_Provider_Change_Flag -efl_gfx_vg_value_provider_changed_flag_get(Eo *obj) +EOAPI Efl_Gfx_Vg_Value_Provider_Flags +_efl_gfx_vg_value_provider_updated_get(const Eo *obj EINA_UNUSED, Efl_Gfx_Vg_Value_Provider_Data *pd) { - EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(obj, MY_CLASS), EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_NONE); - Efl_Gfx_Vg_Value_Provider_Data *pd = efl_data_scope_get(obj, MY_CLASS); - if (!pd) return EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_NONE; return pd->flag; } diff --git a/src/lib/evas/canvas/efl_gfx_vg_value_provider.eo b/src/lib/evas/canvas/efl_gfx_vg_value_provider.eo index 7712acd4a8..2fe2516aad 100644 --- a/src/lib/evas/canvas/efl_gfx_vg_value_provider.eo +++ b/src/lib/evas/canvas/efl_gfx_vg_value_provider.eo @@ -1,5 +1,16 @@ import eina_types; +enum @beta Efl.Gfx.Vg_Value_Provider_Flags { + [[ Property information applied to value provider. + @since 1.24 + ]] + none = 0, [[ Nothing changed.]] + fill_color = 1, [[ Fill color changed. ]] + stroke_color = 2, [[ Stroke color changed. ]] + stroke_width = 4, [[ Stroke width changed. ]] + transform_matrix = 8, [[ Transform matrix changed. ]] +} + class @beta Efl.Gfx.Vg.Value_Provider extends Efl.Object { [[Efl Vector Value Provider class. @@ -66,6 +77,14 @@ class @beta Efl.Gfx.Vg.Value_Provider extends Efl.Object width: double; [[ Width value of stroke. ]] } } + @property updated { + [[ Flag of properties updated in value provider object. ]] + get { + } + values { + flag: Efl.Gfx.Vg_Value_Provider_Flags; [[ Flag of the changed property. ]] + } + } } implements { Efl.Object.constructor; diff --git a/src/lib/evas/canvas/efl_gfx_vg_value_provider.h b/src/lib/evas/canvas/efl_gfx_vg_value_provider.h index cab00fc23d..afcf72eba9 100644 --- a/src/lib/evas/canvas/efl_gfx_vg_value_provider.h +++ b/src/lib/evas/canvas/efl_gfx_vg_value_provider.h @@ -8,7 +8,7 @@ struct _Efl_Gfx_Vg_Value_Provider_Data { Eo* obj; - Efl_Gfx_Vg_Value_Provider_Change_Flag flag; + Efl_Gfx_Vg_Value_Provider_Flags flag; Eina_Stringshare *keypath; diff --git a/src/lib/evas/canvas/evas_vg_private.h b/src/lib/evas/canvas/evas_vg_private.h index 811e1cb8b6..dcd5cb0356 100644 --- a/src/lib/evas/canvas/evas_vg_private.h +++ b/src/lib/evas/canvas/evas_vg_private.h @@ -9,8 +9,6 @@ typedef struct _Efl_Canvas_Vg_Gradient_Data Efl_Canvas_Vg_Gradient_Data; typedef struct _Efl_Canvas_Vg_Interpolation Efl_Canvas_Vg_Interpolation; typedef struct _Efl_Canvas_Vg_Object_Data Efl_Canvas_Vg_Object_Data; -typedef enum _Efl_Gfx_Vg_Value_Provider_Change_Flag Efl_Gfx_Vg_Value_Provider_Change_Flag; - typedef struct _Vg_Cache { Eina_Hash *vfd_hash; @@ -131,16 +129,6 @@ struct _Efl_Canvas_Vg_Interpolation Eina_Point_3D skew; }; -enum _Efl_Gfx_Vg_Value_Provider_Change_Flag -{ - EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_NONE = 0, - EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_FILL_COLOR = 2, - EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_STROKE_COLOR = 4, - EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_STROKE_WIDTH = 8, - EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_TRANSFORM_MATRIX = 16 -}; -Efl_Gfx_Vg_Value_Provider_Change_Flag efl_gfx_vg_value_provider_changed_flag_get(Eo *obj); - void evas_cache_vg_init(void); void evas_cache_vg_shutdown(void); Vg_Cache_Entry* evas_cache_vg_entry_resize(Vg_Cache_Entry *entry, int w, int h); diff --git a/src/static_libs/vg_common/vg_common_json.c b/src/static_libs/vg_common/vg_common_json.c index b9b2900ff8..dba226fabf 100644 --- a/src/static_libs/vg_common/vg_common_json.c +++ b/src/static_libs/vg_common/vg_common_json.c @@ -503,10 +503,10 @@ _value_provider_override(Vg_File_Data *vfd) EINA_LIST_FOREACH(vfd->vp_list, l, vp) { const char *keypath; - Efl_Gfx_Vg_Value_Provider_Change_Flag flag; - flag = efl_gfx_vg_value_provider_changed_flag_get(vp); + Efl_Gfx_Vg_Value_Provider_Flags flag; + flag = efl_gfx_vg_value_provider_updated_get(vp); - if (flag & EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_FILL_COLOR) + if (flag & EFL_GFX_VG_VALUE_PROVIDER_FLAGS_FILL_COLOR) { int r, g, b, a; r = g = b = a = 0; @@ -516,7 +516,7 @@ _value_provider_override(Vg_File_Data *vfd) lottie_animation_property_override(lot_anim, LOTTIE_ANIMATION_PROPERTY_FILLCOLOR, (char*)keypath, r / 255.0, g / 255.0, b / 255.0); lottie_animation_property_override(lot_anim, LOTTIE_ANIMATION_PROPERTY_FILLOPACITY, (char*)keypath, (a / 255.0) * 100.0); } - if (flag & EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_STROKE_COLOR) + if (flag & EFL_GFX_VG_VALUE_PROVIDER_FLAGS_STROKE_COLOR) { int r, g, b, a; r = g = b = a = 0; @@ -526,7 +526,7 @@ _value_provider_override(Vg_File_Data *vfd) lottie_animation_property_override(lot_anim, LOTTIE_ANIMATION_PROPERTY_STROKECOLOR, (char*)keypath, r / 255.0, g / 255.0, b / 255.0); lottie_animation_property_override(lot_anim, LOTTIE_ANIMATION_PROPERTY_STROKEOPACITY, (char*)keypath, (a / 255.0) * 100.0); } - if (flag & EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_STROKE_WIDTH) + if (flag & EFL_GFX_VG_VALUE_PROVIDER_FLAGS_STROKE_WIDTH) { double w; w = efl_gfx_vg_value_provider_stroke_width_get(vp); @@ -534,7 +534,7 @@ _value_provider_override(Vg_File_Data *vfd) lottie_animation_property_override(lot_anim, LOTTIE_ANIMATION_PROPERTY_STROKEWIDTH, (char*)keypath, w); } - if (flag & EFL_GFX_VG_VALUE_PROVIDER_CHANGE_FLAG_TRANSFORM_MATRIX) + if (flag & EFL_GFX_VG_VALUE_PROVIDER_FLAGS_TRANSFORM_MATRIX) { Eina_Matrix4 m, *orig_m; double tx, ty, sx, sy, radian_z, si, cs;