elementary/mapbuf - revert 1850e735698f926cad8303cfe96610b5c58410d1
authorChunEon Park <hermet@hermet.pe.kr>
Fri, 27 Sep 2013 12:52:10 +0000 (21:52 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Fri, 27 Sep 2013 12:52:10 +0000 (21:52 +0900)
This makes the mapbuf performance slow down before it enabled the mapbuf.

need more better way.

legacy/elementary/src/lib/elm_mapbuf.c
legacy/elementary/src/lib/elm_widget_mapbuf.h

index b8e2dfc..6f56ccd 100644 (file)
@@ -115,40 +115,18 @@ _configure(Evas_Object *obj, Eina_Bool update_force)
    Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->content) return;
-   Eina_Bool inside_all = EINA_FALSE;
-   Evas_Coord x, y, w, h, x2, y2, w2, h2, vx, vy, vw, vh;
+
+   Evas_Coord x, y, w, h, x2, y2, w2, h2;
    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)))
      {
-        Evas *e = evas_object_evas_get(obj);
-        evas_output_viewport_get(e, &vx, &vy, &vw, &vh);
-
-        /* Apply no changes once the content is rendered fully one time. We
-           aren't sure that the content is updated correctly if the content was
-           outside of the viewport, especially it has many child members. Some
-           type of children will do the lazy updated (ie, textblock) on right
-           before the rendering. It means they lose the update time cause
-           of the mapbuf since the mapbuf tries nochange forcefully. */
-        if (!sd->inside_view[0] && ((x >= vx) && (x <= (vx + vw))))
-          sd->inside_view[0] = EINA_TRUE;
-        if (!sd->inside_view[1] && ((y >= vy) && (y <= (vy + vh))))
-          sd->inside_view[1] = EINA_TRUE;
-
-        if (!sd->inside_view[2] && (((x + w) >= vx) && ((x + w) <= (vx + vw))))
-          sd->inside_view[2] = EINA_TRUE;
-
-        if (!sd->inside_view[3] && (((y + h) >= vy) && ((y + h) <= (vy + vh))))
-          sd->inside_view[3] = EINA_TRUE;
-
-        if (sd->inside_view[0] && sd->inside_view[1] && sd->inside_view[2] &&
-            sd->inside_view[3])
-          inside_all = EINA_TRUE;
-
-        if (!sd->enabled || !inside_all)
+        if (!sd->enabled)
           evas_object_move(sd->content, x, y);
         else
           {
+             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);
@@ -241,17 +219,6 @@ _elm_mapbuf_smart_hide(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 }
 
 static void
-_elm_mapbuf_inside_view_reset(Evas_Object *obj)
-{
-   ELM_MAPBUF_DATA_GET(obj, sd);
-
-   sd->inside_view[0] = EINA_FALSE;
-   sd->inside_view[1] = EINA_FALSE;
-   sd->inside_view[2] = EINA_FALSE;
-   sd->inside_view[3] = EINA_FALSE;
-}
-
-static void
 _elm_mapbuf_smart_content_set(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Mapbuf_Smart_Data *sd = _pd;
@@ -286,7 +253,6 @@ _elm_mapbuf_smart_content_set(Eo *obj, void *_pd, va_list *list)
    else
      evas_object_color_set(wd->resize_obj, 0, 0, 0, 0);
 
-   _elm_mapbuf_inside_view_reset(obj);
    _sizing_eval(obj);
    _configure(obj, EINA_TRUE);
 
@@ -394,8 +360,6 @@ _internal_enable_set(Eo *obj, Elm_Mapbuf_Smart_Data *sd, Eina_Bool enabled)
    if (sd->enabled == enabled) return;
    sd->enabled = enabled;
 
-   _elm_mapbuf_inside_view_reset(obj);
-
    if (sd->content) evas_object_static_clip_set(sd->content, sd->enabled);
    _configure(obj, EINA_TRUE);
 }
index 8bb79ca..c9ca063 100644 (file)
@@ -25,7 +25,6 @@ struct _Elm_Mapbuf_Smart_Data
 
    Ecore_Idler          *idler;
 
-   Eina_Bool             inside_view[4];
    Eina_Bool             enabled : 1;
    Eina_Bool             smooth_saved : 1;
    Eina_Bool             smooth : 1;