[Tizen] Add a method to Window 30/275730/1
authorHeeyong Song <heeyong.song@samsung.com>
Tue, 31 May 2022 05:04:54 +0000 (14:04 +0900)
committerHeeyong Song <heeyong.song@samsung.com>
Tue, 31 May 2022 05:04:54 +0000 (14:04 +0900)
Add a method to get the last touch event from the Window

Change-Id: I05f173a5529713927a886c36f04815131246d7f4

dali/devel-api/adaptor-framework/window-devel.cpp
dali/devel-api/adaptor-framework/window-devel.h
dali/internal/window-system/common/window-impl.cpp
dali/internal/window-system/common/window-impl.h

index dc053dc..e2f22fc 100644 (file)
@@ -229,6 +229,11 @@ const KeyEvent& GetLastKeyEvent(Window window)
   return GetImplementation(window).GetLastKeyEvent();
 }
 
+const TouchEvent& GetLastTouchEvent(Window window)
+{
+  return GetImplementation(window).GetLastTouchEvent();
+}
+
 } // namespace DevelWindow
 
 } // namespace Dali
index 5c84bc4..f6e49b3 100644 (file)
@@ -431,6 +431,14 @@ DALI_ADAPTOR_API void FeedKeyEvent(Window window, const Dali::KeyEvent& keyEvent
  */
 DALI_ADAPTOR_API const KeyEvent& GetLastKeyEvent(Window window);
 
+/**
+ * @brief Gets the last touch event the window gets.
+ *
+ * @param[in] window The window instance.
+ * @return The last touch event the window gets.
+ */
+DALI_ADAPTOR_API const TouchEvent& GetLastTouchEvent(Window window);
+
 } // namespace DevelWindow
 
 } // namespace Dali
index 4dc1c20..1bee8a7 100644 (file)
@@ -96,7 +96,8 @@ Window::Window()
   mTransitionEffectEventSignal(),
   mKeyboardRepeatSettingsChangedSignal(),
   mAuxiliaryMessageSignal(),
-  mLastKeyEevent()
+  mLastKeyEevent(),
+  mLastTouchEevent()
 {
 }
 
@@ -828,6 +829,7 @@ void Window::OnUpdatePositionSize(Dali::PositionSize& positionSize)
 
 void Window::OnTouchPoint(Dali::Integration::Point& point, int timeStamp)
 {
+  mLastTouchEevent = Dali::Integration::NewTouchEvent(timeStamp, point);
   FeedTouchPoint(point, timeStamp);
 }
 
@@ -839,7 +841,6 @@ void Window::OnWheelEvent(Dali::Integration::WheelEvent& wheelEvent)
 void Window::OnKeyEvent(Dali::Integration::KeyEvent& keyEvent)
 {
   mLastKeyEevent = Dali::DevelKeyEvent::New(keyEvent.keyName, keyEvent.logicalKey, keyEvent.keyString, keyEvent.keyCode, keyEvent.keyModifier, keyEvent.time, static_cast<Dali::KeyEvent::State>(keyEvent.state), keyEvent.compose, keyEvent.deviceName, keyEvent.deviceClass, keyEvent.deviceSubclass);
-
   FeedKeyEvent(keyEvent);
 }
 
@@ -1150,6 +1151,11 @@ const Dali::KeyEvent& Window::GetLastKeyEvent() const
   return mLastKeyEevent;
 }
 
+const Dali::TouchEvent& Window::GetLastTouchEvent() const
+{
+  return mLastTouchEevent;
+}
+
 } // namespace Adaptor
 
 } // namespace Internal
index 9bfe3b3..9718787 100644 (file)
@@ -21,6 +21,7 @@
 // EXTERNAL INCLUDES
 #include <dali/public-api/actors/layer.h>
 #include <dali/public-api/adaptor-framework/window-enumerations.h>
+#include <dali/public-api/events/touch-event.h>
 #include <dali/public-api/object/base-object.h>
 #include <dali/public-api/object/property-array.h>
 #include <dali/public-api/object/ref-object.h>
@@ -427,6 +428,11 @@ public: // Dali::Internal::Adaptor::SceneHolder
    */
   const Dali::KeyEvent& GetLastKeyEvent() const;
 
+  /**
+   * @copydoc Dali::DevelWindow::GetLastTouchEvent()
+   */
+  const Dali::TouchEvent& GetLastTouchEvent() const;
+
 private:
   /**
    * @brief Enumeration for orietation mode.
@@ -704,6 +710,7 @@ private:
   AuxiliaryMessageSignalType              mAuxiliaryMessageSignal;
 
   Dali::KeyEvent mLastKeyEevent;
+  Dali::TouchEvent mLastTouchEevent;
 };
 
 } // namespace Adaptor