@@ -141,10 +141,11 @@ void TizenViewElementary::RegisterEventHandlers() {
141141 if (self->event_layer_ == object) {
142142 auto * mouse_event =
143143 reinterpret_cast <Evas_Event_Mouse_Down*>(event_info);
144+ TizenGeometry geometry = self->GetGeometry ();
144145 self->view_ ->OnPointerDown (
145- mouse_event->canvas .x , mouse_event-> canvas . y ,
146- mouse_event->timestamp , kFlutterPointerDeviceKindTouch ,
147- mouse_event->button );
146+ mouse_event->canvas .x - geometry. left ,
147+ mouse_event->canvas . y - geometry. top , mouse_event-> timestamp ,
148+ kFlutterPointerDeviceKindTouch , mouse_event->button );
148149 }
149150 }
150151 };
@@ -163,64 +164,67 @@ void TizenViewElementary::RegisterEventHandlers() {
163164 elm_object_scroll_hold_pop (self->event_layer_ );
164165 self->scroll_hold_ = false ;
165166 }
166- self->view_ ->OnPointerUp (mouse_event->canvas .x , mouse_event->canvas .y ,
167- mouse_event->timestamp ,
168- kFlutterPointerDeviceKindTouch ,
169- mouse_event->button );
167+ TizenGeometry geometry = self->GetGeometry ();
168+ self->view_ ->OnPointerUp (
169+ mouse_event->canvas .x - geometry.left ,
170+ mouse_event->canvas .y - geometry.top , mouse_event->timestamp ,
171+ kFlutterPointerDeviceKindTouch , mouse_event->button );
170172 }
171173 }
172174 };
173175 evas_object_event_callback_add (event_layer_, EVAS_CALLBACK_MOUSE_UP,
174176 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_UP],
175177 this );
176178
177- evas_object_callbacks_[EVAS_CALLBACK_MOUSE_MOVE] =
179+ evas_object_callbacks_[EVAS_CALLBACK_MOUSE_MOVE] = [](void * data, Evas* evas,
180+ Evas_Object* object,
181+ void * event_info) {
182+ auto * self = reinterpret_cast <TizenViewElementary*>(data);
183+ if (self->view_ ) {
184+ if (self->event_layer_ == object) {
185+ auto * mouse_event =
186+ reinterpret_cast <Evas_Event_Mouse_Move*>(event_info);
187+ mouse_event->event_flags = Evas_Event_Flags (mouse_event->event_flags |
188+ EVAS_EVENT_FLAG_ON_HOLD);
189+ if (!self->scroll_hold_ ) {
190+ elm_object_scroll_hold_push (self->event_layer_ );
191+ self->scroll_hold_ = true ;
192+ }
193+ TizenGeometry geometry = self->GetGeometry ();
194+ self->view_ ->OnPointerMove (
195+ mouse_event->cur .canvas .x - geometry.left ,
196+ mouse_event->cur .canvas .y - geometry.top , mouse_event->timestamp ,
197+ kFlutterPointerDeviceKindTouch , mouse_event->buttons );
198+ }
199+ }
200+ };
201+ evas_object_event_callback_add (
202+ event_layer_, EVAS_CALLBACK_MOUSE_MOVE,
203+ evas_object_callbacks_[EVAS_CALLBACK_MOUSE_MOVE], this );
204+
205+ evas_object_callbacks_[EVAS_CALLBACK_MOUSE_WHEEL] =
178206 [](void * data, Evas* evas, Evas_Object* object, void * event_info) {
179207 auto * self = reinterpret_cast <TizenViewElementary*>(data);
180208 if (self->view_ ) {
181209 if (self->event_layer_ == object) {
182- auto * mouse_event =
183- reinterpret_cast <Evas_Event_Mouse_Move*>(event_info);
184- mouse_event->event_flags = Evas_Event_Flags (
185- mouse_event->event_flags | EVAS_EVENT_FLAG_ON_HOLD);
186- if (!self->scroll_hold_ ) {
187- elm_object_scroll_hold_push (self->event_layer_ );
188- self->scroll_hold_ = true ;
210+ auto * wheel_event =
211+ reinterpret_cast <Ecore_Event_Mouse_Wheel*>(event_info);
212+ double delta_x = 0.0 ;
213+ double delta_y = 0.0 ;
214+
215+ if (wheel_event->direction == kScrollDirectionVertical ) {
216+ delta_y += wheel_event->z ;
217+ } else if (wheel_event->direction == kScrollDirectionHorizontal ) {
218+ delta_x += wheel_event->z ;
189219 }
190- self->view_ ->OnPointerMove (
191- mouse_event->cur .canvas .x , mouse_event->cur .canvas .y ,
192- mouse_event->timestamp , kFlutterPointerDeviceKindTouch ,
193- mouse_event->buttons );
220+ TizenGeometry geometry = self->GetGeometry ();
221+ self->view_ ->OnScroll (
222+ wheel_event->x - geometry.left , wheel_event->y - geometry.top ,
223+ delta_x, delta_y, kScrollOffsetMultiplier ,
224+ wheel_event->timestamp , kFlutterPointerDeviceKindTouch , 0 );
194225 }
195226 }
196227 };
197- evas_object_event_callback_add (
198- event_layer_, EVAS_CALLBACK_MOUSE_MOVE,
199- evas_object_callbacks_[EVAS_CALLBACK_MOUSE_MOVE], this );
200-
201- evas_object_callbacks_[EVAS_CALLBACK_MOUSE_WHEEL] = [](void * data, Evas* evas,
202- Evas_Object* object,
203- void * event_info) {
204- auto * self = reinterpret_cast <TizenViewElementary*>(data);
205- if (self->view_ ) {
206- if (self->event_layer_ == object) {
207- auto * wheel_event =
208- reinterpret_cast <Ecore_Event_Mouse_Wheel*>(event_info);
209- double delta_x = 0.0 ;
210- double delta_y = 0.0 ;
211-
212- if (wheel_event->direction == kScrollDirectionVertical ) {
213- delta_y += wheel_event->z ;
214- } else if (wheel_event->direction == kScrollDirectionHorizontal ) {
215- delta_x += wheel_event->z ;
216- }
217-
218- self->view_ ->OnScroll (wheel_event->x , wheel_event->y , delta_x, delta_y,
219- kScrollOffsetMultiplier , wheel_event->timestamp ,
220- kFlutterPointerDeviceKindTouch , 0 );
221- }
222- }
223- };
224228 evas_object_event_callback_add (
225229 event_layer_, EVAS_CALLBACK_MOUSE_WHEEL,
226230 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_WHEEL], this );
0 commit comments