evas_map: update geometry of map object correctly when move sync is enabled. 96/292096/1
authorHosang Kim <hosang12.kim@samsung.com>
Thu, 27 Apr 2023 07:19:42 +0000 (16:19 +0900)
committerHosang Kim <hosang12.kim@samsung.com>
Thu, 27 Apr 2023 07:23:52 +0000 (16:23 +0900)
When map object is hidden by scrolling, geometry of map object is not
updated.

Change-Id: I0db91ad6a8deb192927bd9d3f7c8ea86e80f4acb

src/lib/evas/canvas/evas_map.c
src/lib/evas/canvas/evas_object_main.c
src/lib/evas/include/evas_private.h

index 0ad54ed..973d10f 100644 (file)
@@ -104,7 +104,7 @@ _evas_map_calc_map_geometry(Evas_Object *eo_obj)
    if (ch) _evas_map_calc_geom_change(eo_obj);
 }
 
-static void
+void
 evas_object_map_move_sync(Evas_Object *eo_obj)
 {
    Evas_Object_Protected_Data *obj;
index 34152fb..87c4ca6 100644 (file)
@@ -1207,6 +1207,7 @@ _efl_canvas_object_efl_gfx_entity_position_set(Eo *eo_obj, Evas_Object_Protected
         Evas_Coord diff_x = x - obj->cur->geometry.x;
         Evas_Coord diff_y = y - obj->cur->geometry.y;
         evas_map_object_move_diff_set(map, diff_x, diff_y);
+        evas_object_map_move_sync(eo_obj);
      }
 
    if (!(obj->layer->evas->is_frozen))
index e26e3f2..82e41af 100755 (executable)
@@ -1429,6 +1429,7 @@ void _evas_object_parent_child_has_map_set(Evas_Object_Protected_Data *obj);
 //
 Eina_Bool evas_object_map_update(Evas_Object *obj, int x, int y, int imagew, int imageh, int uvw, int uvh);
 void evas_map_object_move_diff_set(Evas_Map *m, Evas_Coord diff_x, Evas_Coord diff_y);
+void evas_object_map_move_sync(Evas_Object *eo_obj);
 
 Eina_List *evas_module_engine_list(void);