typedef Signal<void(Dali::PositionSize&)> UpdatePositionSizeType;
typedef Signal<void(const std::string&, const std::string&, const Property::Array&)> AuxiliaryMessageSignalType;
typedef Signal<void(const Dali::DevelWindow::MouseInOutEvent&)> MouseInOutEventSignalType;
+ typedef Signal<void(const Dali::DevelWindow::MouseRelativeEvent&)> MouseRelativeEventSignalType;
typedef Signal<void(Dali::Int32Pair&)> MoveCompletedSignalType;
typedef Signal<void(Dali::Uint16Pair&)> ResizeCompletedSignalType;
typedef Signal<void(WindowInsetsPartType, WindowInsetsPartState, const Extents&)> InsetsChangedSignalType;
+ typedef Signal<void(const Dali::Int32Pair&, bool, bool)> PointerConstraintsSignalType;
// Input events
typedef Signal<void(Integration::Point&, uint32_t)> TouchEventSignalType;
*/
virtual void ExcludeInputRegion(const Rect<int>& inputRegion) = 0;
+ /**
+ * @brief Sets the pointer constraints lock.
+ * @return Returns true if PointerConstraintsLock succeeds.
+ */
+ virtual bool PointerConstraintsLock() = 0;
+
+ /**
+ * @brief Sets the pointer constraints unlock.
+ * @return Returns true if PointerConstraintsUnlock succeeds.
+ */
+ virtual bool PointerConstraintsUnlock() = 0;
+
+ /**
+ * @brief Sets the locked pointer region
+ *
+ * @param[in] x The x position.
+ * @param[in] y The y position.
+ * @param[in] width The width.
+ * @param[in] height The height
+ */
+ virtual void LockedPointerRegionSet(int32_t x, int32_t y, int32_t width, int32_t height) = 0;
+
+ /**
+ * @brief Sets the locked pointer cursor position hintset
+ *
+ * @param[in] x The x position.
+ * @param[in] y The y position.
+ */
+ virtual void LockedPointerCursorPositionHintSet(int32_t x, int32_t y) = 0;
+
+ /**
+ * @brief Sets the pointer warp. The pointer moves to the set coordinates.
+ *
+ * @param[in] x The x position.
+ * @param[in] y The y position.
+ * @return Returns true if PointerWarp succeeds.
+ */
+ virtual bool PointerWarp(int32_t x, int32_t y) = 0;
+
+ /**
+ * @brief Sets visibility on/off of cursor
+ *
+ * @param[in] visible The visibility of cursor
+ */
+ virtual void CursorVisibleSet(bool visible) = 0;
+
+ /**
+ * @brief Requests grab key events according to the requested device subtype
+ *
+ * @param[in] deviceSubclass The deviceSubclass type.
+ * @return Returns true if KeyboardGrab succeeds.
+ */
+ virtual bool KeyboardGrab(Device::Subclass::Type deviceSubclass) = 0;
+
+ /**
+ * @brief Requests ungrab key events
+ *
+ * @param[in] window The window instance.
+ * @return Returns true if KeyboardUnGrab succeeds.
+ */
+ virtual bool KeyboardUnGrab() = 0;
+
// Signals
/**
MouseInOutEventSignalType& MouseInOutEventSignal();
/**
+ * @brief This signal is emitted when a mouse relative event is recevied.
+ */
+ MouseRelativeEventSignalType& MouseRelativeEventSignal();
+
+ /**
* @brief This signal is emitted when window has been moved by then display server.
* To be moved the window by display server, RequestMoveToServer() should be called.
* After the moving job is finished, this function will be called.
*/
InsetsChangedSignalType& InsetsChangedSignal();
+ /**
+ * @brief This signal is emitted when window pointer is locked/unlocked
+ */
+ PointerConstraintsSignalType& PointerConstraintsSignal();
+
protected:
// Undefined
WindowBase(const WindowBase&) = delete;
UpdatePositionSizeType mUpdatePositionSizeSignal;
AuxiliaryMessageSignalType mAuxiliaryMessageSignal;
MouseInOutEventSignalType mMouseInOutEventSignal;
+ MouseRelativeEventSignalType mMouseRelativeEventSignal;
MoveCompletedSignalType mMoveCompletedSignal;
ResizeCompletedSignalType mResizeCompletedSignal;
InsetsChangedSignalType mInsetsChangedSignal;
+ PointerConstraintsSignalType mPointerConstraintsSignal;
};
} // namespace Adaptor