X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fcommon%2Fwindow-impl.h;h=bb49a8d3b98a0f0290be5fa619f344f21f54f060;hb=2a3cd3da0c514177fe60d9048cff40fca49191e1;hp=b1fa39a57f2a85b09db0d104a4370667a2894ca3;hpb=67feff157567f0085a84995f051421d02c9cea1b;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/window-system/common/window-impl.h b/dali/internal/window-system/common/window-impl.h index b1fa39a..bb49a8d 100644 --- a/dali/internal/window-system/common/window-impl.h +++ b/dali/internal/window-system/common/window-impl.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_WINDOWSYSTEM_COMMON_WINDOW_IMPL_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. @@ -67,6 +67,8 @@ public: typedef Dali::DevelWindow::KeyboardRepeatSettingsChangedSignalType KeyboardRepeatSettingsChangedSignalType; typedef Dali::DevelWindow::AuxiliaryMessageSignalType AuxiliaryMessageSignalType; typedef Dali::DevelWindow::AccessibilityHighlightSignalType AccessibilityHighlightSignalType; + typedef Dali::DevelWindow::MovedSignalType MovedSignalType; + typedef Dali::DevelWindow::OrientationChangedSignalType OrientationChangedSignalType; typedef Signal SignalType; /** @@ -129,6 +131,11 @@ public: bool IsMaximized() const; /** + * @copydoc Dali::DevelWindow::SetMaximumSize() + */ + void SetMaximumSize(Dali::Window::WindowSize size); + + /** * @copydoc Dali::DevelWindow::Minimize() */ void Minimize(bool minimize); @@ -139,6 +146,11 @@ public: bool IsMinimized() const; /** + * @copydoc Dali::DevelWindow::SetMimimumSize() + */ + void SetMimimumSize(Dali::Window::WindowSize size); + + /** * @copydoc Dali::Window::GetLayerCount() */ uint32_t GetLayerCount() const; @@ -320,6 +332,11 @@ public: PositionSize GetPositionSize() const; /** + * @copydoc Dali::Window::SetLayout() + */ + void SetLayout(unsigned int numCols, unsigned int numRows, unsigned int column, unsigned int row, unsigned int colSpan, unsigned int rowSpan); + + /** * @copydoc Dali::Window::GetRootLayer() */ Dali::Layer GetRootLayer() const; @@ -404,6 +421,13 @@ public: */ void EmitAccessibilityHighlightSignal(bool highlight); + /** + * @brief Sets the render notification trigger to call when render thread is completed a frame + * + * @param[in] renderNotification to use + */ + void SetRenderNotification(TriggerEventInterface *renderNotification); + public: // Dali::Internal::Adaptor::SceneHolder /** * @copydoc Dali::Internal::Adaptor::SceneHolder::GetNativeHandle @@ -505,6 +529,11 @@ private: void OnIconifyChanged(bool iconified); /** + * Called when the window becomes maximized or unmaximized. + */ + void OnMaximizeChanged(bool maximized); + + /** * Called when the window focus is changed. */ void OnFocusChanged(bool focusIn); @@ -565,6 +594,13 @@ private: void OnAccessibilityDisabled(); /** + * Called when the window rotation is finished. + * + * This signal is emmit when window rotation is finisehd and WindowRotationCompleted() is called. + */ + void OnRotationFinished(); + + /** * @brief Set available orientation to window base. */ void SetAvailableAnlges(const std::vector& angles); @@ -584,20 +620,6 @@ private: */ bool IsOrientationAvailable(WindowOrientation orientation) const; - /** - * @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 RecalculateRect(const Rect& rect); - private: // Dali::Internal::Adaptor::SceneHolder /** * @copydoc Dali::Internal::Adaptor::SceneHolder::OnAdaptorSet @@ -620,9 +642,9 @@ private: // Dali::Internal::Adaptor::SceneHolder void OnResume() override; /** - * @copydoc Dali::Internal::Adaptor::SceneHolder::RecalculateTouchPosition + * @copydoc Dali::Internal::Adaptor::SceneHolder::RecalculatePosition */ - void RecalculateTouchPosition(Integration::Point& point) override; + Vector2 RecalculatePosition(const Vector2& position) override; private: // Dali::Internal::Adaptor::EventHandler::Observer /** @@ -718,6 +740,22 @@ public: // Signals return mAccessibilityHighlightSignal; } + /** + * @copydoc Dali::DevelWindow::MovedSignal() + */ + MovedSignalType& MovedSignal() + { + return mMovedSignal; + } + + /** + * @copydoc Dali::DevelWindow::OrientationChangedSignal() + */ + OrientationChangedSignalType& OrientationChangedSignal() + { + return mOrientationChangedSignal; + } + private: WindowRenderSurface* mWindowSurface; ///< The window rendering surface WindowBase* mWindowBase; @@ -746,6 +784,8 @@ private: KeyboardRepeatSettingsChangedSignalType mKeyboardRepeatSettingsChangedSignal; AuxiliaryMessageSignalType mAuxiliaryMessageSignal; AccessibilityHighlightSignalType mAccessibilityHighlightSignal; + MovedSignalType mMovedSignal; + OrientationChangedSignalType mOrientationChangedSignal; Dali::KeyEvent mLastKeyEvent; Dali::TouchEvent mLastTouchEvent; @@ -753,9 +793,11 @@ private: bool mIsTransparent : 1; bool mIsFocusAcceptable : 1; bool mIconified : 1; + bool mMaximized : 1; bool mOpaqueState : 1; bool mWindowRotationAcknowledgement : 1; bool mFocused : 1; + bool mIsWindowRotating : 1; ///< The window rotating flag. }; } // namespace Adaptor