}
#endif
+// TIZEN_ONLY(20220223): Set child_has_map flag to parent when parent is set
+void
+_evas_object_parent_child_has_map_set(Evas_Object_Protected_Data *obj)
+{
+ Evas_Object *eo_parents;
+ Evas_Object_Protected_Data *parents = NULL;
+
+ for (eo_parents = obj->smart.parent; eo_parents; eo_parents = parents->smart.parent)
+ {
+ parents = efl_data_scope_get(eo_parents, EFL_CANVAS_OBJECT_CLASS);
+ if (!parents) break;
+ parents->child_has_map = EINA_TRUE;
+ }
+}
+//
+
void
_evas_object_map_enable_set(Eo *eo_obj, Evas_Object_Protected_Data *obj,
Eina_Bool enabled)
if (enabled)
{
- Evas_Object *eo_parents;
- Evas_Object_Protected_Data *parents = NULL;
- for (eo_parents = obj->smart.parent; eo_parents; eo_parents = parents->smart.parent)
- {
- parents = efl_data_scope_get(eo_parents, EFL_CANVAS_OBJECT_CLASS);
- if (!parents) break;
- parents->child_has_map = EINA_TRUE;
- }
+ // TIZEN_ONLY(20220223): Set child_has_map flag to parent when parent is set
+ // Update parent's child_has_map flag
+ _evas_object_parent_child_has_map_set(obj);
+ //
evas_object_update_bounding_box(eo_obj, obj, NULL);
}
else
evas_object_update_bounding_box(eo_obj, obj, member_o);
if (o->cb_member_added)
efl_event_callback_call(smart_obj, EFL_CANVAS_GROUP_EVENT_MEMBER_ADDED, eo_obj);
+
+ // TIZEN_ONLY(20220223): Set child_has_map flag to parent when parent is set
+ // Update parent's child_has_map flag if it is necessary
+ if (obj->child_has_map || (obj->map && obj->map->cur.usemap))
+ _evas_object_parent_child_has_map_set(obj);
+ //
}
EAPI void
Eina_Bool evas_map_inside_get(const Evas_Map *m, Evas_Coord x, Evas_Coord y);
Eina_Bool evas_map_coords_get(const Evas_Map *m, double x, double y, double *mx, double *my, int grab);
+// TIZEN_ONLY(20220223): Set child_has_map flag to parent when parent is set
+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);