summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEunki Hong <eunkiki.hong@samsung.com>2024-03-29 22:30:40 +0900
committerEunki Hong <eunkiki.hong@samsung.com>2024-03-29 22:45:57 +0900
commit006d9f01b48b873664d82a9d08e529d1d50d386a (patch)
treeb2d4fdd786237479b0950250a563e155cfa4a53c
parentede87f7ad9327a5dc79d8c049a56cf8c0aee950a (diff)
downloaddali-adaptor-006d9f01b48b873664d82a9d08e529d1d50d386a.tar.gz
dali-adaptor-006d9f01b48b873664d82a9d08e529d1d50d386a.tar.bz2
dali-adaptor-006d9f01b48b873664d82a9d08e529d1d50d386a.zip
Set device class when mouse cancel
Let we add device and screen and etc informations at MouseCancel event. It will be used when interrupt event sended to application side. Change-Id: I29f88d49234b33840783f8297c8e605819f3085d Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
-rw-r--r--dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp13
-rw-r--r--dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp13
2 files changed, 24 insertions, 2 deletions
diff --git a/dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp b/dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp
index ecd3ec6f7..5150e927f 100644
--- a/dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp
+++ b/dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp
@@ -898,10 +898,21 @@ void WindowBaseEcoreWl::OnMouseButtonCancel(void* data, int type, void* event)
if(touchEvent->window == static_cast<unsigned int>(ecore_wl_window_id_get(mEcoreWindow)))
{
+ Device::Class::Type deviceClass;
+ Device::Subclass::Type deviceSubclass;
+
+ GetDeviceClass(ecore_device_class_get(touchEvent->dev), deviceClass);
+ GetDeviceSubclass(ecore_device_subclass_get(touchEvent->dev), deviceSubclass);
+
Integration::Point point;
point.SetDeviceId(touchEvent->multi.device);
point.SetState(PointState::INTERRUPTED);
- point.SetScreenPosition(Vector2(0.0f, 0.0f));
+ point.SetScreenPosition(Vector2(touchEvent->x, touchEvent->y));
+ point.SetRadius(touchEvent->multi.radius, Vector2(touchEvent->multi.radius_x, touchEvent->multi.radius_y));
+ point.SetPressure(touchEvent->multi.pressure);
+ point.SetAngle(Degree(touchEvent->multi.angle));
+ point.SetDeviceClass(deviceClass);
+ point.SetDeviceSubclass(deviceSubclass);
mTouchEventSignal.Emit(point, touchEvent->timestamp);
diff --git a/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp b/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp
index 9f02a2a18..ea136a389 100644
--- a/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp
+++ b/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp
@@ -1396,10 +1396,21 @@ void WindowBaseEcoreWl2::OnMouseButtonCancel(void* data, int type, void* event)
{
DALI_TRACE_SCOPE(gTraceFilter, "DALI_ON_MOUSE_CANCEL");
+ Device::Class::Type deviceClass;
+ Device::Subclass::Type deviceSubclass;
+
+ GetDeviceClass(ecore_device_class_get(touchEvent->dev), deviceClass);
+ GetDeviceSubclass(ecore_device_subclass_get(touchEvent->dev), deviceSubclass);
+
Integration::Point point;
point.SetDeviceId(touchEvent->multi.device);
point.SetState(PointState::INTERRUPTED);
- point.SetScreenPosition(Vector2(0.0f, 0.0f));
+ point.SetScreenPosition(Vector2(touchEvent->x, touchEvent->y));
+ point.SetRadius(touchEvent->multi.radius, Vector2(touchEvent->multi.radius_x, touchEvent->multi.radius_y));
+ point.SetPressure(touchEvent->multi.pressure);
+ point.SetAngle(Degree(touchEvent->multi.angle));
+ point.SetDeviceClass(deviceClass);
+ point.SetDeviceSubclass(deviceSubclass);
mTouchEventSignal.Emit(point, touchEvent->timestamp);