X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Ftizen-wayland%2Fecore-wl2%2Fwindow-base-ecore-wl2.h;h=ee2ed72e25dba963bf843b64c00716b9c4008042;hb=2a3cd3da0c514177fe60d9048cff40fca49191e1;hp=3df827b23acc90c1e53f3a494aac5dddd42ddd1b;hpb=ac63e9f54ced9f1ebad3cfbe285d7c29887dd7c2;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.h b/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.h index 3df827b..ee2ed72 100644 --- a/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.h +++ b/dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_WINDOWSYSTEM_TIZENWAYLAND_WINDOW_BASE_ECORE_WL2_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. @@ -29,10 +29,6 @@ #include #include -#ifdef DALI_ELDBUS_AVAILABLE -#include -#endif - namespace Dali { namespace Internal @@ -176,14 +172,6 @@ public: */ void OnEcoreEventWindowAuxiliaryMessage(void* event); - -#ifdef DALI_ELDBUS_AVAILABLE - /** - * @brief Called when Ecore ElDBus accessibility event is received. - */ - void OnEcoreElDBusAccessibilityNotification(void* context, const Eldbus_Message* message); -#endif - /** * @brief Called when a keymap is changed. */ @@ -231,6 +219,11 @@ public: int GetNativeWindowId() override; /** + * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeWindowResourceId() + */ + std::string GetNativeWindowResourceId() override; + + /** * @copydoc Dali::Internal::Adaptor::WindowBase::CreateEglWindow() */ EGLNativeWindowType CreateEglWindow(int width, int height) override; @@ -280,6 +273,11 @@ public: */ void MoveResize(PositionSize positionSize) override; + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::SetLayout() + */ + void SetLayout(unsigned int numCols, unsigned int numRows, unsigned int column, unsigned int row, unsigned int colSpan, unsigned int rowSpan) override; + /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetClass() */ @@ -301,6 +299,36 @@ public: void Activate() override; /** + * @copydoc Dali::Internal::Adaptor::WindowBase::Maximize() + */ + void Maximize(bool maximize) override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::IsMaximized() + */ + bool IsMaximized() const override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::SetMaximumSize() + */ + void SetMaximumSize(Dali::Window::WindowSize size) override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::Minimize() + */ + void Minimize(bool minimize) override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::IsMinimized() + */ + bool IsMinimized() const override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::SetMimimumSize() + */ + void SetMimimumSize(Dali::Window::WindowSize size) override; + + /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetAvailableAnlges() */ void SetAvailableAnlges(const std::vector& angles) override; @@ -436,9 +464,9 @@ public: void GetDpi(unsigned int& dpiHorizontal, unsigned int& dpiVertical) override; /** - * @copydoc Dali::Internal::Adaptor::WindowBase::GetOrientation() + * @copydoc Dali::Internal::Adaptor::WindowBase::GetWindowRotationAngle() */ - int GetOrientation() const override; + int GetWindowRotationAngle() const override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::GetScreenRotationAngle() @@ -527,14 +555,42 @@ private: void Initialize(PositionSize positionSize, Any surface, bool isTransparent); /** - * Initialize Ecore ElDBus + * @brief Create window */ - void InitializeEcoreElDBus(); + void CreateWindow(PositionSize positionSize); /** - * @brief Create window + * @brief Return the window's position and size to recalulate with the default system coordinates. + * It is used when window is moved or resized for native ecore wayland window system. + * + * @param[in] positionSize the window's current position and size with current oriented window's coordinates. + * @return the re-calculated window's position and size on the default system coordinates. */ - void CreateWindow(PositionSize positionSize); + PositionSize RecalculatePositionSizeToSystem(PositionSize positionSize); + + /** + * @brief Return the window's position and size to recalulate with current oriented window's coordinates. + * It is used when window is moved or resized for dali and uppler layer framework. + * + * @param[in] positionSize the window's current position and size with the default system coordinates. + * @return the re-calculated window's position and size on current oriented window's coordinates. + */ + PositionSize RecalculatePositionSizeToCurrentOrientation(PositionSize positionSize); + + + /** + * @brief Return the rect value to recalulate with the default system coordinates. + * + * Some native window APIs work the geometry value based on the default system coordinates. + * IncludeInputRegion() and ExcludeInputRegion() are one of them. + * When the window is rotated, current window's geometry already were set with the rotated angle. + * If IncludeInputRegion() or ExcludeInputRegion() are called with rotated angle by application, + * the rect's area should be re-calcuated on the default system coordinates. + * + * @param[in] rect the window's current position and size with current window rotation angle. + * @return the re-calculated rect on the default system coordinates. + */ + Rect RecalculateInputRect(const Rect& rect); protected: // Undefined @@ -548,10 +604,18 @@ private: Dali::Vector mEcoreEventHandler; Ecore_Wl2_Window* mEcoreWindow; - wl_surface* mWlSurface; + wl_surface* mWlSurface; +#ifdef OVER_TIZEN_VERSION_7 + zwp_input_panel_v1* mWlInputPanel; +#else wl_input_panel* mWlInputPanel; - wl_output* mWlOutput; +#endif + wl_output* mWlOutput; +#ifdef OVER_TIZEN_VERSION_7 + zwp_input_panel_surface_v1* mWlInputPanelSurface; +#else wl_input_panel_surface* mWlInputPanelSurface; +#endif wl_egl_window* mEglWindow; wl_display* mDisplay; @@ -562,8 +626,10 @@ private: std::vector mSupportedAuxiliaryHints; + // It is based on the default system coordinates. Dali::PositionSize mWindowPositionSize; - AuxiliaryHints mAuxiliaryHints; + + AuxiliaryHints mAuxiliaryHints; WindowType mType; int mNotificationLevel; @@ -584,10 +650,6 @@ private: bool mVisible : 1; bool mOwnSurface; bool mBrightnessChangeDone; - -#ifdef DALI_ELDBUS_AVAILABLE - Eldbus_Connection* mSystemConnection; -#endif // DALI_ELDBUS_AVAILABLE }; } // namespace Adaptor