1e0dac50fSopenharmony_ci/* 2e0dac50fSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 3e0dac50fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4e0dac50fSopenharmony_ci * you may not use this file except in compliance with the License. 5e0dac50fSopenharmony_ci * You may obtain a copy of the License at 6e0dac50fSopenharmony_ci * 7e0dac50fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8e0dac50fSopenharmony_ci * 9e0dac50fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10e0dac50fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11e0dac50fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12e0dac50fSopenharmony_ci * See the License for the specific language governing permissions and 13e0dac50fSopenharmony_ci * limitations under the License. 14e0dac50fSopenharmony_ci */ 15e0dac50fSopenharmony_ci 16e0dac50fSopenharmony_ci#ifndef OHOS_ROSEN_WINDOW_OPTION_H 17e0dac50fSopenharmony_ci#define OHOS_ROSEN_WINDOW_OPTION_H 18e0dac50fSopenharmony_ci#include <refbase.h> 19e0dac50fSopenharmony_ci#include <string> 20e0dac50fSopenharmony_ci#include <unordered_map> 21e0dac50fSopenharmony_ci 22e0dac50fSopenharmony_ci#include "dm_common.h" 23e0dac50fSopenharmony_ci#include "wm_common.h" 24e0dac50fSopenharmony_ci 25e0dac50fSopenharmony_cinamespace OHOS { 26e0dac50fSopenharmony_cinamespace Rosen { 27e0dac50fSopenharmony_ci/** 28e0dac50fSopenharmony_ci * @class WindowOption 29e0dac50fSopenharmony_ci * WindowOption is used to create a window. 30e0dac50fSopenharmony_ci */ 31e0dac50fSopenharmony_ciclass WINDOW_EXPORT WindowOption : public RefBase { 32e0dac50fSopenharmony_cipublic: 33e0dac50fSopenharmony_ci /** 34e0dac50fSopenharmony_ci * @brief Default construct of WindowOption. 35e0dac50fSopenharmony_ci */ 36e0dac50fSopenharmony_ci WindowOption(); 37e0dac50fSopenharmony_ci 38e0dac50fSopenharmony_ci /** 39e0dac50fSopenharmony_ci * @brief Deconstruct of WindowOption. 40e0dac50fSopenharmony_ci */ 41e0dac50fSopenharmony_ci virtual ~WindowOption() = default; 42e0dac50fSopenharmony_ci 43e0dac50fSopenharmony_ci /** 44e0dac50fSopenharmony_ci * @brief Set window mode. 45e0dac50fSopenharmony_ci * 46e0dac50fSopenharmony_ci * @param mode The mode of window. 47e0dac50fSopenharmony_ci */ 48e0dac50fSopenharmony_ci void SetWindowMode(WindowMode mode); 49e0dac50fSopenharmony_ci 50e0dac50fSopenharmony_ci /** 51e0dac50fSopenharmony_ci * @brief Set window type. 52e0dac50fSopenharmony_ci * 53e0dac50fSopenharmony_ci * @param type The type of window. 54e0dac50fSopenharmony_ci */ 55e0dac50fSopenharmony_ci void SetWindowType(WindowType type); 56e0dac50fSopenharmony_ci 57e0dac50fSopenharmony_ci /** 58e0dac50fSopenharmony_ci * @brief Set window rect. 59e0dac50fSopenharmony_ci * 60e0dac50fSopenharmony_ci * @param rect The rect of window to set window position and size. 61e0dac50fSopenharmony_ci */ 62e0dac50fSopenharmony_ci void SetWindowRect(const struct Rect& rect); 63e0dac50fSopenharmony_ci 64e0dac50fSopenharmony_ci /** 65e0dac50fSopenharmony_ci * @brief Set parent id. 66e0dac50fSopenharmony_ci * 67e0dac50fSopenharmony_ci * @param parentId The parent window id. 68e0dac50fSopenharmony_ci */ 69e0dac50fSopenharmony_ci void SetParentId(uint32_t parentId); 70e0dac50fSopenharmony_ci 71e0dac50fSopenharmony_ci /** 72e0dac50fSopenharmony_ci * @brief Set display id. 73e0dac50fSopenharmony_ci * 74e0dac50fSopenharmony_ci * @param displayId The display id of window. 75e0dac50fSopenharmony_ci */ 76e0dac50fSopenharmony_ci void SetDisplayId(DisplayId displayId); 77e0dac50fSopenharmony_ci 78e0dac50fSopenharmony_ci /** 79e0dac50fSopenharmony_ci * @brief Set window focusable. 80e0dac50fSopenharmony_ci * 81e0dac50fSopenharmony_ci * @param isFocusable True means the window can be focused, otherwise not. 82e0dac50fSopenharmony_ci */ 83e0dac50fSopenharmony_ci void SetFocusable(bool isFocusable); 84e0dac50fSopenharmony_ci 85e0dac50fSopenharmony_ci /** 86e0dac50fSopenharmony_ci * @brief Set window touchable. 87e0dac50fSopenharmony_ci * 88e0dac50fSopenharmony_ci * @param isTouchable True means the window can be touched, otherwise not. 89e0dac50fSopenharmony_ci */ 90e0dac50fSopenharmony_ci void SetTouchable(bool isTouchable); 91e0dac50fSopenharmony_ci 92e0dac50fSopenharmony_ci /** 93e0dac50fSopenharmony_ci * @brief Set bundle name. 94e0dac50fSopenharmony_ci * 95e0dac50fSopenharmony_ci * @param bundleName The bundle name. 96e0dac50fSopenharmony_ci */ 97e0dac50fSopenharmony_ci void SetBundleName(const std::string bundleName); 98e0dac50fSopenharmony_ci 99e0dac50fSopenharmony_ci /** 100e0dac50fSopenharmony_ci * @brief Set window name. 101e0dac50fSopenharmony_ci * 102e0dac50fSopenharmony_ci * @param windowName The window name. 103e0dac50fSopenharmony_ci */ 104e0dac50fSopenharmony_ci void SetWindowName(const std::string& windowName); 105e0dac50fSopenharmony_ci 106e0dac50fSopenharmony_ci /** 107e0dac50fSopenharmony_ci * @brief Set window flags. 108e0dac50fSopenharmony_ci * 109e0dac50fSopenharmony_ci * @param flags The flag value. 110e0dac50fSopenharmony_ci */ 111e0dac50fSopenharmony_ci void SetWindowFlags(uint32_t flags); 112e0dac50fSopenharmony_ci 113e0dac50fSopenharmony_ci /** 114e0dac50fSopenharmony_ci * @brief Remove winodw flag. 115e0dac50fSopenharmony_ci * 116e0dac50fSopenharmony_ci * @param flag The flag value removed. 117e0dac50fSopenharmony_ci */ 118e0dac50fSopenharmony_ci void RemoveWindowFlag(WindowFlag flag); 119e0dac50fSopenharmony_ci 120e0dac50fSopenharmony_ci /** 121e0dac50fSopenharmony_ci * @brief Add window flag. 122e0dac50fSopenharmony_ci * 123e0dac50fSopenharmony_ci * @param flag The flag value added. 124e0dac50fSopenharmony_ci */ 125e0dac50fSopenharmony_ci void AddWindowFlag(WindowFlag flag); 126e0dac50fSopenharmony_ci 127e0dac50fSopenharmony_ci /** 128e0dac50fSopenharmony_ci * @brief Set window tag. 129e0dac50fSopenharmony_ci * 130e0dac50fSopenharmony_ci * @param windowTag The tag of window. 131e0dac50fSopenharmony_ci */ 132e0dac50fSopenharmony_ci void SetWindowTag(WindowTag windowTag); 133e0dac50fSopenharmony_ci 134e0dac50fSopenharmony_ci /** 135e0dac50fSopenharmony_ci * @brief Set system bar property. 136e0dac50fSopenharmony_ci * 137e0dac50fSopenharmony_ci * @param type The system bar window type. 138e0dac50fSopenharmony_ci * @param property The system bar property. 139e0dac50fSopenharmony_ci */ 140e0dac50fSopenharmony_ci void SetSystemBarProperty(WindowType type, const SystemBarProperty& property); 141e0dac50fSopenharmony_ci 142e0dac50fSopenharmony_ci /** 143e0dac50fSopenharmony_ci * @brief Set window session type. 144e0dac50fSopenharmony_ci * 145e0dac50fSopenharmony_ci * @param sessionType The session type of window. 146e0dac50fSopenharmony_ci */ 147e0dac50fSopenharmony_ci void SetWindowSessionType(WindowSessionType sessionType); 148e0dac50fSopenharmony_ci 149e0dac50fSopenharmony_ci /** 150e0dac50fSopenharmony_ci * @brief Set hit offset. 151e0dac50fSopenharmony_ci * 152e0dac50fSopenharmony_ci * @param x The position x of hit offset. 153e0dac50fSopenharmony_ci * @param y The position y of hit offset. 154e0dac50fSopenharmony_ci */ 155e0dac50fSopenharmony_ci void SetHitOffset(int32_t x, int32_t y); 156e0dac50fSopenharmony_ci 157e0dac50fSopenharmony_ci /** 158e0dac50fSopenharmony_ci * @brief Is turned screen on. 159e0dac50fSopenharmony_ci * 160e0dac50fSopenharmony_ci * @return The window is marked to turn the screen on or not. 161e0dac50fSopenharmony_ci */ 162e0dac50fSopenharmony_ci bool IsTurnScreenOn() const; 163e0dac50fSopenharmony_ci 164e0dac50fSopenharmony_ci /** 165e0dac50fSopenharmony_ci * @brief Set screen on. 166e0dac50fSopenharmony_ci * 167e0dac50fSopenharmony_ci * @param turnScreenOn mark the window to turn the screen on or not. 168e0dac50fSopenharmony_ci */ 169e0dac50fSopenharmony_ci void SetTurnScreenOn(bool turnScreenOn); 170e0dac50fSopenharmony_ci 171e0dac50fSopenharmony_ci /** 172e0dac50fSopenharmony_ci * @brief Is keep screen on. 173e0dac50fSopenharmony_ci * 174e0dac50fSopenharmony_ci * @return Return true means the window would keep screen on, otherwise not. 175e0dac50fSopenharmony_ci */ 176e0dac50fSopenharmony_ci bool IsKeepScreenOn() const; 177e0dac50fSopenharmony_ci 178e0dac50fSopenharmony_ci /** 179e0dac50fSopenharmony_ci * @brief Set keep screen on. 180e0dac50fSopenharmony_ci * 181e0dac50fSopenharmony_ci * @param keepScreenOn The window keep screen on or not. 182e0dac50fSopenharmony_ci */ 183e0dac50fSopenharmony_ci void SetKeepScreenOn(bool keepScreenOn); 184e0dac50fSopenharmony_ci 185e0dac50fSopenharmony_ci /** 186e0dac50fSopenharmony_ci * @brief Set window calling window id. 187e0dac50fSopenharmony_ci * 188e0dac50fSopenharmony_ci * @param windowId The window id of calling window. 189e0dac50fSopenharmony_ci */ 190e0dac50fSopenharmony_ci void SetCallingWindow(uint32_t windowId); 191e0dac50fSopenharmony_ci 192e0dac50fSopenharmony_ci /** 193e0dac50fSopenharmony_ci * @brief Set window requested orientation. 194e0dac50fSopenharmony_ci * 195e0dac50fSopenharmony_ci * @param orientation The requested orientation of window. 196e0dac50fSopenharmony_ci */ 197e0dac50fSopenharmony_ci void SetRequestedOrientation(Orientation orientation); 198e0dac50fSopenharmony_ci 199e0dac50fSopenharmony_ci /** 200e0dac50fSopenharmony_ci * @brief Set window brightness. 201e0dac50fSopenharmony_ci * 202e0dac50fSopenharmony_ci * @param brightness The brightness of screen. the value is between 0.0 ~ 1.0. 203e0dac50fSopenharmony_ci */ 204e0dac50fSopenharmony_ci void SetBrightness(float brightness); 205e0dac50fSopenharmony_ci 206e0dac50fSopenharmony_ci /** 207e0dac50fSopenharmony_ci * @brief Set window main handler available. 208e0dac50fSopenharmony_ci * 209e0dac50fSopenharmony_ci * @param isMainHandlerAvailable is window main handler available. 210e0dac50fSopenharmony_ci */ 211e0dac50fSopenharmony_ci void SetMainHandlerAvailable(bool isMainHandlerAvailable); 212e0dac50fSopenharmony_ci 213e0dac50fSopenharmony_ci /** 214e0dac50fSopenharmony_ci * @brief Set subwindow decor enable. 215e0dac50fSopenharmony_ci * 216e0dac50fSopenharmony_ci * @param subWindowDecorEnable the subwindow decor enable. 217e0dac50fSopenharmony_ci */ 218e0dac50fSopenharmony_ci void SetSubWindowDecorEnable(bool subWindowDecorEnable); 219e0dac50fSopenharmony_ci 220e0dac50fSopenharmony_ci /** 221e0dac50fSopenharmony_ci * @brief Set subwindow title. 222e0dac50fSopenharmony_ci * 223e0dac50fSopenharmony_ci * @param subWindowTitle the subwindow title. 224e0dac50fSopenharmony_ci */ 225e0dac50fSopenharmony_ci void SetSubWindowTitle(const std::string& subWindowTitle); 226e0dac50fSopenharmony_ci 227e0dac50fSopenharmony_ci /** 228e0dac50fSopenharmony_ci * @brief Set subwindow topmost. 229e0dac50fSopenharmony_ci * 230e0dac50fSopenharmony_ci * @param isTopmost true means enable, default disabled. 231e0dac50fSopenharmony_ci */ 232e0dac50fSopenharmony_ci void SetWindowTopmost(bool isTopmost); 233e0dac50fSopenharmony_ci 234e0dac50fSopenharmony_ci /** 235e0dac50fSopenharmony_ci * @brief Set only sceneboard supported. 236e0dac50fSopenharmony_ci * 237e0dac50fSopenharmony_ci * @param onlySupportSceneBoard only sceneboard supported. 238e0dac50fSopenharmony_ci */ 239e0dac50fSopenharmony_ci void SetOnlySupportSceneBoard(bool onlySupportSceneBoard); 240e0dac50fSopenharmony_ci 241e0dac50fSopenharmony_ci /** 242e0dac50fSopenharmony_ci * @brief Get window mode. 243e0dac50fSopenharmony_ci * 244e0dac50fSopenharmony_ci * @return The mode of window. 245e0dac50fSopenharmony_ci */ 246e0dac50fSopenharmony_ci WindowMode GetWindowMode() const; 247e0dac50fSopenharmony_ci 248e0dac50fSopenharmony_ci /** 249e0dac50fSopenharmony_ci * @brief Get window type. 250e0dac50fSopenharmony_ci * 251e0dac50fSopenharmony_ci * @return The type of window. 252e0dac50fSopenharmony_ci */ 253e0dac50fSopenharmony_ci WindowType GetWindowType() const; 254e0dac50fSopenharmony_ci 255e0dac50fSopenharmony_ci /** 256e0dac50fSopenharmony_ci * @brief Get window tag. 257e0dac50fSopenharmony_ci * 258e0dac50fSopenharmony_ci * @return Return window tag. 259e0dac50fSopenharmony_ci */ 260e0dac50fSopenharmony_ci WindowTag GetWindowTag() const; 261e0dac50fSopenharmony_ci 262e0dac50fSopenharmony_ci /** 263e0dac50fSopenharmony_ci * @brief Get window rect. 264e0dac50fSopenharmony_ci * 265e0dac50fSopenharmony_ci * @return The rect of window. 266e0dac50fSopenharmony_ci */ 267e0dac50fSopenharmony_ci Rect GetWindowRect() const; 268e0dac50fSopenharmony_ci 269e0dac50fSopenharmony_ci /** 270e0dac50fSopenharmony_ci * @brief Get parent id. 271e0dac50fSopenharmony_ci * 272e0dac50fSopenharmony_ci * @return Return parent window id. 273e0dac50fSopenharmony_ci */ 274e0dac50fSopenharmony_ci uint32_t GetParentId() const; 275e0dac50fSopenharmony_ci 276e0dac50fSopenharmony_ci /** 277e0dac50fSopenharmony_ci * @brief Get display id. 278e0dac50fSopenharmony_ci * 279e0dac50fSopenharmony_ci * @return Return diplay id. 280e0dac50fSopenharmony_ci */ 281e0dac50fSopenharmony_ci DisplayId GetDisplayId() const; 282e0dac50fSopenharmony_ci 283e0dac50fSopenharmony_ci /** 284e0dac50fSopenharmony_ci * @brief Get window flags. 285e0dac50fSopenharmony_ci * 286e0dac50fSopenharmony_ci * @return Return the window flags. 287e0dac50fSopenharmony_ci */ 288e0dac50fSopenharmony_ci uint32_t GetWindowFlags() const; 289e0dac50fSopenharmony_ci 290e0dac50fSopenharmony_ci /** 291e0dac50fSopenharmony_ci * @brief Get bundle name. 292e0dac50fSopenharmony_ci * 293e0dac50fSopenharmony_ci * @return Return the bundle name. 294e0dac50fSopenharmony_ci */ 295e0dac50fSopenharmony_ci const std::string GetBundleName() const; 296e0dac50fSopenharmony_ci 297e0dac50fSopenharmony_ci /** 298e0dac50fSopenharmony_ci * @brief Get window name. 299e0dac50fSopenharmony_ci * 300e0dac50fSopenharmony_ci * @return Return the window name. 301e0dac50fSopenharmony_ci */ 302e0dac50fSopenharmony_ci const std::string& GetWindowName() const; 303e0dac50fSopenharmony_ci 304e0dac50fSopenharmony_ci /** 305e0dac50fSopenharmony_ci * @brief Get window touchable. 306e0dac50fSopenharmony_ci * 307e0dac50fSopenharmony_ci * @return Return true means the window is touchable, otherwise not. 308e0dac50fSopenharmony_ci */ 309e0dac50fSopenharmony_ci bool GetTouchable() const; 310e0dac50fSopenharmony_ci 311e0dac50fSopenharmony_ci /** 312e0dac50fSopenharmony_ci * @brief Get window focusable. 313e0dac50fSopenharmony_ci * 314e0dac50fSopenharmony_ci * @return Return true means the window is focusable, otherwise not. 315e0dac50fSopenharmony_ci */ 316e0dac50fSopenharmony_ci bool GetFocusable() const; 317e0dac50fSopenharmony_ci 318e0dac50fSopenharmony_ci /** 319e0dac50fSopenharmony_ci * @brief Get window hit offset. 320e0dac50fSopenharmony_ci * 321e0dac50fSopenharmony_ci * @return Return hit offset value as PointInfo. 322e0dac50fSopenharmony_ci */ 323e0dac50fSopenharmony_ci const PointInfo& GetHitOffset() const; 324e0dac50fSopenharmony_ci 325e0dac50fSopenharmony_ci /** 326e0dac50fSopenharmony_ci * @brief Get system bar property. 327e0dac50fSopenharmony_ci * 328e0dac50fSopenharmony_ci * @return Return system bar property map. 329e0dac50fSopenharmony_ci */ 330e0dac50fSopenharmony_ci const std::unordered_map<WindowType, SystemBarProperty>& GetSystemBarProperty() const; 331e0dac50fSopenharmony_ci 332e0dac50fSopenharmony_ci /** 333e0dac50fSopenharmony_ci * @brief Get window request orientation. 334e0dac50fSopenharmony_ci * 335e0dac50fSopenharmony_ci * @return Return window requested orientation. 336e0dac50fSopenharmony_ci */ 337e0dac50fSopenharmony_ci Orientation GetRequestedOrientation() const; 338e0dac50fSopenharmony_ci 339e0dac50fSopenharmony_ci /** 340e0dac50fSopenharmony_ci * @brief Get window session type. 341e0dac50fSopenharmony_ci * 342e0dac50fSopenharmony_ci * @return Return window session type. 343e0dac50fSopenharmony_ci */ 344e0dac50fSopenharmony_ci WindowSessionType GetWindowSessionType() const; 345e0dac50fSopenharmony_ci 346e0dac50fSopenharmony_ci /** 347e0dac50fSopenharmony_ci * @brief Get calling window id. 348e0dac50fSopenharmony_ci * 349e0dac50fSopenharmony_ci * @return Return the calling window id of window. 350e0dac50fSopenharmony_ci */ 351e0dac50fSopenharmony_ci uint32_t GetCallingWindow() const; 352e0dac50fSopenharmony_ci 353e0dac50fSopenharmony_ci /** 354e0dac50fSopenharmony_ci * @brief Get window brightness. 355e0dac50fSopenharmony_ci * 356e0dac50fSopenharmony_ci * @return Return screen brightness. 357e0dac50fSopenharmony_ci */ 358e0dac50fSopenharmony_ci float GetBrightness() const; 359e0dac50fSopenharmony_ci 360e0dac50fSopenharmony_ci /** 361e0dac50fSopenharmony_ci * @brief Get main handler available 362e0dac50fSopenharmony_ci * 363e0dac50fSopenharmony_ci * @return Return true means the main handler available, otherwise not. 364e0dac50fSopenharmony_ci */ 365e0dac50fSopenharmony_ci bool GetMainHandlerAvailable() const; 366e0dac50fSopenharmony_ci 367e0dac50fSopenharmony_ci /** 368e0dac50fSopenharmony_ci * @brief Get only sceneboard supported 369e0dac50fSopenharmony_ci * 370e0dac50fSopenharmony_ci * @return Return ture means only sceneboard supported, otherwise not. 371e0dac50fSopenharmony_ci */ 372e0dac50fSopenharmony_ci bool GetOnlySupportSceneBoard() const; 373e0dac50fSopenharmony_ci 374e0dac50fSopenharmony_ci /** 375e0dac50fSopenharmony_ci * @brief Get subwindow decor enable 376e0dac50fSopenharmony_ci * 377e0dac50fSopenharmony_ci * @return Return ture means the subwindow decor enabled, otherwise not. 378e0dac50fSopenharmony_ci */ 379e0dac50fSopenharmony_ci bool GetSubWindowDecorEnable() const; 380e0dac50fSopenharmony_ci 381e0dac50fSopenharmony_ci /** 382e0dac50fSopenharmony_ci * @brief Get subwindow title 383e0dac50fSopenharmony_ci * 384e0dac50fSopenharmony_ci * @return Return the subwindow title 385e0dac50fSopenharmony_ci */ 386e0dac50fSopenharmony_ci std::string GetSubWindowTitle() const; 387e0dac50fSopenharmony_ci 388e0dac50fSopenharmony_ci /** 389e0dac50fSopenharmony_ci * @brief Get window topmost 390e0dac50fSopenharmony_ci * 391e0dac50fSopenharmony_ci * @return true means the window is topmost, otherwise not. 392e0dac50fSopenharmony_ci */ 393e0dac50fSopenharmony_ci bool GetWindowTopmost() const; 394e0dac50fSopenharmony_ci 395e0dac50fSopenharmony_ci /** 396e0dac50fSopenharmony_ci * @brief Set whether this window is a sub window of any level of UIExtension. 397e0dac50fSopenharmony_ci * 398e0dac50fSopenharmony_ci * @param isUIExtAnySubWindow true - is any sub window of UIExtension, 399e0dac50fSopenharmony_ci * false - is not any sub window of UIExtension. 400e0dac50fSopenharmony_ci */ 401e0dac50fSopenharmony_ci void SetIsUIExtAnySubWindow(bool isUIExtAnySubWindow); 402e0dac50fSopenharmony_ci 403e0dac50fSopenharmony_ci /** 404e0dac50fSopenharmony_ci * @brief Get whether this window is a sub window of any level of UIExtension. 405e0dac50fSopenharmony_ci * 406e0dac50fSopenharmony_ci * @return true - is a sub window of any level of UIExtension, 407e0dac50fSopenharmony_ci * false - is not a sub window of any level of UIExtension. 408e0dac50fSopenharmony_ci */ 409e0dac50fSopenharmony_ci bool GetIsUIExtAnySubWindow() const; 410e0dac50fSopenharmony_ci 411e0dac50fSopenharmony_ciprivate: 412e0dac50fSopenharmony_ci Rect windowRect_ { 0, 0, 0, 0 }; 413e0dac50fSopenharmony_ci std::string windowName_ { "" }; 414e0dac50fSopenharmony_ci std::string bundleName_ { "" }; 415e0dac50fSopenharmony_ci std::string subWindowTitle_ = { "" }; 416e0dac50fSopenharmony_ci WindowType type_ { WindowType::WINDOW_TYPE_APP_MAIN_WINDOW }; 417e0dac50fSopenharmony_ci WindowMode mode_ { WindowMode::WINDOW_MODE_UNDEFINED }; 418e0dac50fSopenharmony_ci bool focusable_ { true }; 419e0dac50fSopenharmony_ci bool touchable_ { true }; 420e0dac50fSopenharmony_ci bool subWindowDecorEnable_ = { false }; 421e0dac50fSopenharmony_ci bool onlySupportSceneBoard_ = { false }; 422e0dac50fSopenharmony_ci bool keepScreenOn_ = { false }; 423e0dac50fSopenharmony_ci bool turnScreenOn_ = { false }; 424e0dac50fSopenharmony_ci bool isMainHandlerAvailable_ = { true }; 425e0dac50fSopenharmony_ci bool isTopmost_ = false; 426e0dac50fSopenharmony_ci DisplayId displayId_ { 0 }; 427e0dac50fSopenharmony_ci uint32_t parentId_ = INVALID_WINDOW_ID; 428e0dac50fSopenharmony_ci uint32_t callingWindow_ = INVALID_WINDOW_ID; 429e0dac50fSopenharmony_ci uint32_t flags_ { 0 }; 430e0dac50fSopenharmony_ci PointInfo hitOffset_ { 0, 0 }; 431e0dac50fSopenharmony_ci WindowTag windowTag_; 432e0dac50fSopenharmony_ci WindowSessionType sessionType_ { WindowSessionType::SCENE_SESSION }; 433e0dac50fSopenharmony_ci float brightness_ = UNDEFINED_BRIGHTNESS; 434e0dac50fSopenharmony_ci 435e0dac50fSopenharmony_ci Orientation requestedOrientation_ { Orientation::UNSPECIFIED }; 436e0dac50fSopenharmony_ci std::unordered_map<WindowType, SystemBarProperty> sysBarPropMap_ { 437e0dac50fSopenharmony_ci { WindowType::WINDOW_TYPE_STATUS_BAR, SystemBarProperty() }, 438e0dac50fSopenharmony_ci { WindowType::WINDOW_TYPE_NAVIGATION_BAR, SystemBarProperty() }, 439e0dac50fSopenharmony_ci }; 440e0dac50fSopenharmony_ci}; 441e0dac50fSopenharmony_ci} // namespace Rosen 442e0dac50fSopenharmony_ci} // namespace OHOS 443e0dac50fSopenharmony_ci#endif // OHOS_ROSEN_WINDOW_OPTION_H 444