X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fwindows%2Fwindow-base-win.h;h=90c8d218acb49ad4d2d0302b4be49ee200088b86;hb=f79805402bf8bd9b7ceb4561d4c089411fb5927f;hp=531386f29426d749171b32e3c3eea9677dafd14f;hpb=873dc45bea34570105bb298b1e2d683c3b9ce301;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/window-system/windows/window-base-win.h b/dali/internal/window-system/windows/window-base-win.h old mode 100755 new mode 100644 index 531386f..90c8d21 --- a/dali/internal/window-system/windows/window-base-win.h +++ b/dali/internal/window-system/windows/window-base-win.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_WINDOWSYSTEM_WINDOW_BASE_WIN_H /* - * Copyright (c) 2018 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. @@ -20,8 +20,8 @@ // INTERNAL INCLUDES #include -#include #include +#include namespace Dali { @@ -29,7 +29,6 @@ namespace Internal { namespace Adaptor { - class Window; class WindowRenderSurface; class WindowRenderSurfaceWin; @@ -40,11 +39,10 @@ class WindowRenderSurfaceWin; class WindowBaseWin : public WindowBase { public: - /** * @brief Constructor */ - WindowBaseWin( PositionSize positionSize, Any surface, bool isTransparent ); + WindowBaseWin(PositionSize positionSize, Any surface, bool isTransparent); /** * @brief Destructor @@ -52,7 +50,6 @@ public: virtual ~WindowBaseWin(); public: - /** * Called when the window receives a delete request */ @@ -61,51 +58,49 @@ public: /** * @brief Called when the window gains focus. */ - void OnFocusIn( int type, TWinEventInfo *event ); + void OnFocusIn(int type, TWinEventInfo* event); /** * @brief Called when the window loses focus. */ - void OnFocusOut( int type, TWinEventInfo *event ); + void OnFocusOut(int type, TWinEventInfo* event); /** * @brief Called when the window is damaged. */ - void OnWindowDamaged( int type, TWinEventInfo *event ); + void OnWindowDamaged(int type, TWinEventInfo* event); /** * @brief Called when a touch down is received. */ - void OnMouseButtonDown( int type, TWinEventInfo *event ); + void OnMouseButtonDown(int type, TWinEventInfo* event); /** * @brief Called when a touch up is received. */ - void OnMouseButtonUp( int type, TWinEventInfo *event ); + void OnMouseButtonUp(int type, TWinEventInfo* event); /** * @brief Called when a touch motion is received. */ - void OnMouseButtonMove( int type, TWinEventInfo *event ); + void OnMouseButtonMove(int type, TWinEventInfo* event); /** * @brief Called when a mouse wheel is received. */ - void OnMouseWheel( int type, TWinEventInfo *event ); + void OnMouseWheel(int type, TWinEventInfo* event); /** * @brief Called when a key down is received. */ - void OnKeyDown( int type, TWinEventInfo *event ); + void OnKeyDown(int type, TWinEventInfo* event); /** * @brief Called when a key up is received. */ - void OnKeyUp( int type, TWinEventInfo *event ); - + void OnKeyUp(int type, TWinEventInfo* event); public: - /** * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeWindow() */ @@ -117,9 +112,14 @@ 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; + EGLNativeWindowType CreateEglWindow(int width, int height) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::DestroyEglWindow() @@ -129,22 +129,22 @@ public: /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetEglWindowRotation() */ - void SetEglWindowRotation( int angle ) override; + void SetEglWindowRotation(int angle) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetEglWindowBufferTransform() */ - void SetEglWindowBufferTransform( int angle ) override; + void SetEglWindowBufferTransform(int angle) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetEglWindowTransform() */ - void SetEglWindowTransform( int angle ) override; + void SetEglWindowTransform(int angle) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::ResizeEglWindow() */ - void ResizeEglWindow( PositionSize positionSize ) override; + void ResizeEglWindow(PositionSize positionSize) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::IsEglWindowRotationSupported() @@ -154,22 +154,27 @@ public: /** * @copydoc Dali::Internal::Adaptor::WindowBase::Move() */ - void Move( PositionSize positionSize ) override; + void Move(PositionSize positionSize) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::Resize() */ - void Resize( PositionSize positionSize ) override; + void Resize(PositionSize positionSize) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::MoveResize() */ - void MoveResize( PositionSize positionSize ) override; + 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() */ - void SetClass( const std::string& name, const std::string& className ) override; + void SetClass(const std::string& name, const std::string& className) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::Raise() @@ -187,19 +192,49 @@ 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< int >& angles ) override; + void SetAvailableAnlges(const std::vector& angles) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetPreferredAngle() */ - void SetPreferredAngle( int angle ) override; + void SetPreferredAngle(int angle) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetAcceptFocus() */ - void SetAcceptFocus( bool accept ) override; + void SetAcceptFocus(bool accept) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::Show() @@ -219,47 +254,52 @@ public: /** * @copydoc Dali::Internal::Adaptor::WindowBase::GetSupportedAuxiliaryHint() */ - std::string GetSupportedAuxiliaryHint( unsigned int index ) const override; + std::string GetSupportedAuxiliaryHint(unsigned int index) const override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::AddAuxiliaryHint() */ - unsigned int AddAuxiliaryHint( const std::string& hint, const std::string& value ) override; + unsigned int AddAuxiliaryHint(const std::string& hint, const std::string& value) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::RemoveAuxiliaryHint() */ - bool RemoveAuxiliaryHint( unsigned int id ) override; + bool RemoveAuxiliaryHint(unsigned int id) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetAuxiliaryHintValue() */ - bool SetAuxiliaryHintValue( unsigned int id, const std::string& value ) override; + bool SetAuxiliaryHintValue(unsigned int id, const std::string& value) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::GetAuxiliaryHintValue() */ - std::string GetAuxiliaryHintValue( unsigned int id ) const override; + std::string GetAuxiliaryHintValue(unsigned int id) const override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::GetAuxiliaryHintId() */ - unsigned int GetAuxiliaryHintId( const std::string& hint ) const override; + unsigned int GetAuxiliaryHintId(const std::string& hint) const override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetInputRegion() */ - void SetInputRegion( const Rect< int >& inputRegion ) override; + void SetInputRegion(const Rect& inputRegion) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetType() */ - void SetType( Dali::WindowType type ) override; + void SetType(Dali::WindowType type) override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::GetType() + */ + Dali::WindowType GetType() const override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetNotificationLevel() */ - bool SetNotificationLevel( Dali::WindowNotificationLevel level ) override; + Dali::WindowOperationResult SetNotificationLevel(Dali::WindowNotificationLevel level) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::GetNotificationLevel() @@ -269,12 +309,12 @@ public: /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetOpaqueState() */ - void SetOpaqueState( bool opaque ) override; + void SetOpaqueState(bool opaque) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetScreenOffMode() */ - bool SetScreenOffMode(WindowScreenOffMode screenOffMode) override; + Dali::WindowOperationResult SetScreenOffMode(WindowScreenOffMode screenOffMode) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::GetScreenOffMode() @@ -284,7 +324,7 @@ public: /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetBrightness() */ - bool SetBrightness( int brightness ) override; + Dali::WindowOperationResult SetBrightness(int brightness) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::GetBrightness() @@ -294,27 +334,27 @@ public: /** * @copydoc Dali::Internal::Adaptor::WindowBase::GrabKey() */ - bool GrabKey( Dali::KEY key, KeyGrab::KeyGrabMode grabMode ) override; + bool GrabKey(Dali::KEY key, KeyGrab::KeyGrabMode grabMode) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::UngrabKey() */ - bool UngrabKey( Dali::KEY key ) override; + bool UngrabKey(Dali::KEY key) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::GrabKeyList() */ - bool GrabKeyList( const Dali::Vector< Dali::KEY >& key, const Dali::Vector< KeyGrab::KeyGrabMode >& grabMode, Dali::Vector< bool >& result ) override; + bool GrabKeyList(const Dali::Vector& key, const Dali::Vector& grabMode, Dali::Vector& result) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::UngrabKeyList() */ - bool UngrabKeyList( const Dali::Vector< Dali::KEY >& key, Dali::Vector< bool >& result ) override; + bool UngrabKeyList(const Dali::Vector& key, Dali::Vector& result) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::GetDpi() */ - void GetDpi( unsigned int& dpiHorizontal, unsigned int& dpiVertical ) override; + void GetDpi(unsigned int& dpiHorizontal, unsigned int& dpiVertical) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::GetScreenRotationAngle() @@ -324,27 +364,27 @@ public: /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetWindowRotationAngle() */ - void SetWindowRotationAngle( int degree ) override; + void SetWindowRotationAngle(int degree) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::WindowRotationCompleted() */ - void WindowRotationCompleted( int degree, int width, int height ) override; + void WindowRotationCompleted(int degree, int width, int height) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::SetTransparency() */ - void SetTransparency( bool transparent ) override; + void SetTransparency(bool transparent) 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::SetParent() */ - void SetParent( WindowBase* parentWinBase ) override; + void SetParent(WindowBase* parentWinBase, bool belowParent) override; /** * @copydoc Dali::Internal::Adaptor::WindowBase::CreateFrameRenderedSyncFence() @@ -356,32 +396,75 @@ public: */ int CreateFramePresentedSyncFence() override; -private: + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::SetPositionSizeWithAngle() + */ + void SetPositionSizeWithAngle(PositionSize positionSize, int angle) override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::InitializeIme() + */ + void InitializeIme() override; /** + * @copydoc Dali::Internal::Adaptor::WindowBase::ImeWindowReadyToRender() + */ + void ImeWindowReadyToRender() override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::RequestMoveToServer() + */ + void RequestMoveToServer() override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::RequestResizeToServer() + */ + void RequestResizeToServer(WindowResizeDirection direction) override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::EnableFloatingMode() + */ + void EnableFloatingMode(bool enable) override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::IsFloatingModeEnabled() + */ + bool IsFloatingModeEnabled() const override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::IncludeInputRegion() + */ + void IncludeInputRegion(const Rect& inputRegion) override; + + /** + * @copydoc Dali::Internal::Adaptor::WindowBase::ExcludeInputRegion() + */ + void ExcludeInputRegion(const Rect& inputRegion) override; + +private: + /** * Second stage initialization */ - void Initialize( PositionSize positionSize, Any surface, bool isTransparent ); + void Initialize(PositionSize positionSize, Any surface, bool isTransparent); /** * @brief Get the surface id if the surface parameter is not empty * @param surface Any containing a surface id, or can be empty * @return surface id, or zero if surface is empty */ - uintptr_t GetSurfaceId( Any surface ) const; + uintptr_t GetSurfaceId(Any surface) const; /** * @brief Create window */ - void CreateWinWindow( PositionSize positionSize, bool isTransparent ); + void CreateWinWindow(PositionSize positionSize, bool isTransparent); /** * @brief Sets up an already created window. */ - void SetWinWindow( uintptr_t surfaceId ); + void SetWinWindow(uintptr_t surfaceId); private: - // Undefined WindowBaseWin(const WindowBaseWin&) = delete; @@ -389,20 +472,20 @@ private: WindowBaseWin& operator=(const WindowBaseWin& rhs) = delete; private: - void EventEntry( TWinEventInfo *event ); + void EventEntry(TWinEventInfo* event); private: - WinWindowHandle mWin32Window; ///< Native window handle - bool mOwnSurface:1; ///< Whether we own the surface (responsible for deleting it) - bool mIsTransparent:1; ///< Whether the window is transparent (32 bit or 24 bit) - bool mRotationAppSet:1; + WinWindowHandle mWin32Window; ///< Native window handle + bool mOwnSurface : 1; ///< Whether we own the surface (responsible for deleting it) + bool mIsTransparent : 1; ///< Whether the window is transparent (32 bit or 24 bit) + bool mRotationAppSet : 1; WindowsPlatform::WindowImpl mWindowImpl; }; } // namespace Adaptor -} // namespace internal +} // namespace Internal } // namespace Dali