if (((evas_object_clippers_is_visible(obj)) ||
(obj->mouse_grabbed)) &&
(!evas_event_passes_through(obj)) &&
+ (!evas_event_freezes_through(obj)) &&
(!obj->clip.clipees))
{
if ((px != x) || (py != y))
(obj->mouse_grabbed)) &&
(eina_list_data_find(ins, obj)) &&
(!evas_event_passes_through(obj)) &&
+ (!evas_event_freezes_through(obj)) &&
(!obj->clip.clipees) &&
((!obj->precise_is_inside) ||
(evas_object_is_inside(obj, x, y))))
if (((evas_object_clippers_is_visible(obj)) ||
(obj->mouse_grabbed)) &&
(!evas_event_passes_through(obj)) &&
+ (!evas_event_freezes_through(obj)) &&
(!obj->clip.clipees))
{
ev.cur.canvas.x = x;
(obj->mouse_grabbed)) &&
(eina_list_data_find(ins, obj)) &&
(!evas_event_passes_through(obj)) &&
+ (!evas_event_freezes_through(obj)) &&
(!obj->clip.clipees) &&
((!obj->precise_is_inside) ||
(evas_object_is_inside(obj, x, y))))
DATA32 magic;
struct {
struct {
- int x1, y1, x2, y2;
- struct {
- Evas_Coord w, h;
- } object;
+ int x1, y1, x2, y2;
+ struct {
+ Evas_Coord w, h;
+ } object;
} cache;
Evas_Coord x1, y1, x2, y2;
} cur, prev;
(x2 == o->cur.x2) && (y2 == o->cur.y2)) return;
if (obj->layer->evas->events_frozen <= 0)
{
- if (!evas_event_passes_through(obj))
- was = evas_object_is_in_output_rect(obj,
- obj->layer->evas->pointer.x,
- obj->layer->evas->pointer.y, 1, 1);
+ if (!evas_event_passes_through(obj) &&
+ !evas_event_freezes_through(obj))
+ was = evas_object_is_in_output_rect(obj,
+ obj->layer->evas->pointer.x,
+ obj->layer->evas->pointer.y,
+ 1, 1);
}
if (x1 < x2)
{
- min_x = x1;
- max_x = x2;
+ min_x = x1;
+ max_x = x2;
}
else
{
- min_x = x2;
- max_x = x1;
+ min_x = x2;
+ max_x = x1;
}
if (y1 < y2)
{
- min_y = y1;
- max_y = y2;
+ min_y = y1;
+ max_y = y2;
}
else
{
- min_y = y2;
- max_y = y1;
+ min_y = y2;
+ max_y = y1;
}
obj->cur.geometry.x = min_x;
obj->cur.geometry.y = min_y;
evas_object_clip_dirty(obj);
if (obj->layer->evas->events_frozen <= 0)
{
- is = evas_object_is_in_output_rect(obj,
- obj->layer->evas->pointer.x,
- obj->layer->evas->pointer.y, 1, 1);
- if (!evas_event_passes_through(obj))
- {
- if ((is ^ was) && obj->cur.visible)
- evas_event_feed_mouse_move(obj->layer->evas,
- obj->layer->evas->pointer.x,
- obj->layer->evas->pointer.y,
- obj->layer->evas->last_timestamp,
- NULL);
- }
+ is = evas_object_is_in_output_rect(obj,
+ obj->layer->evas->pointer.x,
+ obj->layer->evas->pointer.y, 1, 1);
+ if (!evas_event_passes_through(obj) &&
+ !evas_event_freezes_through(obj))
+ {
+ if ((is ^ was) && obj->cur.visible)
+ evas_event_feed_mouse_move(obj->layer->evas,
+ obj->layer->evas->pointer.x,
+ obj->layer->evas->pointer.y,
+ obj->layer->evas->last_timestamp,
+ NULL);
+ }
}
evas_object_inform_call_move(obj);
evas_object_inform_call_resize(obj);
EAPI void
evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
{
- int is, was = 0, pass = 0;
+ int is, was = 0, pass = 0, freeze = 0;
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return;
if (obj->layer->evas->events_frozen <= 0)
{
pass = evas_event_passes_through(obj);
- if (!pass)
+ freeze = evas_event_freezes_through(obj);
+ if ((!pass) && (!freeze))
was = evas_object_is_in_output_rect(obj,
obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y, 1, 1);
EAPI void
evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
{
- int is, was = 0, pass = 0;
+ int is, was = 0, pass = 0, freeze =0;
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return;
if (obj->layer->evas->events_frozen <= 0)
{
pass = evas_event_passes_through(obj);
- if (!pass)
+ freeze = evas_event_freezes_through(obj);
+ if ((!pass) && (!freeze))
was = evas_object_is_in_output_rect(obj,
obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y, 1, 1);
{
evas_object_clip_across_clippees_check(obj);
evas_object_recalc_clippees(obj);
- if (!evas_event_passes_through(obj))
+ if ((!evas_event_passes_through(obj)) &&
+ (!evas_event_freezes_through(obj)))
{
if (!obj->smart.smart)
{
{
evas_object_clip_across_clippees_check(obj);
evas_object_recalc_clippees(obj);
- if (!evas_event_passes_through(obj))
+ if ((!evas_event_passes_through(obj)) &&
+ (!evas_event_freezes_through(obj)))
{
if ((!obj->smart.smart) ||
((obj->cur.map) && (obj->cur.map->count == 4) && (obj->cur.usemap)))
MAGIC_CHECK(o, Evas_Object_Polygon, MAGIC_OBJ_POLYGON);
return;
MAGIC_CHECK_END();
+
if (obj->layer->evas->events_frozen <= 0)
{
- if (!evas_event_passes_through(obj))
+ if (!evas_event_passes_through(obj) &&
+ !evas_event_freezes_through(obj))
was = evas_object_is_in_output_rect(obj,
obj->layer->evas->pointer.x,
- obj->layer->evas->pointer.y, 1, 1);
+ obj->layer->evas->pointer.y,
+ 1, 1);
}
-
if (!o->points)
{
o->offset.x = obj->cur.geometry.x;
is = evas_object_is_in_output_rect(obj,
obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y, 1, 1);
- if (!evas_event_passes_through(obj))
+ if (!evas_event_passes_through(obj) &&
+ !evas_event_freezes_through(obj) )
{
if ((is ^ was) && obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas,
evas_object_text_font_set(Evas_Object *obj, const char *font, Evas_Font_Size size)
{
Evas_Object_Text *o;
- int is, was = 0, pass = 0;
+ int is, was = 0, pass = 0, freeze = 0;
Evas_Font_Description *fdesc;
if ((!font) || (size <= 0)) return;
if (obj->layer->evas->events_frozen <= 0)
{
- pass = evas_event_passes_through(obj);
- if (!pass)
- was = evas_object_is_in_output_rect(obj,
- obj->layer->evas->pointer.x,
- obj->layer->evas->pointer.y, 1, 1);
+ pass = evas_event_passes_through(obj);
+ freeze = evas_event_freezes_through(obj);
+ if ((!pass) && (!freeze))
+ was = evas_object_is_in_output_rect(obj,
+ obj->layer->evas->pointer.x,
+ obj->layer->evas->pointer.y, 1, 1);
}
#ifdef EVAS_FRAME_QUEUING
/* DO IT */
if (o->font)
{
- evas_font_free(obj->layer->evas, o->font);
- o->font = NULL;
+ evas_font_free(obj->layer->evas, o->font);
+ o->font = NULL;
}
o->font = evas_font_load(obj->layer->evas, o->cur.fdesc, o->cur.source,
evas_object_coords_recalc(obj);
if (obj->layer->evas->events_frozen <= 0)
{
- if (!pass)
- {
- is = evas_object_is_in_output_rect(obj,
- obj->layer->evas->pointer.x,
- obj->layer->evas->pointer.y, 1, 1);
- if ((is ^ was) && obj->cur.visible)
- evas_event_feed_mouse_move(obj->layer->evas,
- obj->layer->evas->pointer.x,
- obj->layer->evas->pointer.y,
- obj->layer->evas->last_timestamp,
- NULL);
- }
+ if ((!pass) && (!freeze))
+ {
+ is = evas_object_is_in_output_rect(obj,
+ obj->layer->evas->pointer.x,
+ obj->layer->evas->pointer.y,
+ 1, 1);
+ if ((is ^ was) && obj->cur.visible)
+ evas_event_feed_mouse_move(obj->layer->evas,
+ obj->layer->evas->pointer.x,
+ obj->layer->evas->pointer.y,
+ obj->layer->evas->last_timestamp,
+ NULL);
+ }
}
evas_object_inform_call_resize(obj);
}
evas_object_inform_call_restack(obj);
if (obj->layer->evas->events_frozen <= 0)
{
- if (!evas_event_passes_through(obj))
+ if ((!evas_event_passes_through(obj)) &&
+ (!evas_event_freezes_through(obj)))
{
if (!obj->smart.smart)
{
evas_object_inform_call_restack(obj);
if (obj->layer->evas->events_frozen <= 0)
{
- if (!evas_event_passes_through(obj))
+ if ((!evas_event_passes_through(obj)) &&
+ (!evas_event_freezes_through(obj)))
{
if (!obj->smart.smart)
{
evas_object_inform_call_restack(obj);
if (obj->layer->evas->events_frozen <= 0)
{
- if (!evas_event_passes_through(obj))
+ if ((!evas_event_passes_through(obj)) &&
+ (!evas_event_freezes_through(obj)))
{
if (!obj->smart.smart)
{
evas_object_inform_call_restack(obj);
if (obj->layer->evas->events_frozen <= 0)
{
- if (!evas_event_passes_through(obj))
+ if ((!evas_event_passes_through(obj)) &&
+ (!evas_event_freezes_through(obj)))
{
if (!obj->smart.smart)
{