Skip to content

Commit c96b130

Browse files
rwalczynaswift-kim
authored andcommitted
Add multi touch support for Tizen embedder (#74)
* Add multi touch support for Tizen embedder Tested on TM1 device Signed-off-by: Rafal Walczyna <[email protected]> * Rename multi_touch_device to device_id Signed-off-by: Rafal Walczyna <[email protected]>
1 parent df0e60f commit c96b130

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

shell/platform/tizen/touch_event_handler.cc

+9-4
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ void TouchEventHandler::SendFlutterPointerEvent(FlutterPointerPhase phase,
3333
double x, double y,
3434
double scroll_delta_x,
3535
double scroll_delta_y,
36-
size_t timestamp) {
36+
size_t timestamp,
37+
int device_id = 0) {
3738
if (!engine_->flutter_engine) {
3839
return;
3940
}
@@ -66,6 +67,7 @@ void TouchEventHandler::SendFlutterPointerEvent(FlutterPointerPhase phase,
6667
event.scroll_delta_x = scroll_delta_x * 2;
6768
event.scroll_delta_y = scroll_delta_y * 2;
6869
event.timestamp = timestamp * 1000;
70+
event.device = device_id;
6971
FlutterEngineSendPointerEvent(engine_->flutter_engine, &event, 1);
7072
}
7173

@@ -76,17 +78,20 @@ Eina_Bool TouchEventHandler::OnTouch(void *data, int type, void *event) {
7678
self->pointer_state_ = true;
7779
auto *button_event = reinterpret_cast<Ecore_Event_Mouse_Button *>(event);
7880
self->SendFlutterPointerEvent(kDown, button_event->x, button_event->y, 0, 0,
79-
button_event->timestamp);
81+
button_event->timestamp,
82+
button_event->multi.device);
8083
} else if (type == ECORE_EVENT_MOUSE_BUTTON_UP) {
8184
self->pointer_state_ = false;
8285
auto *button_event = reinterpret_cast<Ecore_Event_Mouse_Button *>(event);
8386
self->SendFlutterPointerEvent(kUp, button_event->x, button_event->y, 0, 0,
84-
button_event->timestamp);
87+
button_event->timestamp,
88+
button_event->multi.device);
8589
} else if (type == ECORE_EVENT_MOUSE_MOVE) {
8690
if (self->pointer_state_) {
8791
auto *move_event = reinterpret_cast<Ecore_Event_Mouse_Move *>(event);
8892
self->SendFlutterPointerEvent(kMove, move_event->x, move_event->y, 0, 0,
89-
move_event->timestamp);
93+
move_event->timestamp,
94+
move_event->multi.device);
9095
}
9196
} else if (type == ECORE_EVENT_MOUSE_WHEEL) {
9297
auto *wheel_event = reinterpret_cast<Ecore_Event_Mouse_Wheel *>(event);

shell/platform/tizen/touch_event_handler.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class TouchEventHandler {
2727

2828
void SendFlutterPointerEvent(FlutterPointerPhase phase, double x, double y,
2929
double scroll_delta_x, double scroll_delta_y,
30-
size_t timestamp);
30+
size_t timestamp, int device_id);
3131

3232
static Eina_Bool OnTouch(void* data, int type, void* event);
3333
};

0 commit comments

Comments
 (0)