forked from enlightenment/efl
Edje: adding support for ignore_flags.
Parts can choose to ignore Events with certain flags in event_flags. The default value is to accept all events. The syntax for this is specifying in the part: ignore_flags: ON_HOLD; I've tried to update Edje_Edit bits also. SVN revision: 34170
This commit is contained in:
parent
a43c7ca786
commit
ea56c61eba
|
@ -83,6 +83,7 @@ static void st_collections_group_parts_part_type(void);
|
||||||
static void st_collections_group_parts_part_effect(void);
|
static void st_collections_group_parts_part_effect(void);
|
||||||
static void st_collections_group_parts_part_mouse_events(void);
|
static void st_collections_group_parts_part_mouse_events(void);
|
||||||
static void st_collections_group_parts_part_repeat_events(void);
|
static void st_collections_group_parts_part_repeat_events(void);
|
||||||
|
static void st_collections_group_parts_part_ignore_flags(void);
|
||||||
static void st_collections_group_parts_part_pointer_mode(void);
|
static void st_collections_group_parts_part_pointer_mode(void);
|
||||||
static void st_collections_group_parts_part_precise_is_inside(void);
|
static void st_collections_group_parts_part_precise_is_inside(void);
|
||||||
static void st_collections_group_parts_part_use_alternate_font_metrics(void);
|
static void st_collections_group_parts_part_use_alternate_font_metrics(void);
|
||||||
|
@ -222,6 +223,7 @@ New_Statement_Handler statement_handlers[] =
|
||||||
{"collections.group.parts.part.effect", st_collections_group_parts_part_effect},
|
{"collections.group.parts.part.effect", st_collections_group_parts_part_effect},
|
||||||
{"collections.group.parts.part.mouse_events", st_collections_group_parts_part_mouse_events},
|
{"collections.group.parts.part.mouse_events", st_collections_group_parts_part_mouse_events},
|
||||||
{"collections.group.parts.part.repeat_events", st_collections_group_parts_part_repeat_events},
|
{"collections.group.parts.part.repeat_events", st_collections_group_parts_part_repeat_events},
|
||||||
|
{"collections.group.parts.part.ignore_flags", st_collections_group_parts_part_ignore_flags},
|
||||||
{"collections.group.parts.part.pointer_mode", st_collections_group_parts_part_pointer_mode},
|
{"collections.group.parts.part.pointer_mode", st_collections_group_parts_part_pointer_mode},
|
||||||
{"collections.group.parts.part.precise_is_inside", st_collections_group_parts_part_precise_is_inside},
|
{"collections.group.parts.part.precise_is_inside", st_collections_group_parts_part_precise_is_inside},
|
||||||
{"collections.group.parts.part.use_alternate_font_metrics", st_collections_group_parts_part_use_alternate_font_metrics},
|
{"collections.group.parts.part.use_alternate_font_metrics", st_collections_group_parts_part_use_alternate_font_metrics},
|
||||||
|
@ -1382,6 +1384,7 @@ st_collections_group_data_item(void)
|
||||||
type: IMAGE;
|
type: IMAGE;
|
||||||
mouse_events: 1;
|
mouse_events: 1;
|
||||||
repeat_events: 0;
|
repeat_events: 0;
|
||||||
|
ignore_flags: NONE;
|
||||||
clip_to: "anotherpart";
|
clip_to: "anotherpart";
|
||||||
source: "groupname";
|
source: "groupname";
|
||||||
pointer_mode: AUTOGRAB;
|
pointer_mode: AUTOGRAB;
|
||||||
|
@ -1412,6 +1415,7 @@ ob_collections_group_parts_part(void)
|
||||||
ep->type = EDJE_PART_TYPE_IMAGE;
|
ep->type = EDJE_PART_TYPE_IMAGE;
|
||||||
ep->mouse_events = 1;
|
ep->mouse_events = 1;
|
||||||
ep->repeat_events = 0;
|
ep->repeat_events = 0;
|
||||||
|
ep->ignore_flags = EVAS_EVENT_FLAG_NONE;
|
||||||
ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB;
|
ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB;
|
||||||
ep->precise_is_inside = 0;
|
ep->precise_is_inside = 0;
|
||||||
ep->use_alternate_font_metrics = 0;
|
ep->use_alternate_font_metrics = 0;
|
||||||
|
@ -1551,6 +1555,37 @@ st_collections_group_parts_part_repeat_events(void)
|
||||||
ep->repeat_events = parse_bool(0);
|
ep->repeat_events = parse_bool(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@page edcref
|
||||||
|
@property
|
||||||
|
ignore_flags
|
||||||
|
@parameters
|
||||||
|
[FLAG] ...
|
||||||
|
@effect
|
||||||
|
Specifies whether events with the given flags should be ignored,
|
||||||
|
i.e., will not have the signals emitted to the parts. Multiple flags
|
||||||
|
must be separated by spaces, the effect will be ignoring all events
|
||||||
|
with one of the flags specified. Possible flags:
|
||||||
|
@li NONE (default value, no event will be ignored)
|
||||||
|
@li ON_HOLD
|
||||||
|
@endproperty
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
st_collections_group_parts_part_ignore_flags(void)
|
||||||
|
{
|
||||||
|
Edje_Part_Collection *pc;
|
||||||
|
Edje_Part *ep;
|
||||||
|
|
||||||
|
check_min_arg_count(1);
|
||||||
|
|
||||||
|
pc = evas_list_data(evas_list_last(edje_collections));
|
||||||
|
ep = evas_list_data(evas_list_last(pc->parts));
|
||||||
|
ep->ignore_flags = parse_flags(0,
|
||||||
|
"NONE", EVAS_EVENT_FLAG_NONE,
|
||||||
|
"ON_HOLD", EVAS_EVENT_FLAG_ON_HOLD,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@page edcref
|
@page edcref
|
||||||
@property
|
@property
|
||||||
|
|
|
@ -383,6 +383,22 @@ edje_edit_part_repeat_events_set(
|
||||||
* If set to 0 the events received will not propagate to other parts.*/
|
* If set to 0 the events received will not propagate to other parts.*/
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**Get ignore_flags for part.*/
|
||||||
|
EAPI Evas_Event_Flags ///@return event flags ignored
|
||||||
|
edje_edit_part_ignore_flags_get(
|
||||||
|
Evas_Object *obj, ///< The edje object
|
||||||
|
const char *part ///< The name of the part
|
||||||
|
);
|
||||||
|
|
||||||
|
/**Set repeat_events for part. */
|
||||||
|
EAPI void
|
||||||
|
edje_edit_part_ignore_flags_set(
|
||||||
|
Evas_Object *obj, ///< The edje object
|
||||||
|
const char *part, ///< The name of the part
|
||||||
|
Evas_Event_Flags ignore_flags ///< event flags to be ignored
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
//@}
|
//@}
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/************************** STATES API ************************************/
|
/************************** STATES API ************************************/
|
||||||
|
|
|
@ -34,7 +34,7 @@ _edje_mouse_in_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
ev = event_info;
|
ev = event_info;
|
||||||
ed = data;
|
ed = data;
|
||||||
rp = evas_object_data_get(obj, "real_part");
|
rp = evas_object_data_get(obj, "real_part");
|
||||||
if (!rp) return;
|
if (!rp || !(rp->part->ignore_flags & ev->event_flags)) return;
|
||||||
_edje_emit(ed, "mouse,in", rp->part->name);
|
_edje_emit(ed, "mouse,in", rp->part->name);
|
||||||
return;
|
return;
|
||||||
e = NULL;
|
e = NULL;
|
||||||
|
@ -50,7 +50,7 @@ _edje_mouse_out_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
ev = event_info;
|
ev = event_info;
|
||||||
ed = data;
|
ed = data;
|
||||||
rp = evas_object_data_get(obj, "real_part");
|
rp = evas_object_data_get(obj, "real_part");
|
||||||
if (!rp) return;
|
if (!rp || !(rp->part->ignore_flags & ev->event_flags)) return;
|
||||||
_edje_emit(ed, "mouse,out", rp->part->name);
|
_edje_emit(ed, "mouse,out", rp->part->name);
|
||||||
return;
|
return;
|
||||||
e = NULL;
|
e = NULL;
|
||||||
|
@ -63,20 +63,28 @@ _edje_mouse_down_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
Edje *ed;
|
Edje *ed;
|
||||||
Edje_Real_Part *rp;
|
Edje_Real_Part *rp;
|
||||||
char buf[256];
|
char buf[256];
|
||||||
|
int ignored;
|
||||||
|
|
||||||
ev = event_info;
|
ev = event_info;
|
||||||
ed = data;
|
ed = data;
|
||||||
rp = evas_object_data_get(obj, "real_part");
|
rp = evas_object_data_get(obj, "real_part");
|
||||||
if (!rp) return;
|
if (!rp) return;
|
||||||
if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK)
|
|
||||||
snprintf(buf, sizeof(buf), "mouse,down,%i,triple", ev->button);
|
ignored = rp->part->ignore_flags & ev->event_flags;
|
||||||
else if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
|
|
||||||
snprintf(buf, sizeof(buf), "mouse,down,%i,double", ev->button);
|
|
||||||
else
|
|
||||||
snprintf(buf, sizeof(buf), "mouse,down,%i", ev->button);
|
|
||||||
_edje_ref(ed);
|
_edje_ref(ed);
|
||||||
_edje_freeze(ed);
|
_edje_freeze(ed);
|
||||||
_edje_emit(ed, buf, rp->part->name);
|
|
||||||
|
if (!ignored)
|
||||||
|
{
|
||||||
|
if (ev->flags & EVAS_BUTTON_TRIPLE_CLICK)
|
||||||
|
snprintf(buf, sizeof(buf), "mouse,down,%i,triple", ev->button);
|
||||||
|
else if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
|
||||||
|
snprintf(buf, sizeof(buf), "mouse,down,%i,double", ev->button);
|
||||||
|
else
|
||||||
|
snprintf(buf, sizeof(buf), "mouse,down,%i", ev->button);
|
||||||
|
_edje_emit(ed, buf, rp->part->name);
|
||||||
|
}
|
||||||
|
|
||||||
if (rp->events_to)
|
if (rp->events_to)
|
||||||
{
|
{
|
||||||
|
@ -101,8 +109,11 @@ _edje_mouse_down_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
events->y = ev->canvas.y - y - events->h / 2;
|
events->y = ev->canvas.y - y - events->h / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "mouse,down,%i", ev->button);
|
if (!ignored)
|
||||||
_edje_emit(ed, buf, events->part->name);
|
{
|
||||||
|
snprintf(buf, sizeof(buf), "mouse,down,%i", ev->button);
|
||||||
|
_edje_emit(ed, buf, events->part->name);
|
||||||
|
}
|
||||||
ed->dirty = 1;
|
ed->dirty = 1;
|
||||||
}
|
}
|
||||||
_edje_recalc(ed);
|
_edje_recalc(ed);
|
||||||
|
@ -123,7 +134,8 @@ _edje_mouse_down_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
{
|
{
|
||||||
rp->drag.val.x = dx;
|
rp->drag.val.x = dx;
|
||||||
rp->drag.val.y = dy;
|
rp->drag.val.y = dy;
|
||||||
_edje_emit(ed, "drag", rp->part->name);
|
if (!ignored)
|
||||||
|
_edje_emit(ed, "drag", rp->part->name);
|
||||||
ed->dirty = 1;
|
ed->dirty = 1;
|
||||||
rp->drag.need_reset = 1;
|
rp->drag.need_reset = 1;
|
||||||
_edje_recalc(ed);
|
_edje_recalc(ed);
|
||||||
|
@ -139,7 +151,8 @@ _edje_mouse_down_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
rp->drag.down.x = ev->canvas.x;
|
rp->drag.down.x = ev->canvas.x;
|
||||||
if (rp->part->dragable.y)
|
if (rp->part->dragable.y)
|
||||||
rp->drag.down.y = ev->canvas.y;
|
rp->drag.down.y = ev->canvas.y;
|
||||||
_edje_emit(ed, "drag,start", rp->part->name);
|
if (!ignored)
|
||||||
|
_edje_emit(ed, "drag,start", rp->part->name);
|
||||||
}
|
}
|
||||||
rp->drag.down.count++;
|
rp->drag.down.count++;
|
||||||
}
|
}
|
||||||
|
@ -162,22 +175,32 @@ _edje_mouse_up_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
Edje *ed;
|
Edje *ed;
|
||||||
Edje_Real_Part *rp;
|
Edje_Real_Part *rp;
|
||||||
char buf[256];
|
char buf[256];
|
||||||
|
int ignored;
|
||||||
|
|
||||||
ev = event_info;
|
ev = event_info;
|
||||||
ed = data;
|
ed = data;
|
||||||
rp = evas_object_data_get(obj, "real_part");
|
rp = evas_object_data_get(obj, "real_part");
|
||||||
if (!rp) return;
|
if (!rp) return;
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "mouse,up,%i", ev->button);
|
ignored = rp->part->ignore_flags & ev->event_flags;
|
||||||
|
|
||||||
_edje_ref(ed);
|
_edje_ref(ed);
|
||||||
_edje_freeze(ed);
|
_edje_freeze(ed);
|
||||||
_edje_emit(ed, buf, rp->part->name);
|
|
||||||
|
if (!ignored)
|
||||||
|
{
|
||||||
|
snprintf(buf, sizeof(buf), "mouse,up,%i", ev->button);
|
||||||
|
_edje_emit(ed, buf, rp->part->name);
|
||||||
|
}
|
||||||
|
|
||||||
if (rp->events_to)
|
if (rp->events_to)
|
||||||
{
|
{
|
||||||
rp = rp->events_to;
|
rp = rp->events_to;
|
||||||
snprintf(buf, sizeof(buf), "mouse,up,%i", ev->button);
|
if (!ignored)
|
||||||
_edje_emit(ed, buf, rp->part->name);
|
{
|
||||||
|
snprintf(buf, sizeof(buf), "mouse,up,%i", ev->button);
|
||||||
|
_edje_emit(ed, buf, rp->part->name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((rp->part->dragable.x) || (rp->part->dragable.y))
|
if ((rp->part->dragable.x) || (rp->part->dragable.y))
|
||||||
|
@ -189,11 +212,12 @@ _edje_mouse_up_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
{
|
{
|
||||||
rp->drag.need_reset = 1;
|
rp->drag.need_reset = 1;
|
||||||
ed->dirty = 1;
|
ed->dirty = 1;
|
||||||
_edje_emit(ed, "drag,stop", rp->part->name);
|
if (!ignored)
|
||||||
|
_edje_emit(ed, "drag,stop", rp->part->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((rp->still_in) && (rp->clicked_button == ev->button))
|
if ((rp->still_in) && (rp->clicked_button == ev->button) && (!ignored))
|
||||||
{
|
{
|
||||||
snprintf(buf, sizeof(buf), "mouse,clicked,%i", ev->button);
|
snprintf(buf, sizeof(buf), "mouse,clicked,%i", ev->button);
|
||||||
_edje_emit(ed, buf, rp->part->name);
|
_edje_emit(ed, buf, rp->part->name);
|
||||||
|
@ -214,6 +238,7 @@ _edje_mouse_move_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
Evas_Event_Mouse_Move *ev;
|
Evas_Event_Mouse_Move *ev;
|
||||||
Edje *ed;
|
Edje *ed;
|
||||||
Edje_Real_Part *rp;
|
Edje_Real_Part *rp;
|
||||||
|
int ignored;
|
||||||
|
|
||||||
ev = event_info;
|
ev = event_info;
|
||||||
ed = data;
|
ed = data;
|
||||||
|
@ -221,8 +246,11 @@ _edje_mouse_move_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
if (!rp) return;
|
if (!rp) return;
|
||||||
if (rp->events_to) rp = rp->events_to;
|
if (rp->events_to) rp = rp->events_to;
|
||||||
|
|
||||||
|
ignored = rp->part->ignore_flags & ev->event_flags;
|
||||||
|
|
||||||
_edje_ref(ed);
|
_edje_ref(ed);
|
||||||
_edje_emit(ed, "mouse,move", rp->part->name);
|
if (!ignored)
|
||||||
|
_edje_emit(ed, "mouse,move", rp->part->name);
|
||||||
|
|
||||||
if (rp->still_in)
|
if (rp->still_in)
|
||||||
{
|
{
|
||||||
|
@ -267,7 +295,8 @@ _edje_mouse_move_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
{
|
{
|
||||||
rp->drag.val.x = dx;
|
rp->drag.val.x = dx;
|
||||||
rp->drag.val.y = dy;
|
rp->drag.val.y = dy;
|
||||||
_edje_emit(ed, "drag", rp->part->name);
|
if (!ignored)
|
||||||
|
_edje_emit(ed, "drag", rp->part->name);
|
||||||
ed->dirty = 1;
|
ed->dirty = 1;
|
||||||
_edje_recalc(ed);
|
_edje_recalc(ed);
|
||||||
}
|
}
|
||||||
|
@ -290,7 +319,8 @@ _edje_mouse_wheel_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
|
||||||
ev = event_info;
|
ev = event_info;
|
||||||
ed = data;
|
ed = data;
|
||||||
rp = evas_object_data_get(obj, "real_part");
|
rp = evas_object_data_get(obj, "real_part");
|
||||||
if (!rp) return;
|
if (!rp || !(rp->part->ignore_flags & ev->event_flags)) return;
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "mouse,wheel,%i,%i", ev->direction, (ev->z < 0) ? (-1) : (1));
|
snprintf(buf, sizeof(buf), "mouse,wheel,%i,%i", ev->direction, (ev->z < 0) ? (-1) : (1));
|
||||||
_edje_emit(ed, buf, rp->part->name);
|
_edje_emit(ed, buf, rp->part->name);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -358,6 +358,7 @@ _edje_edd_setup(void)
|
||||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "effect", effect, EET_T_CHAR);
|
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "effect", effect, EET_T_CHAR);
|
||||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "mouse_events", mouse_events, EET_T_CHAR);
|
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "mouse_events", mouse_events, EET_T_CHAR);
|
||||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "repeat_events", repeat_events, EET_T_CHAR);
|
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "repeat_events", repeat_events, EET_T_CHAR);
|
||||||
|
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "ignore_flags", ignore_flags, EET_T_INT);
|
||||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "pointer_mode", pointer_mode, EET_T_CHAR);
|
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "pointer_mode", pointer_mode, EET_T_CHAR);
|
||||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "precise_is_inside", precise_is_inside, EET_T_CHAR);
|
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "precise_is_inside", precise_is_inside, EET_T_CHAR);
|
||||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "clip_to_id", clip_to_id, EET_T_INT);
|
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "clip_to_id", clip_to_id, EET_T_INT);
|
||||||
|
|
|
@ -921,6 +921,7 @@ edje_edit_part_add(Evas_Object *obj, const char* name, unsigned char type)
|
||||||
ep->name = evas_stringshare_add(name);
|
ep->name = evas_stringshare_add(name);
|
||||||
ep->mouse_events = 1;
|
ep->mouse_events = 1;
|
||||||
ep->repeat_events = 0;
|
ep->repeat_events = 0;
|
||||||
|
ep->ignore_flags = EVAS_EVENT_FLAG_NONE;
|
||||||
ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB;
|
ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB;
|
||||||
ep->precise_is_inside = 0;
|
ep->precise_is_inside = 0;
|
||||||
ep->use_alternate_font_metrics = 0;
|
ep->use_alternate_font_metrics = 0;
|
||||||
|
@ -1299,6 +1300,23 @@ edje_edit_part_repeat_events_set(Evas_Object *obj, const char *part, unsigned ch
|
||||||
evas_object_repeat_events_set(rp->object, 0);
|
evas_object_repeat_events_set(rp->object, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI Evas_Event_Flags
|
||||||
|
edje_edit_part_ignore_flags_get(Evas_Object *obj, const char *part)
|
||||||
|
{
|
||||||
|
GET_RP_OR_RETURN(0);
|
||||||
|
return rp->part->ignore_flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
edje_edit_part_ignore_flags_set(Evas_Object *obj, const char *part, Evas_Event_Flags ignore_flags)
|
||||||
|
{
|
||||||
|
GET_RP_OR_RETURN();
|
||||||
|
if (!rp->object) return;
|
||||||
|
printf("Set ignore_flags for part: %s [%#x]\n", part, ignore_flags);
|
||||||
|
|
||||||
|
rp->part->ignore_flags = ignore_flags;
|
||||||
|
}
|
||||||
|
|
||||||
EAPI const char *
|
EAPI const char *
|
||||||
edje_edit_part_source_get(Evas_Object *obj, const char *part)
|
edje_edit_part_source_get(Evas_Object *obj, const char *part)
|
||||||
{
|
{
|
||||||
|
|
|
@ -486,6 +486,7 @@ struct _Edje_Part
|
||||||
unsigned char effect; /* 0 = plain... */
|
unsigned char effect; /* 0 = plain... */
|
||||||
unsigned char mouse_events; /* it will affect/respond to mouse events */
|
unsigned char mouse_events; /* it will affect/respond to mouse events */
|
||||||
unsigned char repeat_events; /* it will repeat events to objects below */
|
unsigned char repeat_events; /* it will repeat events to objects below */
|
||||||
|
Evas_Event_Flags ignore_flags;
|
||||||
unsigned char precise_is_inside;
|
unsigned char precise_is_inside;
|
||||||
unsigned char use_alternate_font_metrics;
|
unsigned char use_alternate_font_metrics;
|
||||||
char pointer_mode;
|
char pointer_mode;
|
||||||
|
|
Loading…
Reference in New Issue