}
static void
-_configure(Evas_Object *obj, Eina_Bool update_force)
+_configure(Evas_Object *obj)
{
ELM_MAPBUF_DATA_GET(obj, sd);
Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
if (!sd->content) return;
- Evas_Coord x, y, w, h, x2, y2, w2, h2;
+ Evas_Coord x, y, w, h;
evas_object_geometry_get(wd->resize_obj, &x, &y, &w, &h);
- evas_object_geometry_get(sd->content, &x2, &y2, &w2, &h2);
- if ((update_force) || ((x != x2) || (y != y2) || (w != w2) || (h != h2)))
+ if (sd->enabled)
{
- if (sd->enabled)
- {
- Evas *e = evas_object_evas_get(obj);
-/* This causes many side effects in calculating mapbuf objects.
- But it doesn't affect to the mapbuf it's own special feature, performance. */
-// evas_smart_objects_calculate(e);
- evas_nochange_push(e);
- evas_object_move(sd->content, x, y);
-// evas_smart_objects_calculate(e);
- evas_nochange_pop(e);
-
- if (!m) m = evas_map_new(4);
- evas_map_util_points_populate_from_geometry(m, x, y, w, h, 0);
- evas_map_smooth_set(m, sd->smooth);
- evas_map_alpha_set(m, sd->alpha);
- evas_object_map_set(sd->content, m);
- evas_object_map_enable_set(sd->content, EINA_TRUE);
- }
- else
- evas_object_move(sd->content, x, y);
+ if (!m) m = evas_map_new(4);
+ evas_map_util_points_populate_from_geometry(m, x, y, w, h, 0);
+ evas_map_smooth_set(m, sd->smooth);
+ evas_map_alpha_set(m, sd->alpha);
+ evas_object_map_set(sd->content, m);
+ evas_object_map_enable_set(sd->content, EINA_TRUE);
}
+ else
+ evas_object_move(sd->content, x, y);
}
static void
_mapbuf_auto_eval(obj, _pd);
_mapbuf_auto_smooth(obj, _pd);
- _configure(obj, EINA_FALSE);
+ _configure(obj);
}
static void
ELM_MAPBUF_DATA_GET(obj, sd);
if (sd->content) evas_object_resize(sd->content, w, h);
_mapbuf_auto_eval(obj, _pd);
- _configure(obj, EINA_FALSE);
+ _configure(obj);
}
static void
eo_do_super(obj, MY_CLASS, evas_obj_smart_show());
_mapbuf_auto_eval(obj, _pd);
- _configure(obj, EINA_FALSE);
+ _configure(obj);
}
static void
eo_do_super(obj, MY_CLASS, evas_obj_smart_hide());
_mapbuf_auto_eval(obj, _pd);
- _configure(obj, EINA_FALSE);
+ _configure(obj);
}
static void
evas_object_color_set(wd->resize_obj, 0, 0, 0, 0);
_sizing_eval(obj);
- _configure(obj, EINA_TRUE);
+ _configure(obj);
if (ret) *ret = EINA_TRUE;
}
evas_object_map_set(sd->content, NULL);
evas_object_map_enable_set(sd->content, EINA_FALSE);
}
- _configure(obj, EINA_TRUE);
+ _configure(obj);
}
static void
if (sd->smooth == smooth) return;
sd->smooth = smooth;
sd->smooth_saved = smooth;
- _configure(obj, EINA_TRUE);
+ _configure(obj);
}
EAPI Eina_Bool
if (sd->alpha == alpha) return;
sd->alpha = alpha;
- _configure(obj, EINA_TRUE);
+ _configure(obj);
}
EAPI Eina_Bool
_internal_enable_set(obj, _pd, EINA_FALSE);
}
- _configure(obj, EINA_TRUE);
+ _configure(obj);
}
EAPI Eina_Bool