}
#endif
-void _OnMouseUp(void* data, Evas*, Evas_Object* image, void* event_info) {
+void OnMouseUp(void* data, Evas*, Evas_Object* image, void* event_info) {
Evas_Event_Mouse_Up* up_event =
static_cast<Evas_Event_Mouse_Up*>(event_info);
DisambiguationPopupEfl* disambiguation_popup =
disambiguation_popup->HandleMouseEventUp(up_event);
}
-void _OnMouseDown(void* data, Evas*, Evas_Object* image, void* event_info) {
+void OnMouseDown(void* data, Evas*, Evas_Object* image, void* event_info) {
Evas_Event_Mouse_Down* down_event =
static_cast<Evas_Event_Mouse_Down*>(event_info);
DisambiguationPopupEfl* disambiguation_popup =
disambiguation_popup->HandleMouseEventDown(down_event);
}
+void TouchedOnOutterArea(void* data, Evas*, Evas_Object* image, void* event_info) {
+ DisambiguationPopupEfl* disambiguation_popup =
+ static_cast<DisambiguationPopupEfl*>(data);
+ disambiguation_popup->Dismiss();
+}
+
} // namespace
DisambiguationPopupEfl::DisambiguationPopupEfl(
UpdateImage(display_image);
evas_object_event_callback_add(content_image_,
- EVAS_CALLBACK_MOUSE_UP, _OnMouseUp, this);
+ EVAS_CALLBACK_MOUSE_UP, OnMouseUp, this);
evas_object_event_callback_add(content_image_,
- EVAS_CALLBACK_MOUSE_DOWN, _OnMouseDown, this);
+ EVAS_CALLBACK_MOUSE_DOWN, OnMouseDown, this);
+
+ evas_object_event_callback_add(popup_,
+ EVAS_CALLBACK_MOUSE_UP, TouchedOnOutterArea, this);
+ evas_object_event_callback_add(popup_,
+ EVAS_CALLBACK_MULTI_DOWN, TouchedOnOutterArea, this);
int parent_view_x = 0, parent_view_y = 0;
evas_object_geometry_get(parent_view_, &parent_view_x, &parent_view_y, 0, 0);