summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_map.c
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@samsung.com>2013-03-12 21:58:19 +0900
committerCedric BAIL <cedric.bail@samsung.com>2013-03-13 14:35:25 +0900
commitd79a2efa3941ec0a3be75afff753c9da2b21805f (patch)
treebec8fef47729b7103dcf181aea201749ebeb15db /src/lib/evas/canvas/evas_map.c
parentb7221512d5bb99f0924a847e8bc7fdb30c5183d4 (diff)
evas: use Eina_Cow a lot more and we are closer to the memory size of 1.7.
Diffstat (limited to 'src/lib/evas/canvas/evas_map.c')
-rw-r--r--src/lib/evas/canvas/evas_map.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/lib/evas/canvas/evas_map.c b/src/lib/evas/canvas/evas_map.c
index 05efdd9..5f05263 100644
--- a/src/lib/evas/canvas/evas_map.c
+++ b/src/lib/evas/canvas/evas_map.c
@@ -18,7 +18,7 @@ _evas_map_calc_geom_change(Evas_Object *eo_obj)
18 is = evas_object_is_in_output_rect(eo_obj, obj, 18 is = evas_object_is_in_output_rect(eo_obj, obj,
19 obj->layer->evas->pointer.x, 19 obj->layer->evas->pointer.x,
20 obj->layer->evas->pointer.y, 1, 1); 20 obj->layer->evas->pointer.y, 1, 1);
21 if ((is ^ was) && obj->cur.visible) 21 if ((is ^ was) && obj->cur->visible)
22 evas_event_feed_mouse_move(obj->layer->evas->evas, 22 evas_event_feed_mouse_move(obj->layer->evas->evas,
23 obj->layer->evas->pointer.x, 23 obj->layer->evas->pointer.x,
24 obj->layer->evas->pointer.y, 24 obj->layer->evas->pointer.y,
@@ -461,7 +461,7 @@ _map_enable_set(Eo *eo_obj, void *_pd, va_list *list)
461 EINA_COW_WRITE_END(evas_object_map_cow, obj->map, map_write); 461 EINA_COW_WRITE_END(evas_object_map_cow, obj->map, map_write);
462 } 462 }
463 evas_object_mapped_clip_across_mark(eo_obj, obj); 463 evas_object_mapped_clip_across_mark(eo_obj, obj);
464 // obj->map->cur.map->normal_geometry = obj->cur.geometry; 464 // obj->map->cur.map->normal_geometry = obj->cur->geometry;
465 } 465 }
466 else 466 else
467 { 467 {
@@ -557,7 +557,12 @@ _map_set(Eo *eo_obj, void *_pd, va_list *list)
557 if (obj->map->cur.map) 557 if (obj->map->cur.map)
558 { 558 {
559 obj->changed_map = EINA_TRUE; 559 obj->changed_map = EINA_TRUE;
560 obj->prev.geometry = obj->map->cur.map->normal_geometry; 560
561 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, prev)
562 {
563 state_write->geometry = obj->map->cur.map->normal_geometry;
564 }
565 EINA_COW_STATE_WRITE_END(obj, state_write, prev);
561 566
562 EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, Evas_Object_Map_Data, map_write) 567 EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, Evas_Object_Map_Data, map_write)
563 { 568 {
@@ -847,8 +852,8 @@ evas_map_util_points_populate_from_object_full(Evas_Map *m, const Evas_Object *e
847 ERR("map has count=%d where 4 was expected.", m->count); 852 ERR("map has count=%d where 4 was expected.", m->count);
848 return; 853 return;
849 } 854 }
850 _evas_map_util_points_populate(m, obj->cur.geometry.x, obj->cur.geometry.y, 855 _evas_map_util_points_populate(m, obj->cur->geometry.x, obj->cur->geometry.y,
851 obj->cur.geometry.w, obj->cur.geometry.h, z); 856 obj->cur->geometry.w, obj->cur->geometry.h, z);
852} 857}
853 858
854EAPI void 859EAPI void
@@ -869,8 +874,8 @@ evas_map_util_points_populate_from_object(Evas_Map *m, const Evas_Object *eo_obj
869 ERR("map has count=%d where 4 was expected.", m->count); 874 ERR("map has count=%d where 4 was expected.", m->count);
870 return; 875 return;
871 } 876 }
872 _evas_map_util_points_populate(m, obj->cur.geometry.x, obj->cur.geometry.y, 877 _evas_map_util_points_populate(m, obj->cur->geometry.x, obj->cur->geometry.y,
873 obj->cur.geometry.w, obj->cur.geometry.h, 0); 878 obj->cur->geometry.w, obj->cur->geometry.h, 0);
874} 879}
875 880
876EAPI void 881EAPI void