nx = x;
ny = y;
+
if (!obj->is_frame)
{
int fx, fy;
evas_output_framespace_get(obj->layer->evas, &fx, &fy, NULL, NULL);
- nx = x + fx;
- ny = y + fy;
+ if (!obj->smart.parent)
+ {
+ nx += fx;
+ ny += fy;
+ }
}
if (evas_object_intercept_call_move(obj, nx, ny)) return;
+
if (obj->doing.in_move > 0)
{
WRN("evas_object_move() called on object %p when in the middle of moving the same object", obj);
}
if ((obj->cur.geometry.x == nx) && (obj->cur.geometry.y == ny)) return;
+
if (obj->layer->evas->events_frozen <= 0)
{
pass = evas_event_passes_through(obj);
int fw, fh;
evas_output_framespace_get(obj->layer->evas, NULL, NULL, &fw, &fh);
- nw = w - fw;
- nh = h - fh;
- if (nw < 0) nw = 0;
- if (nh < 0) nh = 0;
+ if (!obj->smart.parent)
+ {
+ nw = w - fw;
+ nh = h - fh;
+ if (nw < 0) nw = 0;
+ if (nh < 0) nh = 0;
+ }
}
if (evas_object_intercept_call_resize(obj, nw, nh)) return;
}
if ((obj->cur.geometry.w == nw) && (obj->cur.geometry.h == nh)) return;
+
if (obj->layer->evas->events_frozen <= 0)
{
pass = evas_event_passes_through(obj);
if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;
return;
}
+
if (x) *x = obj->cur.geometry.x;
if (y) *y = obj->cur.geometry.y;
if (w) *w = obj->cur.geometry.w;