edje_embryo: add methods to handle event flags.
Summary: Add embryo methods that change the state whether Edje_Part will handle Evas_Event or not. Reviewers: Hermet, woohyun, cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2807 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
parent
be33840b6b
commit
815ebc0b0e
|
@ -135,6 +135,10 @@ native set_mouse_events (part_id, ev);
|
|||
native get_mouse_events (part_id);
|
||||
native set_repeat_events(part_id, rep);
|
||||
native get_repeat_events(part_id);
|
||||
native set_ignore_flags (part_id, flags);
|
||||
native get_ignore_flags (part_id);
|
||||
native set_mask_flags (part_id, flags);
|
||||
native get_mask_flags (part_id);
|
||||
native part_swallow (part_id, GROUP:str[]);
|
||||
|
||||
native external_param_get_int(id, param_name[]);
|
||||
|
|
|
@ -184,6 +184,10 @@
|
|||
* get_mouse_events(part_id)
|
||||
* set_repeat_events(part_id, rep)
|
||||
* get_repeat_events(part_id)
|
||||
* set_ignore_flags(part_id, flags)
|
||||
* get_ignore_flags(part_id)
|
||||
* set_mask_flags(part_id, flags)
|
||||
* get_mask_flags(part_id)
|
||||
* set_clip(part_id, clip_part_id)
|
||||
* get_clip(part_id)
|
||||
*
|
||||
|
@ -3552,6 +3556,96 @@ _edje_embryo_fn_get_repeat_events(Embryo_Program *ep, Embryo_Cell *params)
|
|||
|
||||
}
|
||||
|
||||
/* set_ignore_flags(part_id, flags) */
|
||||
static Embryo_Cell
|
||||
_edje_embryo_fn_set_ignore_flags(Embryo_Program *ep, Embryo_Cell *params)
|
||||
{
|
||||
int part_id = 0;
|
||||
Edje *ed;
|
||||
Edje_Real_Part *rp;
|
||||
|
||||
CHKPARAM(2);
|
||||
|
||||
part_id = params[1];
|
||||
if (part_id < 0) return 0;
|
||||
|
||||
ed = embryo_program_data_get(ep);
|
||||
rp = ed->table_parts[part_id % ed->table_parts_size];
|
||||
|
||||
if (rp)
|
||||
_edje_part_ignore_flags_set(ed, rp, params[2]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* get_ignore_flags(part_id) */
|
||||
static Embryo_Cell
|
||||
_edje_embryo_fn_get_ignore_flags(Embryo_Program *ep, Embryo_Cell *params)
|
||||
{
|
||||
int part_id = 0;
|
||||
Edje *ed;
|
||||
Edje_Real_Part *rp;
|
||||
|
||||
CHKPARAM(1);
|
||||
|
||||
part_id = params[1];
|
||||
if (part_id < 0) return 0;
|
||||
|
||||
ed = embryo_program_data_get(ep);
|
||||
rp = ed->table_parts[part_id % ed->table_parts_size];
|
||||
|
||||
if (rp)
|
||||
return (Embryo_Cell)_edje_var_int_get(ed, (int)_edje_part_ignore_flags_get(ed, rp));
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
/* set_mask_flags(part_id, flags) */
|
||||
static Embryo_Cell
|
||||
_edje_embryo_fn_set_mask_flags(Embryo_Program *ep, Embryo_Cell *params)
|
||||
{
|
||||
int part_id = 0;
|
||||
Edje *ed;
|
||||
Edje_Real_Part *rp;
|
||||
|
||||
CHKPARAM(2);
|
||||
|
||||
part_id = params[1];
|
||||
if (part_id < 0) return 0;
|
||||
|
||||
ed = embryo_program_data_get(ep);
|
||||
rp = ed->table_parts[part_id % ed->table_parts_size];
|
||||
|
||||
if (rp)
|
||||
_edje_part_mask_flags_set(ed, rp, params[2]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* get_mask_flags(part_id) */
|
||||
static Embryo_Cell
|
||||
_edje_embryo_fn_get_mask_flags(Embryo_Program *ep, Embryo_Cell *params)
|
||||
{
|
||||
int part_id = 0;
|
||||
Edje *ed;
|
||||
Edje_Real_Part *rp;
|
||||
|
||||
CHKPARAM(1);
|
||||
|
||||
part_id = params[1];
|
||||
if (part_id < 0) return 0;
|
||||
|
||||
ed = embryo_program_data_get(ep);
|
||||
rp = ed->table_parts[part_id % ed->table_parts_size];
|
||||
|
||||
if (rp)
|
||||
return (Embryo_Cell)_edje_var_int_get(ed, (int)_edje_part_mask_flags_get(ed, rp));
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
/* part_swallow(part_id, group_name) */
|
||||
static Embryo_Cell
|
||||
_edje_embryo_fn_part_swallow(Embryo_Program *ep, Embryo_Cell *params)
|
||||
|
@ -4285,6 +4379,10 @@ _edje_embryo_script_init(Edje_Part_Collection *edc)
|
|||
embryo_program_native_call_add(ep, "get_mouse_events", _edje_embryo_fn_get_mouse_events);
|
||||
embryo_program_native_call_add(ep, "set_repeat_events", _edje_embryo_fn_set_repeat_events);
|
||||
embryo_program_native_call_add(ep, "get_repeat_events", _edje_embryo_fn_get_repeat_events);
|
||||
embryo_program_native_call_add(ep, "set_ignore_flags", _edje_embryo_fn_set_ignore_flags);
|
||||
embryo_program_native_call_add(ep, "get_ignore_flags", _edje_embryo_fn_get_ignore_flags);
|
||||
embryo_program_native_call_add(ep, "set_mask_flags", _edje_embryo_fn_set_mask_flags);
|
||||
embryo_program_native_call_add(ep, "get_mask_flags", _edje_embryo_fn_get_mask_flags);
|
||||
|
||||
embryo_program_native_call_add(ep, "part_swallow", _edje_embryo_fn_part_swallow);
|
||||
|
||||
|
|
|
@ -2881,6 +2881,10 @@ Eina_Bool _edje_part_mouse_events_get(Edje *ed, Edje_Real_Part *rp);
|
|||
void _edje_part_mouse_events_set(Edje *ed, Edje_Real_Part *rp, Eina_Bool mouse_events);
|
||||
Eina_Bool _edje_part_repeat_events_get(Edje *ed, Edje_Real_Part *rp);
|
||||
void _edje_part_repeat_events_set(Edje *ed, Edje_Real_Part *rp, Eina_Bool repeat_events);
|
||||
Evas_Event_Flags _edje_part_ignore_flags_get(Edje *ed, Edje_Real_Part *rp);
|
||||
void _edje_part_ignore_flags_set(Edje *ed, Edje_Real_Part *rp, Evas_Event_Flags ignore_flags);
|
||||
Evas_Event_Flags _edje_part_mask_flags_get(Edje *ed, Edje_Real_Part *rp);
|
||||
void _edje_part_mask_flags_set(Edje *ed, Edje_Real_Part *rp, Evas_Event_Flags mask_flags);
|
||||
|
||||
#ifdef HAVE_LIBREMIX
|
||||
#include <remix/remix.h>
|
||||
|
|
|
@ -5765,4 +5765,36 @@ _edje_part_repeat_events_set(Edje *ed EINA_UNUSED, Edje_Real_Part *rp, Eina_Bool
|
|||
evas_object_repeat_events_set(rp->object, 0);
|
||||
}
|
||||
|
||||
Evas_Event_Flags
|
||||
_edje_part_ignore_flags_get(Edje *ed EINA_UNUSED, Edje_Real_Part *rp)
|
||||
{
|
||||
if (!rp) return EVAS_EVENT_FLAG_NONE;
|
||||
|
||||
return rp->part->ignore_flags;
|
||||
}
|
||||
|
||||
void
|
||||
_edje_part_ignore_flags_set(Edje *ed EINA_UNUSED, Edje_Real_Part *rp, Evas_Event_Flags ignore_flags)
|
||||
{
|
||||
if (!rp) return;
|
||||
|
||||
rp->part->ignore_flags = ignore_flags;
|
||||
}
|
||||
|
||||
Evas_Event_Flags
|
||||
_edje_part_mask_flags_get(Edje *ed EINA_UNUSED, Edje_Real_Part *rp)
|
||||
{
|
||||
if (!rp) return EVAS_EVENT_FLAG_NONE;
|
||||
|
||||
return rp->part->mask_flags;
|
||||
}
|
||||
|
||||
void
|
||||
_edje_part_mask_flags_set(Edje *ed EINA_UNUSED, Edje_Real_Part *rp, Evas_Event_Flags mask_flags)
|
||||
{
|
||||
if (!rp) return;
|
||||
|
||||
rp->part->mask_flags = mask_flags;
|
||||
}
|
||||
|
||||
/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
|
||||
|
|
Loading…
Reference in New Issue