forked from enlightenment/efl
fix line draw bug - add event pass through flag for objects
SVN revision: 3219
This commit is contained in:
parent
3a0a2fe1fa
commit
eb7ec35dbc
|
@ -152,6 +152,8 @@ struct _Evas_Object_Any
|
|||
|
||||
int delete_me;
|
||||
|
||||
int pass_events;
|
||||
|
||||
void (*object_free) (Evas_Object _o);
|
||||
void (*object_renderer_data_free) (Evas _e, Evas_Object _o);
|
||||
|
||||
|
@ -270,6 +272,7 @@ void evas_set_gradient(Evas e, Evas_Object o, Evas_Gradient grad);
|
|||
void evas_set_angle(Evas e, Evas_Object o, double angle);
|
||||
void evas_set_zoom_scale(Evas e, Evas_Object o, int scale);
|
||||
void evas_set_line_xy(Evas e, Evas_Object o, double x1, double y1, double x2, double y2);
|
||||
void evas_set_pass_events(Evas e, Evas_Object o, int pass_events);
|
||||
|
||||
/* cache settings for performance */
|
||||
void evas_set_font_cache(Evas e, int size);
|
||||
|
|
|
@ -32,7 +32,7 @@ _evas_highest_object_at_point(Evas e, int x, int y)
|
|||
Evas_Object ob;
|
||||
|
||||
ob = ll->data;
|
||||
if (ob->current.visible)
|
||||
if ((ob->current.visible) && (!ob->pass_events))
|
||||
{
|
||||
if (_evas_point_in_object(e, ob, x, y))
|
||||
o = ob;
|
||||
|
@ -58,7 +58,7 @@ _evas_objects_at_point(Evas e, int x, int y)
|
|||
Evas_Object ob;
|
||||
|
||||
ob = ll->data;
|
||||
if (ob->current.visible)
|
||||
if ((ob->current.visible) && (!ob->pass_events))
|
||||
{
|
||||
if (_evas_point_in_object(e, ll->data, x, y))
|
||||
objs = evas_list_prepend(objs, ll->data);
|
||||
|
|
|
@ -416,6 +416,7 @@ void __evas_imlib_line_draw(Display *disp, Window win,
|
|||
else x = x2;
|
||||
if (y1 < y2) y = y1;
|
||||
else y = y2;
|
||||
w++; h++;
|
||||
for(l = drawable_list; l; l = l->next)
|
||||
{
|
||||
Evas_Imlib_Drawable *dr;
|
||||
|
|
|
@ -138,6 +138,12 @@ evas_set_zoom_scale(Evas e, Evas_Object o, int scale)
|
|||
e->changed = 1;
|
||||
}
|
||||
|
||||
void
|
||||
evas_set_pass_events(Evas e, Evas_Object o, int pass_events)
|
||||
{
|
||||
o->pass_events = 1;
|
||||
}
|
||||
|
||||
void
|
||||
evas_set_font_cache(Evas e, int size)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue