Change-Id: Ib8f1c974d388d04ba6bae21405dc423d815e3738
return GetImplementation(window).GetLastTouchEvent();
}
return GetImplementation(window).GetLastTouchEvent();
}
+const HoverEvent& GetLastHoverEvent(Window window)
+{
+ return GetImplementation(window).GetLastHoverEvent();
+}
+
bool PointerConstraintsLock(Window window)
{
return GetImplementation(window).PointerConstraintsLock();
bool PointerConstraintsLock(Window window)
{
return GetImplementation(window).PointerConstraintsLock();
{
class KeyEvent;
class TouchEvent;
{
class KeyEvent;
class TouchEvent;
class WheelEvent;
class RenderTaskList;
struct TouchPoint;
class WheelEvent;
class RenderTaskList;
struct TouchPoint;
DALI_ADAPTOR_API const TouchEvent& GetLastTouchEvent(Window window);
/**
DALI_ADAPTOR_API const TouchEvent& GetLastTouchEvent(Window window);
/**
+ * @brief Gets the last hover event the window gets.
+ *
+ * @param[in] window The window instance.
+ * @return The last hover event the window gets.
+ * @note It returns the raw event the window gets. There is no hit-actor and local position information.
+ */
+DALI_ADAPTOR_API const HoverEvent& GetLastHoverEvent(Window window);
+
+/**
* @brief Sets the pointer constraints lock.
*
* @param[in] window The window instance.
* @brief Sets the pointer constraints lock.
*
* @param[in] window The window instance.
#include <dali/integration-api/events/hover-event-integ.h>
#include <dali/integration-api/events/key-event-integ.h>
#include <dali/integration-api/events/touch-event-integ.h>
#include <dali/integration-api/events/hover-event-integ.h>
#include <dali/integration-api/events/key-event-integ.h>
#include <dali/integration-api/events/touch-event-integ.h>
+#include <dali/integration-api/events/touch-integ.h>
#include <dali/integration-api/events/wheel-event-integ.h>
#include <dali/public-api/actors/actor.h>
#include <dali/public-api/actors/layer.h>
#include <dali/integration-api/events/wheel-event-integ.h>
#include <dali/public-api/actors/actor.h>
#include <dali/public-api/actors/layer.h>
SceneHolder::SceneHolder()
: mLifeCycleObserver(new SceneHolderLifeCycleObserver(mAdaptor)),
SceneHolder::SceneHolder()
: mLifeCycleObserver(new SceneHolderLifeCycleObserver(mAdaptor)),
+ mLastTouchEvent(),
+ mLastHoverEvent(),
mId(mSceneHolderCounter++),
mSurface(nullptr),
mAdaptor(nullptr),
mId(mSceneHolderCounter++),
mSurface(nullptr),
mAdaptor(nullptr),
// First the touch and/or hover event & related gesture events are queued
if(type == Integration::TouchEventCombiner::DISPATCH_TOUCH || type == Integration::TouchEventCombiner::DISPATCH_BOTH)
{
// First the touch and/or hover event & related gesture events are queued
if(type == Integration::TouchEventCombiner::DISPATCH_TOUCH || type == Integration::TouchEventCombiner::DISPATCH_BOTH)
{
+ mLastTouchEvent = Dali::Integration::NewTouchEvent(timeStamp, point);
mScene.QueueEvent(touchEvent);
}
if(type == Integration::TouchEventCombiner::DISPATCH_HOVER || type == Integration::TouchEventCombiner::DISPATCH_BOTH)
{
mScene.QueueEvent(touchEvent);
}
if(type == Integration::TouchEventCombiner::DISPATCH_HOVER || type == Integration::TouchEventCombiner::DISPATCH_BOTH)
{
+ mLastHoverEvent = Dali::Integration::NewHoverEvent(timeStamp, point);
mScene.QueueEvent(hoverEvent);
}
mScene.QueueEvent(hoverEvent);
}
+const Dali::TouchEvent& SceneHolder::GetLastTouchEvent() const
+{
+ return mLastTouchEvent;
+}
+
+const Dali::HoverEvent& SceneHolder::GetLastHoverEvent() const
+{
+ return mLastHoverEvent;
+}
+
void SceneHolder::FeedWheelEvent(Dali::Integration::WheelEvent& wheelEvent)
{
// Signals can be emitted while processing core events, and the scene holder could be deleted in the signal callback.
void SceneHolder::FeedWheelEvent(Dali::Integration::WheelEvent& wheelEvent)
{
// Signals can be emitted while processing core events, and the scene holder could be deleted in the signal callback.
// EXTERNAL INCLUDES
#include <dali/graphics-api/graphics-controller.h>
// EXTERNAL INCLUDES
#include <dali/graphics-api/graphics-controller.h>
+#include <dali/integration-api/events/hover-event-integ.h>
#include <dali/integration-api/events/key-event-integ.h>
#include <dali/integration-api/events/point.h>
#include <dali/integration-api/events/touch-event-combiner.h>
#include <dali/integration-api/scene.h>
#include <dali/public-api/common/intrusive-ptr.h>
#include <dali/integration-api/events/key-event-integ.h>
#include <dali/integration-api/events/point.h>
#include <dali/integration-api/events/touch-event-combiner.h>
#include <dali/integration-api/scene.h>
#include <dali/public-api/common/intrusive-ptr.h>
+#include <dali/public-api/events/hover-event.h>
+#include <dali/public-api/events/touch-event.h>
#include <dali/public-api/math/uint-16-pair.h>
#include <dali/public-api/object/base-object.h>
#include <atomic>
#include <dali/public-api/math/uint-16-pair.h>
#include <dali/public-api/object/base-object.h>
#include <atomic>
void FeedTouchPoint(Dali::Integration::Point& point, int timeStamp);
/**
void FeedTouchPoint(Dali::Integration::Point& point, int timeStamp);
/**
+ * @brief Get the Last Touch Event
+ *
+ * @return Dali::TouchEvent
+ */
+ const Dali::TouchEvent& GetLastTouchEvent() const;
+
+ /**
+ * @brief Get the Last Hover Event
+ *
+ * @return Dali::HoverEvent
+ */
+ const Dali::HoverEvent& GetLastHoverEvent() const;
+
+ /**
* @copydoc Dali::Integration::SceneHolder::FeedWheelEvent
*/
void FeedWheelEvent(Dali::Integration::WheelEvent& wheelEvent);
* @copydoc Dali::Integration::SceneHolder::FeedWheelEvent
*/
void FeedWheelEvent(Dali::Integration::WheelEvent& wheelEvent);
class SceneHolderLifeCycleObserver;
std::unique_ptr<SceneHolderLifeCycleObserver> mLifeCycleObserver; ///< The adaptor life cycle observer
class SceneHolderLifeCycleObserver;
std::unique_ptr<SceneHolderLifeCycleObserver> mLifeCycleObserver; ///< The adaptor life cycle observer
+ Dali::TouchEvent mLastTouchEvent;
+ Dali::HoverEvent mLastHoverEvent;
protected:
uint32_t mId; ///< A unique ID to identify the SceneHolder starting from 0
protected:
uint32_t mId; ///< A unique ID to identify the SceneHolder starting from 0
#include <dali/devel-api/events/key-event-devel.h>
#include <dali/integration-api/core.h>
#include <dali/integration-api/events/touch-event-integ.h>
#include <dali/devel-api/events/key-event-devel.h>
#include <dali/integration-api/core.h>
#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali/integration-api/events/touch-integ.h>
#include <dali/public-api/actors/actor.h>
#include <dali/public-api/actors/camera-actor.h>
#include <dali/public-api/actors/layer.h>
#include <dali/public-api/actors/actor.h>
#include <dali/public-api/actors/camera-actor.h>
#include <dali/public-api/actors/layer.h>
mInsetsChangedSignal(),
mPointerConstraintsSignal(),
mLastKeyEvent(),
mInsetsChangedSignal(),
mPointerConstraintsSignal(),
mLastKeyEvent(),
mIsTransparent(false),
mIsFocusAcceptable(true),
mIconified(false),
mIsTransparent(false),
mIsFocusAcceptable(true),
mIconified(false),
void Window::OnTouchPoint(Dali::Integration::Point& point, int timeStamp)
{
void Window::OnTouchPoint(Dali::Integration::Point& point, int timeStamp)
{
- mLastTouchEvent = Dali::Integration::NewTouchEvent(timeStamp, point);
FeedTouchPoint(point, timeStamp);
}
FeedTouchPoint(point, timeStamp);
}
-const Dali::TouchEvent& Window::GetLastTouchEvent() const
-{
- return mLastTouchEvent;
-}
-
void Window::SetUserGeometryPolicy()
{
if(mIsEnabledUserGeometry == true)
void Window::SetUserGeometryPolicy()
{
if(mIsEnabledUserGeometry == true)
const Dali::KeyEvent& GetLastKeyEvent() const;
/**
const Dali::KeyEvent& GetLastKeyEvent() const;
/**
- * @copydoc Dali::DevelWindow::GetLastTouchEvent()
- */
- const Dali::TouchEvent& GetLastTouchEvent() const;
-
- /**
* @copydoc Dali::DevelWindow::PointerConstraintsLock()
*/
bool PointerConstraintsLock();
* @copydoc Dali::DevelWindow::PointerConstraintsLock()
*/
bool PointerConstraintsLock();
InsetsChangedSignalType mInsetsChangedSignal;
PointerConstraintsSignalType mPointerConstraintsSignal;
InsetsChangedSignalType mInsetsChangedSignal;
PointerConstraintsSignalType mPointerConstraintsSignal;
- Dali::KeyEvent mLastKeyEvent;
- Dali::TouchEvent mLastTouchEvent;
+ Dali::KeyEvent mLastKeyEvent;
bool mIsTransparent : 1;
bool mIsFocusAcceptable : 1;
bool mIsTransparent : 1;
bool mIsFocusAcceptable : 1;