X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fcommon%2Fwindow-impl.h;h=5bc3bb9287e9351f0bbdf9c4a25cc1938b28910c;hb=d6f38dadcefb4a766c84094cd099fa758fadb176;hp=229d091d142e8e11c27b1d1e8db10cb35ec36a5b;hpb=b917d84007f39429bbc27c8cd204006154cd899f;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 old mode 100644 new mode 100755 index 229d091..5bc3bb9 --- 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) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -23,6 +23,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -57,17 +58,16 @@ using EventHandlerPtr = IntrusivePtr< EventHandler >; class Window : public Dali::Internal::Adaptor::SceneHolder, public EventHandler::Observer, public ConnectionTracker { public: - typedef Dali::Window::IndicatorSignalType IndicatorSignalType; - typedef Dali::Window::FocusSignalType FocusSignalType; typedef Dali::Window::ResizedSignalType ResizedSignalType; typedef Dali::Window::FocusChangeSignalType FocusChangeSignalType; typedef Dali::Window::ResizeSignalType ResizeSignalType; typedef Dali::DevelWindow::VisibilityChangedSignalType VisibilityChangedSignalType; typedef Dali::DevelWindow::TransitionEffectEventSignalType TransitionEffectEventSignalType; + typedef Dali::DevelWindow::KeyboardRepeatSettingsChangedSignalType KeyboardRepeatSettingsChangedSignalType; typedef Signal< void () > SignalType; /** - * Create a new Window. This should only be called once by the Application class + * @brief Create a new Window. This should only be called once by the Application class * @param[in] positionSize The position and size of the window * @param[in] name The window title * @param[in] className The window class name @@ -77,19 +77,15 @@ public: static Window* New(const PositionSize& positionSize, const std::string& name, const std::string& className, bool isTransparent = false); /** - * @copydoc Dali::Window::ShowIndicator() - */ - void ShowIndicator( Dali::Window::IndicatorVisibleMode visibleMode ); - - /** - * @copydoc Dali::Window::SetIndicatorBgOpacity() - */ - void SetIndicatorBgOpacity( Dali::Window::IndicatorBgOpacity opacity ); - - /** - * @copydoc Dali::Window::RotateIndicator() + * @brief Create a new Window. This should only be called once by the Application class + * @param[in] surface The surface used to render on. + * @param[in] positionSize The position and size of the window + * @param[in] name The window title + * @param[in] className The window class name + * @param[in] isTransparent Whether window is transparent + * @return A newly allocated Window */ - void RotateIndicator( Dali::Window::WindowOrientation orientation ); + static Window* New(Any surface, const PositionSize& positionSize, const std::string& name, const std::string& className, bool isTransparent = false); /** * @copydoc Dali::Window::SetClass() @@ -337,6 +333,21 @@ public: */ Dali::Window GetParent(); + /** + * @copydoc Dali::DevelWindow::GetCurrentOrientation() + */ + Dali::Window::WindowOrientation GetCurrentOrientation() const; + + /** + * @copydoc Dali::DevelWindow::SetAvailableOrientations() + */ + void SetAvailableOrientations( const Dali::Vector& orientations ); + + /** + * @copydoc Dali::DevelWindow::SetDamagedAreas() + */ + void SetDamagedAreas(std::vector>& areas); + public: // Dali::Internal::Adaptor::SceneHolder /** @@ -349,6 +360,11 @@ public: // Dali::Internal::Adaptor::SceneHolder */ bool IsVisible() const override; + /** + * @copydoc Dali::DevelWindow::GetNativeId() + */ + int32_t GetNativeId() const; + private: /** @@ -377,7 +393,7 @@ private: /** * Second stage initialization */ - void Initialize(const PositionSize& positionSize, const std::string& name, const std::string& className); + void Initialize(Any surface, const PositionSize& positionSize, const std::string& name, const std::string& className); /** * Called when the window becomes iconified or deiconified. @@ -405,6 +421,11 @@ private: void OnTransitionEffectEvent( DevelWindow::EffectState state, DevelWindow::EffectType type ); /** + * @brief Called when window receives a keyboard repeat event. + */ + void OnKeyboardRepeatSettingsChanged(); + + /** * @brief Set available orientation to window base. */ void SetAvailableAnlges( const std::vector< int >& angles ); @@ -417,7 +438,12 @@ private: /** * @brief Convert from angle to window orientation using OrientationMode. */ - Dali::Window::WindowOrientation ConvertToOrientation( int angle ); + Dali::Window::WindowOrientation ConvertToOrientation( int angle ) const; + + /** + * @brief Check available window orientation for Available orientation. + */ + bool IsOrientationAvailable( Dali::Window::WindowOrientation orientation ) const; private: // Dali::Internal::Adaptor::SceneHolder @@ -471,17 +497,7 @@ private: // Dali::Internal::Adaptor::EventHandler::Observer public: // Signals /** - * The user should connect to this signal to get a timing when indicator was shown / hidden. - */ - IndicatorSignalType& IndicatorVisibilityChangedSignal() { return mIndicatorVisibilityChangedSignal; } - - /** - * @copydoc Dali::Window::FocusChangedSignal() - */ - FocusSignalType& FocusChangedSignal() { return mFocusChangedSignal; } - - /** - * @copydoc Dali::Window::WindowFocusChangedSignal() + * @copydoc Dali::Window::FocusChangeSignal() */ FocusChangeSignalType& FocusChangeSignal() { return mFocusChangeSignal; } /** @@ -514,6 +530,11 @@ public: // Signals */ TransitionEffectEventSignalType& TransitionEffectEventSignal() { return mTransitionEffectEventSignal; } + /** + * @copydoc Dali::DevelWindow::KeyboardRepeatSettingsChangedSignal() + */ + KeyboardRepeatSettingsChangedSignalType& KeyboardRepeatSettingsChangedSignal() { return mKeyboardRepeatSettingsChangedSignal; } + private: WindowRenderSurface* mWindowSurface; ///< The window rendering surface @@ -540,15 +561,16 @@ private: OrientationMode mOrientationMode; + int mNativeWindowId; ///< The Native Window Id + // Signals - IndicatorSignalType mIndicatorVisibilityChangedSignal; - FocusSignalType mFocusChangedSignal; - ResizedSignalType mResizedSignal; - SignalType mDeleteRequestSignal; - FocusChangeSignalType mFocusChangeSignal; - ResizeSignalType mResizeSignal; - VisibilityChangedSignalType mVisibilityChangedSignal; - TransitionEffectEventSignalType mTransitionEffectEventSignal; + ResizedSignalType mResizedSignal; + SignalType mDeleteRequestSignal; + FocusChangeSignalType mFocusChangeSignal; + ResizeSignalType mResizeSignal; + VisibilityChangedSignalType mVisibilityChangedSignal; + TransitionEffectEventSignalType mTransitionEffectEventSignal; + KeyboardRepeatSettingsChangedSignalType mKeyboardRepeatSettingsChangedSignal; }; } // namespace Adaptor