1 #ifndef DALI_WINDOW_ENUMERATIONS_H
2 #define DALI_WINDOW_ENUMERATIONS_H
5 * Copyright (c) 2021 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
60 * @brief An enum of notification level.
63 enum class WindowNotificationLevel
65 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
66 BASE = 10, ///< Base notification level. @SINCE_2_0.0
67 MEDIUM = 20, ///< Higher notification level than base. @SINCE_2_0.0
68 HIGH = 30, ///< Higher notification level than medium. @SINCE_2_0.0
69 TOP = 40 ///< The highest notification level. @SINCE_2_0.0
73 * @brief An enum of screen mode.
76 enum class WindowScreenOffMode
78 TIMEOUT, ///< The mode which turns the screen off after a timeout. @SINCE_2_0.0
79 NEVER, ///< The mode which keeps the screen turned on. @SINCE_2_0.0
83 * @brief Enumeration for transition effect's state.
86 enum class WindowEffectState
88 NONE = 0, ///< None state. @SINCE_2_0.0
89 START, ///< Transition effect is started. @SINCE_2_0.0
90 END ///< Transition effect is ended. @SINCE_2_0.0
94 * @brief Enumeration for transition effect's type.
97 enum class WindowEffectType
99 NONE = 0, ///< None type. @SINCE_2_0.0
100 SHOW, ///< Window show effect. @SINCE_2_0.0
101 HIDE, ///< Window hide effect. @SINCE_2_0.0
105 * @brief An enum of window operation result.
107 enum class WindowOperationResult
109 UNKNOWN_ERROR = 0, ///< Failed for unknown reason.
110 SUCCEED, ///< Succeed.
111 PERMISSION_DENIED, ///< Permission denied.
112 NOT_SUPPORTED, ///< The operation is not supported.
113 INVALID_OPERATION, ///< The operation is invalid. (e.g. Try to operate to the wrong window)
118 #endif // DALI_WINDOW_ENUMERATIONS_H