diff options
author | Eunki Hong <eunkiki.hong@samsung.com> | 2024-03-29 22:30:40 +0900 |
---|---|---|
committer | Eunki Hong <eunkiki.hong@samsung.com> | 2024-03-29 22:45:57 +0900 |
commit | 006d9f01b48b873664d82a9d08e529d1d50d386a (patch) | |
tree | b2d4fdd786237479b0950250a563e155cfa4a53c | |
parent | ede87f7ad9327a5dc79d8c049a56cf8c0aee950a (diff) | |
download | dali-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.cpp | 13 | ||||
-rw-r--r-- | dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp | 13 |
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); |