and umm... work... and .. struff.. ugh. don't ask.
authorCarsten Haitzler <raster@rasterman.com>
Fri, 3 Sep 2010 00:08:11 +0000 (00:08 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Fri, 3 Sep 2010 00:08:11 +0000 (00:08 +0000)
SVN revision: 51851

src/lib/elm_flip.c
src/lib/elm_mapbuf.c
src/lib/elm_widget.c

index 6ed316b..2145ce0 100644 (file)
@@ -388,6 +388,7 @@ elm_flip_add(Evas_Object *parent)
    elm_widget_theme_hook_set(obj, _theme_hook);
 
    wd->clip = evas_object_rectangle_add(e);
+   evas_object_static_clip_set(wd->clip, 1);
    evas_object_color_set(wd->clip, 255, 255, 255, 255);
    evas_object_move(wd->clip, -49999, -49999);
    evas_object_resize(wd->clip, 99999, 99999);
@@ -396,6 +397,7 @@ elm_flip_add(Evas_Object *parent)
    evas_object_smart_member_add(wd->clip, obj);
    
    wd->front.clip = evas_object_rectangle_add(e);
+   evas_object_static_clip_set(wd->front.clip, 1);
    evas_object_data_set(wd->front.clip, "_elm_leaveme", obj);
    evas_object_color_set(wd->front.clip, 255, 255, 255, 255);
    evas_object_move(wd->front.clip, -49999, -49999);
@@ -405,6 +407,7 @@ elm_flip_add(Evas_Object *parent)
    evas_object_clip_set(wd->front.clip, wd->clip);
    
    wd->back.clip = evas_object_rectangle_add(e);
+   evas_object_static_clip_set(wd->back.clip, 1);
    evas_object_data_set(wd->back.clip, "_elm_leaveme", obj);
    evas_object_color_set(wd->back.clip, 255, 255, 255, 255);
    evas_object_move(wd->back.clip, -49999, -49999);
index 8118325..c7895be 100644 (file)
@@ -114,10 +114,27 @@ _configure(Evas_Object *obj)
    if (!wd) return;
    if (wd->content)
      {
-        Evas_Coord x, y, w, h;
+        Evas_Coord x, y, w, h, x2, y2;
         
         evas_object_geometry_get(obj, &x, &y, &w, &h);
-        if (!wd->enabled) evas_object_move(wd->content, x, y);
+        evas_object_geometry_get(wd->content, &x2, &y2, NULL, NULL);
+        if ((x != x2) || (y != y2))
+          {
+             if (!wd->enabled)
+                evas_object_move(wd->content, x, y);
+             else
+               {
+                  
+                  Evas *e = evas_object_evas_get(obj);
+                  evas_smart_objects_calculate(e);
+                  evas_nochange_push(e);
+//                  printf("x--------------------\n");
+                  evas_object_move(wd->content, x, y);
+                  evas_smart_objects_calculate(e);
+//                  printf("y--------------------\n");
+                  evas_nochange_pop(e);
+               }
+          }
         evas_object_resize(wd->content, w, h);
         _mapbuf(obj);
      }
@@ -195,6 +212,7 @@ elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content)
    wd->content = content;
    if (content)
      {
+        // FIXME: dont handle del
        elm_widget_sub_object_add(content, obj);
        evas_object_smart_member_add(content, obj);
         evas_object_clip_set(content, evas_object_clip_get(obj));
index d709bd4..450b93c 100644 (file)
@@ -1255,7 +1255,7 @@ _smart_show(Evas_Object *obj)
    INTERNAL_ENTRY;
    list = evas_object_smart_members_get(obj);
    EINA_LIST_FOREACH(list, l, o)
-     {
+    {
         if (evas_object_data_get(o, "_elm_leaveme")) continue;
         evas_object_show(o);
      }
@@ -1310,6 +1310,8 @@ _smart_clip_unset(Evas_Object *obj)
    Eina_List *list, *l;
    Evas_Object *o;
    INTERNAL_ENTRY;
+//   evas_object_clip_unset(sd->resize_obj);
+//   return;
    list = evas_object_smart_members_get(obj);
    EINA_LIST_FOREACH(list, l, o)
      {