X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fpublic-api%2Fadaptor-framework%2Fwindow.h;h=1d1f8a8b899788bc58d37159f124e58f87545550;hb=f79805402bf8bd9b7ceb4561d4c089411fb5927f;hp=527da6b823d9f84470f3f9c912a4637393a9e97a;hpb=26771f49800f03bac50943b9ca711f3eb38ccd4d;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/public-api/adaptor-framework/window.h b/dali/public-api/adaptor-framework/window.h index 527da6b..1d1f8a8 100644 --- a/dali/public-api/adaptor-framework/window.h +++ b/dali/public-api/adaptor-framework/window.h @@ -2,7 +2,7 @@ #define DALI_WINDOW_H /* - * Copyright (c) 2020 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. @@ -19,6 +19,8 @@ */ // EXTERNAL INCLUDES +#include +#include #include #include #include @@ -26,7 +28,6 @@ #include #include #include -#include #include // INTERNAL INCLUDES @@ -71,7 +72,7 @@ class DALI_ADAPTOR_API Window : public BaseHandle { public: using WindowSize = Uint16Pair; ///< Window size type @SINCE_1_2.60 - using WindowPosition = Uint16Pair; ///< Window position type @SINCE_1_2.60 + using WindowPosition = Int32Pair; ///< Window position type @SINCE_2_1.45 using FocusChangeSignalType = Signal; ///< Window focus signal type @SINCE_1_4.35 using ResizeSignalType = Signal; ///< Window resized signal type @SINCE_1_4.35 @@ -79,7 +80,6 @@ public: using TouchEventSignalType = Signal; ///< Touch signal type @SINCE_1_9.28 public: - // Methods /** @@ -145,7 +145,7 @@ public: * @SINCE_1_9.24 * @param[in] rhs A reference to the moved handle */ - Window(Window&& rhs); + Window(Window&& rhs) noexcept; /** * @brief Move assignment operator. @@ -154,7 +154,16 @@ public: * @param[in] rhs A reference to the moved handle * @return A reference to this handle */ - Window& operator=(Window&& rhs); + Window& operator=(Window&& rhs) noexcept; + + /** + * @brief Downcast sceneHolder to window + * + * @SINCE_2_1.46 + * @param[in] handle The handle need to downcast + * @return Whether it's a valid window or not + */ + static Window DownCast(BaseHandle handle); /** * @brief Adds a child Actor to the Window. @@ -204,6 +213,16 @@ public: Layer GetRootLayer() const; /** + * @brief Returns the overlay Layer of the Window. + * If there isn't overlay layer yet, this method create overlay layer and + * exclusive render task internally. + * + * @SINCE_2_2.10 + * @return The root layer + */ + Layer GetOverlayLayer(); + + /** * @brief Queries the number of on-scene layers in the Window. * * Note that a default layer is always provided (count >= 1). @@ -421,12 +440,12 @@ public: * @brief Sets a priority level for the specified notification window. * @@SINCE_2_0.0 * @param[in] level The notification window level. - * @return True if no error occurred, false otherwise. + * @return The result of the window operation. * @PRIVLEVEL_PUBLIC * @PRIVILEGE_WINDOW_PRIORITY * @remarks This can be used for a notification type window only. The default level is NotificationLevel::NONE. */ - bool SetNotificationLevel(WindowNotificationLevel level); + WindowOperationResult SetNotificationLevel(WindowNotificationLevel level); /** * @brief Gets a priority level for the specified notification window. @@ -463,11 +482,11 @@ public: * If the window is no longer shown, then the window manager requests the display system to go back to normal operation. * @@SINCE_2_0.0 * @param[in] screenOffMode The screen mode. - * @return True if no error occurred, false otherwise. + * @return The result of the window operation. * @PRIVLEVEL_PUBLIC * @PRIVILEGE_DISPLAY */ - bool SetScreenOffMode(WindowScreenOffMode screenOffMode); + WindowOperationResult SetScreenOffMode(WindowScreenOffMode screenOffMode); /** * @brief Gets a screen off mode of the window. @@ -484,11 +503,11 @@ public: * A value less than 0 results in default brightness and a value greater than 100 results in maximum brightness. * @SINCE_1_2.60 * @param[in] brightness The preferred brightness (0 to 100). - * @return True if no error occurred, false otherwise. + * @return The result of the window operation. * @PRIVLEVEL_PUBLIC * @PRIVILEGE_DISPLAY */ - bool SetBrightness(int brightness); + WindowOperationResult SetBrightness(int brightness); /** * @brief Gets preferred brightness of the window. @@ -530,6 +549,22 @@ public: WindowPosition GetPosition() const; /** + * @brief Sets the layout of the window. + * + * This method sets the layout of the window based on the specified number of columns and rows, + * as well as the position and size of the window within that layout. + * + * @param numCols The number of columns in the layout. + * @param numRows The number of rows in the layout. + * @param column The column number of the window within the layout. + * @param row The row number of the window within the layout. + * @param colSpan The number of columns the window should span within the layout. + * @param rowSpan The number of rows the window should span within the layout. + * @SINCE_2_2.20 + */ + void SetLayout(unsigned int numCols, unsigned int numRows, unsigned int column, unsigned int row, unsigned int colSpan, unsigned int rowSpan); + + /** * @brief Sets whether the window is transparent or not. * * @SINCE_1_2.60