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
This commit is contained in:
junsu choi 2020-06-01 13:21:04 +09:00 committed by Hermet Park
parent 0123c8b6fc
commit b981667d52
5 changed files with 33 additions and 30 deletions

View File

@ -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;
}

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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;