summaryrefslogtreecommitdiff
path: root/src/lib/efl
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-12-12 17:00:39 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-12-13 13:47:48 +0900
commit1fdbb00e225ce9e98e7ec2e2ec554eb5d1e02e69 (patch)
treee61a7f9d422e3876aa97ff8f602898b1e8b576f2 /src/lib/efl
parent3136500fbeba47538ebdf95ead9ef49a4579db3d (diff)
downloadefl-1fdbb00e225ce9e98e7ec2e2ec554eb5d1e02e69.tar.gz
efl: Move VG-specific change event to efl.gfx.path
Diffstat (limited to 'src/lib/efl')
-rw-r--r--src/lib/efl/interfaces/efl_gfx.eo1
-rw-r--r--src/lib/efl/interfaces/efl_gfx_path.c34
-rw-r--r--src/lib/efl/interfaces/efl_gfx_path.eo2
-rw-r--r--src/lib/efl/interfaces/efl_gfx_shape.c5
-rw-r--r--src/lib/efl/interfaces/efl_gfx_types.eot9
5 files changed, 29 insertions, 22 deletions
diff --git a/src/lib/efl/interfaces/efl_gfx.eo b/src/lib/efl/interfaces/efl_gfx.eo
index 6b30097bf3..3d073c2fc7 100644
--- a/src/lib/efl/interfaces/efl_gfx.eo
+++ b/src/lib/efl/interfaces/efl_gfx.eo
@@ -146,6 +146,5 @@ interface Efl.Gfx {
hide; [[Object just became invisible.]]
move; [[Object was moved, its position during the event is the new one.]]
resize; [[Object was resized, its size during the event is the new one.]]
- changed; [[Object was changed]]
}
}
diff --git a/src/lib/efl/interfaces/efl_gfx_path.c b/src/lib/efl/interfaces/efl_gfx_path.c
index b744ef1e37..2901373ddc 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.c
+++ b/src/lib/efl/interfaces/efl_gfx_path.c
@@ -149,6 +149,7 @@ _efl_gfx_path_path_set(Eo *obj, Efl_Gfx_Path_Data *pd,
const Efl_Gfx_Path_Command *commands,
const double *points)
{
+ Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
Efl_Gfx_Path_Command *cmds;
double *pts;
unsigned int cmds_length = 0, pts_length = 0;
@@ -184,9 +185,9 @@ _efl_gfx_path_path_set(Eo *obj, Efl_Gfx_Path_Data *pd,
_efl_gfx_path_current_search(pd->commands, pd->points,
&pd->current.x, &pd->current.y,
&pd->current_ctrl.x, &pd->current_ctrl.y);
+
end:
- efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL);
- efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
+ efl_event_callback_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
}
EOLIAN static void
@@ -276,6 +277,7 @@ EOLIAN static Eina_Bool
_efl_gfx_path_interpolate(Eo *obj, Efl_Gfx_Path_Data *pd,
const Eo *from, const Eo *to, double pos_map)
{
+ Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
Efl_Gfx_Path_Data *from_pd, *to_pd;
Efl_Gfx_Path_Command *cmds;
double *pts;
@@ -339,8 +341,7 @@ _efl_gfx_path_interpolate(Eo *obj, Efl_Gfx_Path_Data *pd,
pd->current_ctrl.y = interpolate(from_pd->current_ctrl.y,
to_pd->current_ctrl.y, pos_map);
- efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL);
- efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
+ efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
return EINA_TRUE;
}
@@ -361,6 +362,8 @@ _efl_gfx_path_equal_commands(Eo *obj EINA_UNUSED,
EOLIAN static void
_efl_gfx_path_reset(Eo *obj, Efl_Gfx_Path_Data *pd)
{
+ Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
+
free(pd->commands);
pd->commands = NULL;
pd->commands_count = 0;
@@ -375,14 +378,14 @@ _efl_gfx_path_reset(Eo *obj, Efl_Gfx_Path_Data *pd)
pd->current_ctrl.y = 0;
pd->convex = EINA_FALSE;
- efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL);
- efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
+ efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
}
EOLIAN static void
_efl_gfx_path_append_move_to(Eo *obj, Efl_Gfx_Path_Data *pd,
double x, double y)
{
+ Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
double *offset_point;
if (!efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_MOVE_TO, pd, &offset_point))
@@ -394,14 +397,14 @@ _efl_gfx_path_append_move_to(Eo *obj, Efl_Gfx_Path_Data *pd,
pd->current.x = x;
pd->current.y = y;
- efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL);
- efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
+ efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
}
EOLIAN static void
_efl_gfx_path_append_line_to(Eo *obj, Efl_Gfx_Path_Data *pd,
double x, double y)
{
+ Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
double *offset_point;
if (!efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_LINE_TO, pd, &offset_point))
@@ -413,8 +416,7 @@ _efl_gfx_path_append_line_to(Eo *obj, Efl_Gfx_Path_Data *pd,
pd->current.x = x;
pd->current.y = y;
- efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL);
- efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
+ efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
}
EOLIAN static void
@@ -423,6 +425,7 @@ _efl_gfx_path_append_cubic_to(Eo *obj, Efl_Gfx_Path_Data *pd,
double ctrl_x1, double ctrl_y1,
double x, double y)
{
+ Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
double *offset_point;
if (!efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_CUBIC_TO,
@@ -441,8 +444,7 @@ _efl_gfx_path_append_cubic_to(Eo *obj, Efl_Gfx_Path_Data *pd,
pd->current_ctrl.x = ctrl_x1;
pd->current_ctrl.y = ctrl_y1;
- efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL);
- efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
+ efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
}
EOLIAN static void
@@ -1028,12 +1030,12 @@ _efl_gfx_path_append_arc(Eo *obj, Efl_Gfx_Path_Data *pd,
EOLIAN static void
_efl_gfx_path_append_close(Eo *obj, Efl_Gfx_Path_Data *pd)
{
+ Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
double *offset_point;
efl_gfx_path_grow(EFL_GFX_PATH_COMMAND_TYPE_CLOSE, pd, &offset_point);
- efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL);
- efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
+ efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
}
static void
@@ -1578,6 +1580,7 @@ _efl_gfx_path_append_svg_path(Eo *obj, Efl_Gfx_Path_Data *pd,
EOLIAN static void
_efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Path_Data *pd, const Eo *dup_from)
{
+ Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
Efl_Gfx_Path_Data *from;
if (obj == dup_from) return;
@@ -1588,8 +1591,7 @@ _efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Path_Data *pd, const Eo *dup_from)
_efl_gfx_path_path_set(obj, pd, from->commands, from->points);
- efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL);
- efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
+ efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
}
#include "interfaces/efl_gfx_path.eo.c"
diff --git a/src/lib/efl/interfaces/efl_gfx_path.eo b/src/lib/efl/interfaces/efl_gfx_path.eo
index 4b8961dd74..b36bf090dd 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.eo
+++ b/src/lib/efl/interfaces/efl_gfx_path.eo
@@ -284,6 +284,6 @@ mixin Efl.Gfx.Path
}
}
events {
- changed; [[Graphics path was changed.]]
+ changed: Efl.Gfx.Path.Change_Event; [[Graphics path was changed.]]
}
}
diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c b/src/lib/efl/interfaces/efl_gfx_shape.c
index 00bad6677f..3e88e8603f 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -161,9 +161,10 @@ _efl_gfx_shape_stroke_color_get(Eo *obj EINA_UNUSED, Efl_Gfx_Shape_Data *pd,
EOLIAN static void
_efl_gfx_shape_stroke_width_set(Eo *obj, Efl_Gfx_Shape_Data *pd, double w)
{
+ Efl_Gfx_Path_Change_Event ev = { EFL_GFX_CHANGE_FLAG_PATH };
+
pd->public.stroke.width = w;
- efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL);
- efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
+ efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, &ev);
}
EOLIAN static double
diff --git a/src/lib/efl/interfaces/efl_gfx_types.eot b/src/lib/efl/interfaces/efl_gfx_types.eot
index 7c6c43ec18..1b3598a3cf 100644
--- a/src/lib/efl/interfaces/efl_gfx_types.eot
+++ b/src/lib/efl/interfaces/efl_gfx_types.eot
@@ -146,13 +146,18 @@ enum Efl.Gfx.Border_Fill_Mode
solid = 2 [[Image's center region is to be made solid, even if it has transparency on it]]
}
-enum Efl.Gfx.Change.Flag
+enum Efl.Gfx.Change_Flag
{
[[What property got changed for this object @since 1.18]]
none = 0x0, [[No change]]
matrix = 0x1, [[matrix got changed]]
path = 0x2, [[path got changes]]
- all = -1 [[all property got changed]]
+ fill = 0x4, [[coloring or fill information changed, not geometry]]
+ all = 0xffff [[all properties got changed]]
+}
+
+struct Efl.Gfx.Path.Change_Event {
+ what: Efl.Gfx.Change_Flag; [[Indicates what changed.]]
}
struct Efl.Gfx.Event.Render_Post