static Eina_Bool
_e_comp_object_effect_visibility_start(E_Comp_Object *cw, Eina_Bool state)
{
+ E_Zone *zone;
int x, y;
int zw = 0, zh = 0;
evas_pointer_canvas_xy_get(e_comp->evas, &x, &y);
x -= cw->x;
y -= cw->y;
- if (cw->ec->zone)
- zw = cw->ec->zone->w, zh = cw->ec->zone->h;
+ zone = e_comp_zone_find_by_ec(cw->ec);
+ if (zone)
+ zw = zone->w, zh = zone->h;
else
{
E_Zone *zone;
/* queue unmaximize if we are allowing move and update unmaximize geometry */
if ((!cw->ec->shading) && (!cw->ec->shaded))
{
+ E_Zone *zone;
+ zone = e_comp_zone_find_by_ec(cw->ec);
+ if (!zone) return;
+
cw->ec->changes.need_unmaximize = 1;
- cw->ec->saved.x = ix - cw->ec->zone->x;
- cw->ec->saved.y = iy - cw->ec->zone->y;
+ cw->ec->saved.x = ix - zone->x;
+ cw->ec->saved.y = iy - zone->y;
cw->ec->saved.w = cw->ec->client.w;
cw->ec->saved.h = cw->ec->client.h;
EC_CHANGED(cw->ec);
{
E_Comp_Object *cw = data;
int pw = 0, ph = 0, fw, fh, iw, ih, prev_w, prev_h, x, y;
+ E_Zone *zone;
if (cw->render_update_lock.lock)
{
return;
}
/* guarantee that fullscreen is fullscreen */
- if (cw->ec->fullscreen && ((w != cw->ec->zone->w) || (h != cw->ec->zone->h)))
+ zone = e_comp_zone_find_by_ec(cw->ec);
+ if (!zone) return;
+ if (cw->ec->fullscreen && ((w != zone->w) || (h != zone->h)))
return;
/* calculate client size */
iw = w - cw->client_inset.l - cw->client_inset.r;
if (cw->ec->client.h != ih)
{
cw->ec->saved.h = ih;
- cw->ec->saved.y = cw->ec->client.y - cw->ec->zone->y;
+ cw->ec->saved.y = cw->ec->client.y - zone->y;
reject = cw->ec->changes.need_unmaximize = 1;
}
}
if (cw->ec->client.w != iw)
{
cw->ec->saved.w = iw;
- cw->ec->saved.x = cw->ec->client.x - cw->ec->zone->x;
+ cw->ec->saved.x = cw->ec->client.x - zone->x;
reject = cw->ec->changes.need_unmaximize = 1;
}
}
_e_comp_smart_cb_frame_recalc(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
E_Comp_Object *cw = data;
+ E_Zone *zone;
int w, h, pw, ph;
/* - get current size
evas_object_smart_callback_call(cw->smart_obj, "frame_recalc_done", &cw->client_inset);
if (cw->ec->shading || cw->ec->shaded) return;
if (cw->ec->fullscreen)
- evas_object_resize(cw->ec->frame, cw->ec->zone->w, cw->ec->zone->h);
+ {
+ zone = e_comp_zone_find_by_ec(cw->ec);
+ if (!zone) return;
+ evas_object_resize(cw->ec->frame, zone->w, zone->h);
+ }
else if (cw->ec->new_client)
{
if ((cw->ec->w < 1) || (cw->ec->h < 1)) return;
SOFT_ENTRY(NULL);
if (cw)
- zone = cw->ec->zone;
+ zone = e_comp_zone_find_by_ec(cw->ec);
if (!zone)
{
int x, y;
}
else
{
+ E_Zone *zone;
+ zone = e_comp_zone_find_by_ec(cw->ec);
+ if (!zone) break;
+
x = cw->ec->client.x, y = cw->ec->client.y;
- x = MAX(cw->ec->zone->x, cw->ec->client.x - cw->client_inset.l);
- y = MAX(cw->ec->zone->y, cw->ec->client.y - cw->client_inset.t);
+ x = MAX(zone->x, cw->ec->client.x - cw->client_inset.l);
+ y = MAX(zone->y, cw->ec->client.y - cw->client_inset.t);
}
new_x = x, new_y = y;
}
e_comp_object_effect_clip(Evas_Object *obj)
{
API_ENTRY;
- if (!cw->ec->zone) return;
+ E_Zone *zone;
+ zone = e_comp_zone_find_by_ec(cw->ec);
+ if (!zone) return;
if (cw->effect_clip) e_comp_object_effect_unclip(cw->smart_obj);
if (!cw->effect_clip_able) return;
- evas_object_clip_set(cw->smart_obj, cw->ec->zone->bg_clip_object);
+ evas_object_clip_set(cw->smart_obj, zone->bg_clip_object);
cw->effect_clip = 1;
}