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 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
/**
*/
InsetsChangedSignalType& InsetsChangedSignal();
+ /**
+ * @brief This signal is emitted when window pointer is locked/unlocked
+ */
+ PointerConstraintsSignalType& PointerConstraintsSignal();
+
protected:
// Undefined
WindowBase(const WindowBase&) = delete;
MoveCompletedSignalType mMoveCompletedSignal;
ResizeCompletedSignalType mResizeCompletedSignal;
InsetsChangedSignalType mInsetsChangedSignal;
+ PointerConstraintsSignalType mPointerConstraintsSignal;
};
} // namespace Adaptor