forked from enlightenment/efl
engage seems to be generating clip weirdness - testing to see if the clip
changes are it - catalyst? :) does it work now? SVN revision: 15957
This commit is contained in:
parent
cf3732d8b9
commit
ee18abd342
|
@ -6,14 +6,9 @@ evas_object_clip_recalc(Evas_Object *obj)
|
|||
{
|
||||
int cx, cy, cw, ch, cvis, cr, cg, cb, ca;
|
||||
int nx, ny, nw, nh, nvis, nr, ng, nb, na;
|
||||
// FIXME: This shouldn't be necessary as frozen checks should happen at a
|
||||
// higher level.
|
||||
// if (obj->layer->evas->events_frozen > 0) return;
|
||||
|
||||
/* Skip coord recalc on smart object and invalid output */
|
||||
if ((!obj->smart.smart) &&
|
||||
(obj->cur.cache.geometry.validity != obj->layer->evas->output_validity))
|
||||
evas_object_coords_recalc(obj);
|
||||
if (obj->layer->evas->events_frozen > 0) return;
|
||||
evas_object_coords_recalc(obj);
|
||||
cx = obj->cur.cache.geometry.x; cy = obj->cur.cache.geometry.y;
|
||||
cw = obj->cur.cache.geometry.w; ch = obj->cur.cache.geometry.h;
|
||||
if (obj->cur.color.a == 0) cvis = 0;
|
||||
|
@ -22,8 +17,8 @@ evas_object_clip_recalc(Evas_Object *obj)
|
|||
cb = obj->cur.color.b; ca = obj->cur.color.a;
|
||||
if (obj->cur.clipper)
|
||||
{
|
||||
/* Don't recalculate clean clipper */
|
||||
if (obj->cur.clipper->cur.cache.clip.dirty)
|
||||
// this causes problems... hmmm
|
||||
// if (obj->cur.clipper->cur.cache.clip.dirty)
|
||||
evas_object_clip_recalc(obj->cur.clipper);
|
||||
nx = obj->cur.clipper->cur.cache.clip.x;
|
||||
ny = obj->cur.clipper->cur.cache.clip.y;
|
||||
|
@ -52,12 +47,6 @@ evas_object_clip_recalc(Evas_Object *obj)
|
|||
obj->cur.cache.clip.b = cb;
|
||||
obj->cur.cache.clip.a = ca;
|
||||
obj->cur.cache.clip.dirty = 0;
|
||||
if (cvis)
|
||||
{
|
||||
Evas_List *l;
|
||||
for (l = obj->clip.clipees; l; l = l->next)
|
||||
evas_object_clip_dirty(l->data);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -66,6 +55,8 @@ evas_object_clip_dirty(Evas_Object *obj)
|
|||
Evas_List *l;
|
||||
|
||||
obj->cur.cache.clip.dirty = 1;
|
||||
for (l = obj->clip.clipees; l; l = l->next)
|
||||
evas_object_clip_dirty(l->data);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -73,10 +64,10 @@ evas_object_recalc_clippees(Evas_Object *obj)
|
|||
{
|
||||
Evas_List *l;
|
||||
|
||||
evas_object_clip_recalc(obj);
|
||||
for (l = obj->clip.clipees; l; l = l->next)
|
||||
if (obj->cur.cache.clip.dirty)
|
||||
{
|
||||
if (obj->cur.cache.clip.dirty)
|
||||
evas_object_clip_recalc(obj);
|
||||
for (l = obj->clip.clipees; l; l = l->next)
|
||||
evas_object_recalc_clippees(l->data);
|
||||
}
|
||||
}
|
||||
|
@ -202,8 +193,7 @@ evas_object_clip_set(Evas_Object *obj, Evas_Object *clip)
|
|||
clip->clip.clipees = evas_list_append(clip->clip.clipees, obj);
|
||||
evas_object_change(obj);
|
||||
evas_object_clip_dirty(obj);
|
||||
if ((!obj->layer->evas->events_frozen) && (obj->cur.cache.clip.dirty))
|
||||
evas_object_recalc_clippees(obj);
|
||||
evas_object_recalc_clippees(obj);
|
||||
if (!obj->smart.smart)
|
||||
{
|
||||
if (evas_object_is_in_output_rect(obj,
|
||||
|
@ -291,8 +281,7 @@ evas_object_clip_unset(Evas_Object *obj)
|
|||
obj->cur.clipper = NULL;
|
||||
evas_object_change(obj);
|
||||
evas_object_clip_dirty(obj);
|
||||
if (!obj->layer->evas->events_frozen && obj->cur.cache.clip.dirty)
|
||||
evas_object_recalc_clippees(obj);
|
||||
evas_object_recalc_clippees(obj);
|
||||
if (!obj->smart.smart)
|
||||
{
|
||||
if (evas_object_is_in_output_rect(obj,
|
||||
|
|
|
@ -40,6 +40,8 @@ evas_event_objects_event_list(Evas *e, Evas_Object *stop, int x, int y)
|
|||
if (obj == stop) goto done;
|
||||
if ((!evas_event_passes_through(obj)) && (!obj->smart.smart))
|
||||
{
|
||||
// FIXME: i don't think we need this
|
||||
// evas_object_clip_recalc(obj);
|
||||
if ((evas_object_is_in_output_rect(obj, x, y, 1, 1)) &&
|
||||
(obj->cur.visible) &&
|
||||
(obj->delete_me == 0) &&
|
||||
|
@ -138,8 +140,8 @@ evas_event_thaw(Evas *e)
|
|||
Evas_Object *obj;
|
||||
|
||||
obj = (Evas_Object *)l2;
|
||||
if (obj->cur.cache.clip.dirty)
|
||||
evas_object_recalc_clippees(obj);
|
||||
evas_object_clip_recalc(obj);
|
||||
evas_object_recalc_clippees(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -275,10 +275,9 @@ evas_object_render_pre_effect_updates(Evas_List *updates, Evas_Object *obj, int
|
|||
void
|
||||
evas_object_coords_recalc(Evas_Object *obj)
|
||||
{
|
||||
// FIXME: Check before entering
|
||||
// if (obj->smart.smart) return;
|
||||
// if (obj->cur.cache.geometry.validity == obj->layer->evas->output_validity)
|
||||
// return;
|
||||
if (obj->smart.smart) return;
|
||||
if (obj->cur.cache.geometry.validity == obj->layer->evas->output_validity)
|
||||
return;
|
||||
obj->cur.cache.geometry.x =
|
||||
evas_coord_world_x_to_screen(obj->layer->evas, obj->cur.geometry.x);
|
||||
obj->cur.cache.geometry.y =
|
||||
|
@ -483,6 +482,7 @@ evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
|
|||
evas_object_clip_dirty(obj);
|
||||
if (obj->layer->evas->events_frozen != 0)
|
||||
{
|
||||
evas_object_recalc_clippees(obj);
|
||||
if (!pass)
|
||||
{
|
||||
if (!obj->smart.smart)
|
||||
|
@ -499,8 +499,6 @@ evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (obj->cur.cache.clip.dirty)
|
||||
evas_object_recalc_clippees(obj);
|
||||
evas_object_inform_call_move(obj);
|
||||
}
|
||||
|
||||
|
@ -546,6 +544,7 @@ evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
|
|||
obj->cur.cache.geometry.validity = 0;
|
||||
evas_object_change(obj);
|
||||
evas_object_clip_dirty(obj);
|
||||
evas_object_recalc_clippees(obj);
|
||||
if (obj->layer->evas->events_frozen != 0)
|
||||
{
|
||||
// if (obj->func->coords_recalc) obj->func->coords_recalc(obj);
|
||||
|
@ -565,8 +564,6 @@ evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (obj->cur.cache.clip.dirty)
|
||||
evas_object_recalc_clippees(obj);
|
||||
evas_object_inform_call_resize(obj);
|
||||
}
|
||||
|
||||
|
@ -639,6 +636,7 @@ evas_object_show(Evas_Object *obj)
|
|||
evas_object_clip_dirty(obj);
|
||||
if (obj->layer->evas->events_frozen != 0)
|
||||
{
|
||||
evas_object_recalc_clippees(obj);
|
||||
if (!evas_event_passes_through(obj))
|
||||
{
|
||||
if (!obj->smart.smart)
|
||||
|
@ -654,8 +652,6 @@ evas_object_show(Evas_Object *obj)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (obj->cur.cache.clip.dirty)
|
||||
evas_object_recalc_clippees(obj);
|
||||
evas_object_inform_call_show(obj);
|
||||
}
|
||||
|
||||
|
@ -687,6 +683,7 @@ evas_object_hide(Evas_Object *obj)
|
|||
evas_object_clip_dirty(obj);
|
||||
if (obj->layer->evas->events_frozen != 0)
|
||||
{
|
||||
evas_object_recalc_clippees(obj);
|
||||
if (!evas_event_passes_through(obj))
|
||||
{
|
||||
if (!obj->smart.smart)
|
||||
|
@ -734,8 +731,6 @@ evas_object_hide(Evas_Object *obj)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (obj->cur.cache.clip.dirty)
|
||||
evas_object_recalc_clippees(obj);
|
||||
evas_object_inform_call_hide(obj);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue