X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fcommon%2Fwindow-base.h;h=782bc9e7d782511d2562eefa36cf1058f07baf87;hb=6349227b3481258c3f69f8d49541eb27e96248e4;hp=d0115edc069f94a4cf9738b955035b60c444599f;hpb=5464db5037dce91da2312f66ecbb912f2ec3266c;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/window-system/common/window-base.h b/dali/internal/window-system/common/window-base.h index d0115ed..782bc9e 100644 --- a/dali/internal/window-system/common/window-base.h +++ b/dali/internal/window-system/common/window-base.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_WINDOWSYSTEM_COMMON_WINDOW_BASE_H /* - * Copyright (c) 2022 Samsung Electronics Co., Ltd. + * Copyright (c) 2023 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +27,7 @@ #include // INTERNAL INCLUDES +#include #include #include #include @@ -63,17 +64,24 @@ public: }; // Window - typedef Signal IconifySignalType; - typedef Signal FocusSignalType; - typedef Signal OutputSignalType; - typedef Signal DeleteSignalType; - typedef Signal DamageSignalType; - typedef Signal RotationSignalType; - typedef Signal TransitionEffectEventSignalType; - typedef Signal KeyboardRepeatSettingsChangedSignalType; - typedef Signal WindowRedrawRequestSignalType; - typedef Signal UpdatePositionSizeType; - typedef Signal AuxiliaryMessageSignalType; + typedef Signal IconifySignalType; + typedef Signal MaximizeSignalType; + typedef Signal FocusSignalType; + typedef Signal OutputSignalType; + typedef Signal DeleteSignalType; + typedef Signal DamageSignalType; + typedef Signal RotationSignalType; + typedef Signal TransitionEffectEventSignalType; + typedef Signal KeyboardRepeatSettingsChangedSignalType; + typedef Signal WindowRedrawRequestSignalType; + typedef Signal UpdatePositionSizeType; + typedef Signal AuxiliaryMessageSignalType; + typedef Signal MouseInOutEventSignalType; + typedef Signal MouseRelativeEventSignalType; + typedef Signal MoveCompletedSignalType; + typedef Signal ResizeCompletedSignalType; + typedef Signal InsetsChangedSignalType; + typedef Signal PointerConstraintsSignalType; // Input events typedef Signal TouchEventSignalType; @@ -84,7 +92,7 @@ public: typedef Signal SelectionSignalType; // Accessibility - typedef Signal StyleSignalType; + typedef Signal StyleSignalType; /** * @brief Default constructor @@ -166,6 +174,11 @@ public: virtual void MoveResize(Dali::PositionSize positionSize) = 0; /** + * @copydoc Dali::Window::SetLayout() + */ + virtual void SetLayout(unsigned int numCols, unsigned int numRows, unsigned int column, unsigned int row, unsigned int colSpan, unsigned int rowSpan) = 0; + + /** * @copydoc Dali::Window::SetClass() */ virtual void SetClass(const std::string& name, const std::string& className) = 0; @@ -455,6 +468,68 @@ public: */ virtual void ExcludeInputRegion(const Rect& 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 /** @@ -463,6 +538,11 @@ public: IconifySignalType& IconifyChangedSignal(); /** + * @brief This signal is emitted when the window becomes maximized or unmaximized. + */ + MaximizeSignalType& MaximizeChangedSignal(); + + /** * @brief This signal is emitted when the window focus is changed. */ FocusSignalType& FocusChangedSignal(); @@ -533,7 +613,8 @@ public: WindowRedrawRequestSignalType& WindowRedrawRequestSignal(); /** - * @brief This signal is emitted when the window is resized or moved by display server. + * @brief This signal is emitted when the window's geometry data is changed by display server or client. + * It is based on configure noification event. */ UpdatePositionSizeType& UpdatePositionSizeSignal(); @@ -542,6 +623,40 @@ public: */ AuxiliaryMessageSignalType& AuxiliaryMessageSignal(); + /** + * @brief This signal is emitted when a mouse in or out event is recevied. + */ + 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. + */ + MoveCompletedSignalType& MoveCompletedSignal(); + + /** + * @brief This signal is emitted when window has been resized by then display server. + * To be resized the window by display server, RequestResizeToServer() should be called. + * After the resizing job is finished, this function will be called. + */ + ResizeCompletedSignalType& ResizeCompletedSignal(); + + /** + * @brief This signal is emitted when window insets are changed by appearing or disappearing indicator, virtual keyboard, or clipboard. + */ + InsetsChangedSignalType& InsetsChangedSignal(); + + /** + * @brief This signal is emitted when window pointer is locked/unlocked + */ + PointerConstraintsSignalType& PointerConstraintsSignal(); + protected: // Undefined WindowBase(const WindowBase&) = delete; @@ -551,6 +666,7 @@ protected: protected: IconifySignalType mIconifyChangedSignal; + MaximizeSignalType mMaximizeChangedSignal; FocusSignalType mFocusChangedSignal; OutputSignalType mOutputTransformedSignal; DeleteSignalType mDeleteRequestSignal; @@ -567,6 +683,12 @@ protected: WindowRedrawRequestSignalType mWindowRedrawRequestSignal; UpdatePositionSizeType mUpdatePositionSizeSignal; AuxiliaryMessageSignalType mAuxiliaryMessageSignal; + MouseInOutEventSignalType mMouseInOutEventSignal; + MouseRelativeEventSignalType mMouseRelativeEventSignal; + MoveCompletedSignalType mMoveCompletedSignal; + ResizeCompletedSignalType mResizeCompletedSignal; + InsetsChangedSignalType mInsetsChangedSignal; + PointerConstraintsSignalType mPointerConstraintsSignal; }; } // namespace Adaptor