1 #ifndef DALI_WINDOW_ENUMERATIONS_H
2 #define DALI_WINDOW_ENUMERATIONS_H
5 * Copyright (c) 2022 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
24 * @brief Enumeration for orientation of the window is the way in which a rectangular page is oriented for normal viewing.
26 * This Enumeration is used the available orientation APIs and the preferred orientation.
30 enum class WindowOrientation
32 PORTRAIT = 0, ///< Portrait orientation. The height of the display area is greater than the width. @SINCE_2_0.0
33 LANDSCAPE = 90, ///< Landscape orientation. A wide view area is needed. @SINCE_2_0.0
34 PORTRAIT_INVERSE = 180, ///< Portrait inverse orientation. @SINCE_2_0.0
35 LANDSCAPE_INVERSE = 270, ///< Landscape inverse orientation. @SINCE_2_0.0
36 NO_ORIENTATION_PREFERENCE = -1 ///< No orientation. It is used to initialize or unset the preferred orientation. @SINCE_2_0.0
40 * @brief An enum of Window types.
41 * Window type has effect of DALi window's behavior, window's stack and extra functions.
42 * The default window type is NORMAL. If application does not set the specific window type, this type will be set.
44 * Ime window type is special type. It can only set by one Application::New function.
45 * The fuction is "New(int* argc, char** argv[], const std::string& stylesheet, Application::WINDOW_MODE windowMode, PositionSize positionSize, WindowType type)".
46 * Ime window type can not set by Window::SetType().
52 NORMAL, ///< A default window type. Indicates a normal, top-level window. Almost every window will be created with this type. @SINCE_2_0.0
53 NOTIFICATION, ///< A notification window, like a warning about battery life or a new E-Mail received. @SINCE_2_0.0
54 UTILITY, ///< A persistent utility window, like a toolbox or palette. @SINCE_2_0.0
55 DIALOG, ///< Used for simple dialog window. @SINCE_2_0.0
56 IME, ///< Used for Ime keyboard window. It should be set in application New function. @SINCE_2_0.33
57 DESKTOP ///< Used for desktop windows.
61 * @brief An enum of notification level.
64 enum class WindowNotificationLevel
66 NONE = -1, ///< No notification level. Default level. This value makes the notification window place in the layer of the normal window. @SINCE_2_0.0
67 BASE = 10, ///< Base notification level. @SINCE_2_0.0
68 MEDIUM = 20, ///< Higher notification level than base. @SINCE_2_0.0
69 HIGH = 30, ///< Higher notification level than medium. @SINCE_2_0.0
70 TOP = 40 ///< The highest notification level. @SINCE_2_0.0
74 * @brief An enum of screen mode.
77 enum class WindowScreenOffMode
79 TIMEOUT, ///< The mode which turns the screen off after a timeout. @SINCE_2_0.0
80 NEVER, ///< The mode which keeps the screen turned on. @SINCE_2_0.0
84 * @brief Enumeration for transition effect's state.
87 enum class WindowEffectState
89 NONE = 0, ///< None state. @SINCE_2_0.0
90 START, ///< Transition effect is started. @SINCE_2_0.0
91 END ///< Transition effect is ended. @SINCE_2_0.0
95 * @brief Enumeration for transition effect's type.
98 enum class WindowEffectType
100 NONE = 0, ///< None type. @SINCE_2_0.0
101 SHOW, ///< Window show effect. @SINCE_2_0.0
102 HIDE, ///< Window hide effect. @SINCE_2_0.0
106 * @brief An enum of window operation result.
108 enum class WindowOperationResult
110 UNKNOWN_ERROR = 0, ///< Failed for unknown reason.
111 SUCCEED, ///< Succeed.
112 PERMISSION_DENIED, ///< Permission denied.
113 NOT_SUPPORTED, ///< The operation is not supported.
114 INVALID_OPERATION, ///< The operation is invalid. (e.g. Try to operate to the wrong window)
118 * @brief Enumeration of direction for window resized by display server.
120 enum class WindowResizeDirection
122 TOP_LEFT = 1, ///< Start resizing window to the top-left edge.
123 TOP = 2, ///< Start resizing window to the top side.
124 TOP_RIGHT = 3, ///< Start resizing window to the top-right edge.
125 LEFT = 4, ///< Start resizing window to the left side.
126 RIGHT = 5, ///< Start resizing window to the right side.
127 BOTTOM_LEFT = 6, ///< Start resizing window to the bottom-left edge.
128 BOTTOM = 7, ///< Start resizing window to the bottom side.
129 BOTTOM_RIGHT = 8 ///< Start resizing window to the bottom-right edge.
133 * @brief Enumeration of window insets part type.
135 enum class WindowInsetsPartType
137 STATUS_BAR = 0, ///< Status bar
138 KEYBOARD, ///< Keyboard
139 CLIPBOARD, ///< Clipboard
143 * @brief Enumeration of window insets part state.
145 enum class WindowInsetsPartState
147 INVISIBLE = 0, ///< Invisible
148 VISIBLE, ///< Visible
153 #endif // DALI_WINDOW_ENUMERATIONS_H