X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fcommon%2Fwindow-base.h;h=d0115edc069f94a4cf9738b955035b60c444599f;hb=858e8fc245edd695501f3e9d460669e592bda9d3;hp=62a70edf1cd8b21d055d80f1861216c910d1e28a;hpb=880c3fef683f952d6fe64a7eeb1a83b34959c4ec;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 62a70ed..d0115ed 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) 2022 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. @@ -72,6 +72,8 @@ public: typedef Signal TransitionEffectEventSignalType; typedef Signal KeyboardRepeatSettingsChangedSignalType; typedef Signal WindowRedrawRequestSignalType; + typedef Signal UpdatePositionSizeType; + typedef Signal AuxiliaryMessageSignalType; // Input events typedef Signal TouchEventSignalType; @@ -83,7 +85,6 @@ public: // Accessibility typedef Signal StyleSignalType; - typedef Signal AccessibilitySignalType; /** * @brief Default constructor @@ -109,6 +110,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; @@ -179,6 +186,36 @@ public: virtual void Activate() = 0; /** + * @copydoc Dali::DevelWindow::Maximize() + */ + virtual void Maximize(bool maximize) = 0; + + /** + * @copydoc Dali::DevelWindow::IsMaximized() + */ + 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; + + /** + * @copydoc Dali::DevelWindow::IsMinimized() + */ + 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; @@ -249,9 +286,14 @@ public: virtual void SetType(Dali::WindowType type) = 0; /** + * @copydoc Dali::Window::GetType() + */ + virtual Dali::WindowType GetType() const = 0; + + /** * @copydoc Dali::Window::SetNotificationLevel() */ - virtual bool SetNotificationLevel(Dali::WindowNotificationLevel level) = 0; + virtual Dali::WindowOperationResult SetNotificationLevel(Dali::WindowNotificationLevel level) = 0; /** * @copydoc Dali::Window::GetNotificationLevel() @@ -266,7 +308,7 @@ public: /** * @copydoc Dali::Window::SetScreenOffMode() */ - virtual bool SetScreenOffMode(WindowScreenOffMode screenOffMode) = 0; + virtual Dali::WindowOperationResult SetScreenOffMode(WindowScreenOffMode screenOffMode) = 0; /** * @copydoc Dali::Window::GetScreenOffMode() @@ -276,7 +318,7 @@ public: /** * @copydoc Dali::Window::SetBrightness() */ - virtual bool SetBrightness(int brightness) = 0; + virtual Dali::WindowOperationResult SetBrightness(int brightness) = 0; /** * @copydoc Dali::Window::GetBrightness() @@ -311,18 +353,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; @@ -332,6 +375,36 @@ public: virtual void WindowRotationCompleted(int degree, int width, int height) = 0; /** + * @brief starts the window is moved by display server + */ + virtual void RequestMoveToServer() = 0; + + /** + * @brief starts the window is resized by display server + * + * @param[in] direction It is direction of the started edge/side. + */ + virtual void RequestResizeToServer(WindowResizeDirection direction) = 0; + + /** + * @brief Enables the floating mode of window. + * + * The floating mode is to support making partial size window easliy. + * It is useful to make popup style window + * and this window is always upper than the other normal window. + * + * A special display server(as a Tizen display server) supports this mode. + * + * @param[in] enable Enable floating mode or not. + */ + virtual void EnableFloatingMode(bool enable) = 0; + + /** + * @brief Gets whether floating mode is enabled or not. + */ + virtual bool IsFloatingModeEnabled() const = 0; + + /** * @copydoc Dali::Window::SetTransparency() */ virtual void SetTransparency(bool transparent) = 0; @@ -339,7 +412,7 @@ public: /** * @copydoc Dali::Window::SetParent() */ - virtual void SetParent(WindowBase* parentWinBase) = 0; + virtual void SetParent(WindowBase* parentWinBase, bool belowParent) = 0; /** * @brief Create a sync fence that can tell the frame is rendered by the graphics driver. @@ -353,6 +426,35 @@ public: */ virtual int CreateFramePresentedSyncFence() = 0; + /** + * @copydoc Dali::Window::SetPositionSizeWithAngle() + */ + virtual void SetPositionSizeWithAngle(PositionSize positionSize, int angle) = 0; + + /** + * @brief Initialize for Ime window. + * It should be called when the window is only used for Ime keyboard window. + */ + virtual void InitializeIme() = 0; + + /** + * @brief Send the signal to display server for Ime Window is ready to render. + * It is used for compositing by display server. + */ + virtual void ImeWindowReadyToRender() = 0; + + /** + * @brief Includes input region. + * @param[in] inputRegion The added region to accept input events. + */ + virtual void IncludeInputRegion(const Rect& inputRegion) = 0; + + /** + * @brief Excludes input region. + * @param[in] inputRegion The subtracted region to except input events. + */ + virtual void ExcludeInputRegion(const Rect& inputRegion) = 0; + // Signals /** @@ -416,11 +518,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(); @@ -435,6 +532,16 @@ public: */ WindowRedrawRequestSignalType& WindowRedrawRequestSignal(); + /** + * @brief This signal is emitted when the window is resized or moved by display server. + */ + UpdatePositionSizeType& UpdatePositionSizeSignal(); + + /** + * @brief This signal is emitted when the window is received the auxiliary message from display server. + */ + AuxiliaryMessageSignalType& AuxiliaryMessageSignal(); + protected: // Undefined WindowBase(const WindowBase&) = delete; @@ -455,10 +562,11 @@ protected: SelectionSignalType mSelectionDataSendSignal; SelectionSignalType mSelectionDataReceivedSignal; StyleSignalType mStyleChangedSignal; - AccessibilitySignalType mAccessibilitySignal; TransitionEffectEventSignalType mTransitionEffectEventSignal; KeyboardRepeatSettingsChangedSignalType mKeyboardRepeatSettingsChangedSignal; WindowRedrawRequestSignalType mWindowRedrawRequestSignal; + UpdatePositionSizeType mUpdatePositionSizeSignal; + AuxiliaryMessageSignalType mAuxiliaryMessageSignal; }; } // namespace Adaptor