Evas *evas;
Evas_Object *parent; /* parent *window* object*/
Evas_Object *img_obj, *frame_obj;
+ Evas_Coord fx, fy, fw, fh;
Eina_List *resize_objs; /* a window may have
* *multiple* resize
* objects */
}
if (sd->frame_obj)
- {
- int fw, fh;
-
- evas_output_framespace_get(sd->evas, NULL, NULL, &fw, &fh);
- evas_object_resize(sd->frame_obj, w + fw, h + fh);
- }
+ evas_object_resize(sd->frame_obj, w, h);
/* if (sd->img_obj) */
/* { */
evas_object_resize(ELM_WIDGET_DATA(sd)->obj, w, h);
EINA_LIST_FOREACH(sd->resize_objs, l, obj)
{
- evas_object_move(obj, 0, 0);
- evas_object_resize(obj, w, h);
+ evas_object_move(obj, sd->fx, sd->fy);
+ evas_object_resize(obj, w - sd->fw, h - sd->fy);
}
}
if (h < minh) h = minh;
if ((maxw >= 0) && (w > maxw)) w = maxw;
if ((maxh >= 0) && (h > maxh)) h = maxh;
- evas_object_resize(obj, w, h);
+ evas_object_move(obj, 0, 0);
+ evas_object_resize(obj, w + sd->fw, h + sd->fh);
}
static void
_elm_win_frame_add(Elm_Win_Smart_Data *sd,
const char *style)
{
- evas_output_framespace_set(sd->evas, 0, 22, 0, 26);
+ Evas_Object *obj = ELM_WIDGET_DATA(sd)->obj;
+ short layer;
+
+ // FIXME: Don't use hardcoded framespace values, get it from theme
+ sd->fx = 0;
+ sd->fy = 22;
+ sd->fw = 0;
+ sd->fh = 26;
sd->frame_obj = edje_object_add(sd->evas);
+ layer = evas_object_layer_get(obj);
+ evas_object_layer_set(sd->frame_obj, layer + 1);
elm_widget_theme_object_set
(ELM_WIDGET_DATA(sd)->obj, sd->frame_obj, "border", "base", style);
evas_object_del(sd->frame_obj);
sd->frame_obj = NULL;
}
-
- evas_output_framespace_set(sd->evas, 0, 0, 0, 0);
}
#ifdef ELM_DEBUG
_elm_win_on_resize_obj_changed_size_hints, obj);
evas_object_geometry_get(obj, NULL, NULL, &w, &h);
- evas_object_move(subobj, 0, 0);
- evas_object_resize(subobj, w, h);
+ evas_object_move(subobj, sd->fx, sd->fy);
+ evas_object_resize(subobj, w - sd->fw, h - sd->fh);
_elm_win_resize_objects_eval(obj);
}