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=d84e52873d3f63c624d471dd0883db761db5a170;hpb=cae932e2ddbdb8b51624828a5919abc0410c2252;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 d84e528..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) 2021 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,8 +92,7 @@ public: typedef Signal SelectionSignalType; // Accessibility - typedef Signal StyleSignalType; - typedef Signal AccessibilitySignalType; + typedef Signal StyleSignalType; /** * @brief Default constructor @@ -111,6 +118,12 @@ public: virtual int GetNativeWindowId() = 0; /** + * @brief Get the native window resource id assinged by window manager + * @return The native window resource id + */ + virtual std::string GetNativeWindowResourceId() = 0; + + /** * @brief Create the egl window */ virtual EGLNativeWindowType CreateEglWindow(int width, int height) = 0; @@ -161,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; @@ -191,6 +209,11 @@ public: virtual bool IsMaximized() const = 0; /** + * @copydoc Dali::DevelWindow::SetMaximumSize() + */ + virtual void SetMaximumSize(Dali::Window::WindowSize size) = 0; + + /** * @copydoc Dali::DevelWindow::Minimize() */ virtual void Minimize(bool minimize) = 0; @@ -201,6 +224,11 @@ public: virtual bool IsMinimized() const = 0; /** + * @copydoc Dali::DevelWindow::SetMimimumSize() + */ + virtual void SetMimimumSize(Dali::Window::WindowSize size) = 0; + + /** * @copydoc Dali::Window::SetAvailableOrientations() */ virtual void SetAvailableAnlges(const std::vector& angles) = 0; @@ -338,18 +366,19 @@ public: virtual void GetDpi(unsigned int& dpiHorizontal, unsigned int& dpiVertical) = 0; /** - * @brief Return the orientation of the surface. - * @return The orientation + * @brief Return the angle of the window's rotation. + * @return The window orientation */ - virtual int GetOrientation() const = 0; + virtual int GetWindowRotationAngle() const = 0; /** - * @brief Get the screen rotation angle of the window + * @brief Get the angle of screen rotation for the window + * @return The screen orientation */ virtual int GetScreenRotationAngle() = 0; /** - * @brief Set the rotation angle of the window + * @brief Set the screen rotation angle of the window */ virtual void SetWindowRotationAngle(int degree) = 0; @@ -439,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 /** @@ -447,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(); @@ -502,11 +598,6 @@ public: StyleSignalType& StyleChangedSignal(); /** - * @brief This signal is emitted when an accessibility event is received. - */ - AccessibilitySignalType& AccessibilitySignal(); - - /** * @brief This signal is emitted when window's transition animation is started or ended. */ TransitionEffectEventSignalType& TransitionEffectEventSignal(); @@ -522,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(); @@ -531,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; @@ -540,6 +666,7 @@ protected: protected: IconifySignalType mIconifyChangedSignal; + MaximizeSignalType mMaximizeChangedSignal; FocusSignalType mFocusChangedSignal; OutputSignalType mOutputTransformedSignal; DeleteSignalType mDeleteRequestSignal; @@ -551,12 +678,17 @@ protected: SelectionSignalType mSelectionDataSendSignal; SelectionSignalType mSelectionDataReceivedSignal; StyleSignalType mStyleChangedSignal; - AccessibilitySignalType mAccessibilitySignal; TransitionEffectEventSignalType mTransitionEffectEventSignal; KeyboardRepeatSettingsChangedSignalType mKeyboardRepeatSettingsChangedSignal; WindowRedrawRequestSignalType mWindowRedrawRequestSignal; UpdatePositionSizeType mUpdatePositionSizeSignal; AuxiliaryMessageSignalType mAuxiliaryMessageSignal; + MouseInOutEventSignalType mMouseInOutEventSignal; + MouseRelativeEventSignalType mMouseRelativeEventSignal; + MoveCompletedSignalType mMoveCompletedSignal; + ResizeCompletedSignalType mResizeCompletedSignal; + InsetsChangedSignalType mInsetsChangedSignal; + PointerConstraintsSignalType mPointerConstraintsSignal; }; } // namespace Adaptor