efl/evas - removed duplicated lines and apply clipping only when clip values are...
authorChunEon Park <hermet@hermet.pe.kr>
Tue, 25 Jun 2013 12:56:28 +0000 (21:56 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Tue, 25 Jun 2013 12:56:28 +0000 (21:56 +0900)
src/lib/evas/canvas/evas_render.c

index 575e116..72a3028 100644 (file)
@@ -1335,11 +1335,11 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
                     {
                        int x, y, w, h;
 
+                       if (_evas_render_has_map(eo_obj, obj))
+                         evas_object_clip_recalc(obj);
+
                        if (proxy_src_clip)
                          {
-                            if (_evas_render_has_map(eo_obj, obj))
-                              evas_object_clip_recalc(obj);
-
                             x = obj->cur->cache.clip.x + off_x;
                             y = obj->cur->cache.clip.y + off_y;
                             w = obj->cur->cache.clip.w;
@@ -1356,9 +1356,6 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
                          }
                        else
                          {
-                            if (_evas_render_has_map(eo_obj, obj))
-                              evas_object_clip_recalc(obj);
-
                             //FIXME: Consider to clip by the proxy clipper.
                             if (proxy_render_data->eo_src != eo_obj)
                               {
@@ -1366,6 +1363,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
                                  y = obj->cur->clipper->cur->geometry.y + off_y;
                                  w = obj->cur->clipper->cur->geometry.w;
                                  h = obj->cur->clipper->cur->geometry.h;
+                                 e->engine.func->context_clip_set(e->engine.data.output, ctx, x, y, w, h);
                               }
                             else
                               {
@@ -1379,10 +1377,9 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
                                           off_y;
                                       w = proxy->cur->clipper->cur->geometry.w;
                                       h = proxy->cur->clipper->cur->geometry.h;
+                                      e->engine.func->context_clip_set(e->engine.data.output, ctx, x, y, w, h);
                                    }
                               }
-                            e->engine.func->context_clip_set(e->engine.data.output,
-                                                             ctx, x, y, w, h);
                          }
                     }
                   obj->func->render(eo_obj, obj, e->engine.data.output, ctx,