161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2021 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit ArkUI
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport type { AsyncCallback, Callback } from './@ohos.base';
2261847f8eSopenharmony_ciimport type colorSpaceManager from './@ohos.graphics.colorSpaceManager';
2361847f8eSopenharmony_ciimport type hdrCapability from './@ohos.graphics.hdrCapability';
2461847f8eSopenharmony_ci
2561847f8eSopenharmony_ci/**
2661847f8eSopenharmony_ci * Interface of display manager.
2761847f8eSopenharmony_ci *
2861847f8eSopenharmony_ci * @namespace display
2961847f8eSopenharmony_ci * @syscap SystemCapability.WindowManager.WindowManager.Core
3061847f8eSopenharmony_ci * @since 7
3161847f8eSopenharmony_ci */
3261847f8eSopenharmony_ci/**
3361847f8eSopenharmony_ci * Interface of display manager.
3461847f8eSopenharmony_ci *
3561847f8eSopenharmony_ci * @namespace display
3661847f8eSopenharmony_ci * @syscap SystemCapability.WindowManager.WindowManager.Core
3761847f8eSopenharmony_ci * @crossplatform
3861847f8eSopenharmony_ci * @since 10
3961847f8eSopenharmony_ci */
4061847f8eSopenharmony_ci/**
4161847f8eSopenharmony_ci * Interface of display manager.
4261847f8eSopenharmony_ci *
4361847f8eSopenharmony_ci * @namespace display
4461847f8eSopenharmony_ci * @syscap SystemCapability.WindowManager.WindowManager.Core
4561847f8eSopenharmony_ci * @crossplatform
4661847f8eSopenharmony_ci * @atomicservice
4761847f8eSopenharmony_ci * @since 11
4861847f8eSopenharmony_ci */
4961847f8eSopenharmony_cideclare namespace display {
5061847f8eSopenharmony_ci  /**
5161847f8eSopenharmony_ci   * Obtain the default display.
5261847f8eSopenharmony_ci   *
5361847f8eSopenharmony_ci   * @param { AsyncCallback<Display> } callback the result of display
5461847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
5561847f8eSopenharmony_ci   * @since 7
5661847f8eSopenharmony_ci   * @deprecated since 9
5761847f8eSopenharmony_ci   * @useinstead ohos.display#getDefaultDisplaySync
5861847f8eSopenharmony_ci   */
5961847f8eSopenharmony_ci  function getDefaultDisplay(callback: AsyncCallback<Display>): void;
6061847f8eSopenharmony_ci
6161847f8eSopenharmony_ci  /**
6261847f8eSopenharmony_ci   * Obtain the default display.
6361847f8eSopenharmony_ci   *
6461847f8eSopenharmony_ci   * @returns { Promise<Display> } the result of display
6561847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
6661847f8eSopenharmony_ci   * @since 7
6761847f8eSopenharmony_ci   * @deprecated since 9
6861847f8eSopenharmony_ci   * @useinstead ohos.display#getDefaultDisplaySync
6961847f8eSopenharmony_ci   */
7061847f8eSopenharmony_ci  function getDefaultDisplay(): Promise<Display>;
7161847f8eSopenharmony_ci
7261847f8eSopenharmony_ci  /**
7361847f8eSopenharmony_ci   * Obtain the default display.
7461847f8eSopenharmony_ci   *
7561847f8eSopenharmony_ci   * @returns { Display } the result of display
7661847f8eSopenharmony_ci   * @throws { BusinessError } 1400001 - Invalid display or screen.
7761847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
7861847f8eSopenharmony_ci   * @since 9
7961847f8eSopenharmony_ci   */
8061847f8eSopenharmony_ci  /**
8161847f8eSopenharmony_ci   * Obtain the default display.
8261847f8eSopenharmony_ci   *
8361847f8eSopenharmony_ci   * @returns { Display } the result of display
8461847f8eSopenharmony_ci   * @throws { BusinessError } 1400001 - Invalid display or screen.
8561847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
8661847f8eSopenharmony_ci   * @crossplatform
8761847f8eSopenharmony_ci   * @since 10
8861847f8eSopenharmony_ci   */
8961847f8eSopenharmony_ci  /**
9061847f8eSopenharmony_ci   * Obtain the default display.
9161847f8eSopenharmony_ci   *
9261847f8eSopenharmony_ci   * @returns { Display } the result of display
9361847f8eSopenharmony_ci   * @throws { BusinessError } 1400001 - Invalid display or screen.
9461847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
9561847f8eSopenharmony_ci   * @crossplatform
9661847f8eSopenharmony_ci   * @atomicservice
9761847f8eSopenharmony_ci   * @since 11
9861847f8eSopenharmony_ci   */
9961847f8eSopenharmony_ci  function getDefaultDisplaySync(): Display;
10061847f8eSopenharmony_ci
10161847f8eSopenharmony_ci  /**
10261847f8eSopenharmony_ci   * Obtain the target display.
10361847f8eSopenharmony_ci   *
10461847f8eSopenharmony_ci   * @param { number } displayId Display id to query. This parameter should be greater than or equal to 0.
10561847f8eSopenharmony_ci   * @returns { Display } the result of display
10661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
10761847f8eSopenharmony_ci   *                                                                   2. Incorrect parameter types.
10861847f8eSopenharmony_ci   *                                                                   3. Parameter verification failed.
10961847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
11061847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
11161847f8eSopenharmony_ci   * @atomicservice
11261847f8eSopenharmony_ci   * @since 12
11361847f8eSopenharmony_ci   */
11461847f8eSopenharmony_ci  function getDisplayByIdSync(displayId: number): Display;
11561847f8eSopenharmony_ci
11661847f8eSopenharmony_ci  /**
11761847f8eSopenharmony_ci   * Obtain all displays.
11861847f8eSopenharmony_ci   *
11961847f8eSopenharmony_ci   * @param { AsyncCallback<Array<Display>> } callback the result of all displays
12061847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
12161847f8eSopenharmony_ci   * @since 7
12261847f8eSopenharmony_ci   * @deprecated since 9
12361847f8eSopenharmony_ci   * @useinstead ohos.display#getAllDisplays
12461847f8eSopenharmony_ci   */
12561847f8eSopenharmony_ci  function getAllDisplay(callback: AsyncCallback<Array<Display>>): void;
12661847f8eSopenharmony_ci
12761847f8eSopenharmony_ci  /**
12861847f8eSopenharmony_ci   * Obtain all displays.
12961847f8eSopenharmony_ci   *
13061847f8eSopenharmony_ci   * @returns { Promise<Array<Display>> } the result of all displays
13161847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
13261847f8eSopenharmony_ci   * @since 7
13361847f8eSopenharmony_ci   * @deprecated since 9
13461847f8eSopenharmony_ci   * @useinstead ohos.display#getAllDisplays
13561847f8eSopenharmony_ci   */
13661847f8eSopenharmony_ci  function getAllDisplay(): Promise<Array<Display>>;
13761847f8eSopenharmony_ci
13861847f8eSopenharmony_ci  /**
13961847f8eSopenharmony_ci   * Obtain all displays.
14061847f8eSopenharmony_ci   *
14161847f8eSopenharmony_ci   * @param { AsyncCallback<Array<Display>> } callback the result of all displays
14261847f8eSopenharmony_ci   * @throws { BusinessError } 1400001 - Invalid display or screen.
14361847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
14461847f8eSopenharmony_ci   * @since 9
14561847f8eSopenharmony_ci   */
14661847f8eSopenharmony_ci  /**
14761847f8eSopenharmony_ci   * Obtain all displays.
14861847f8eSopenharmony_ci   *
14961847f8eSopenharmony_ci   * @param { AsyncCallback<Array<Display>> } callback the result of all displays
15061847f8eSopenharmony_ci   * @throws { BusinessError } 1400001 - Invalid display or screen.
15161847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
15261847f8eSopenharmony_ci   * @atomicservice
15361847f8eSopenharmony_ci   * @since 12
15461847f8eSopenharmony_ci   */
15561847f8eSopenharmony_ci  function getAllDisplays(callback: AsyncCallback<Array<Display>>): void;
15661847f8eSopenharmony_ci
15761847f8eSopenharmony_ci  /**
15861847f8eSopenharmony_ci   * Obtain all displays.
15961847f8eSopenharmony_ci   *
16061847f8eSopenharmony_ci   * @returns { Promise<Array<Display>> } the result of all displays
16161847f8eSopenharmony_ci   * @throws { BusinessError } 1400001 - Invalid display or screen.
16261847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
16361847f8eSopenharmony_ci   * @since 9
16461847f8eSopenharmony_ci   */
16561847f8eSopenharmony_ci  /**
16661847f8eSopenharmony_ci   * Obtain all displays.
16761847f8eSopenharmony_ci   *
16861847f8eSopenharmony_ci   * @returns { Promise<Array<Display>> } the result of all displays
16961847f8eSopenharmony_ci   * @throws { BusinessError } 1400001 - Invalid display or screen.
17061847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
17161847f8eSopenharmony_ci   * @atomicservice
17261847f8eSopenharmony_ci   * @since 12
17361847f8eSopenharmony_ci   */
17461847f8eSopenharmony_ci  function getAllDisplays(): Promise<Array<Display>>;
17561847f8eSopenharmony_ci
17661847f8eSopenharmony_ci  /**
17761847f8eSopenharmony_ci   * Obtain all display physical resolution
17861847f8eSopenharmony_ci   *
17961847f8eSopenharmony_ci   * @returns { Promise<Array<DisplayPhysicalResolution>> } the result of all display physical resolution
18061847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
18161847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
18261847f8eSopenharmony_ci   * @atomicservice
18361847f8eSopenharmony_ci   * @since 12
18461847f8eSopenharmony_ci   */
18561847f8eSopenharmony_ci  function getAllDisplayPhysicalResolution(): Promise<Array<DisplayPhysicalResolution>>;
18661847f8eSopenharmony_ci
18761847f8eSopenharmony_ci  /**
18861847f8eSopenharmony_ci   * Check whether there is a privacy window on the current display.
18961847f8eSopenharmony_ci   *
19061847f8eSopenharmony_ci   * @param { number } displayId Display id to query. This parameter should be greater than or equal to 0.
19161847f8eSopenharmony_ci   * @returns { boolean } true means there is a privacy window on the current display
19261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
19361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
19461847f8eSopenharmony_ci   * <br>2. Incorrect parameter types. 3. Parameter verification failed.
19561847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
19661847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
19761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
19861847f8eSopenharmony_ci   * @since 9
19961847f8eSopenharmony_ci   */
20061847f8eSopenharmony_ci  function hasPrivateWindow(displayId: number): boolean;
20161847f8eSopenharmony_ci
20261847f8eSopenharmony_ci  /**
20361847f8eSopenharmony_ci   * Register the callback for display changes.
20461847f8eSopenharmony_ci   *
20561847f8eSopenharmony_ci   * @param { 'add' | 'remove' | 'change' } type the event of display change
20661847f8eSopenharmony_ci   * @param { Callback<number> } callback the display id of changed
20761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
20861847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
20961847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
21061847f8eSopenharmony_ci   * @since 7
21161847f8eSopenharmony_ci   */
21261847f8eSopenharmony_ci  /**
21361847f8eSopenharmony_ci   * Register the callback for display changes.
21461847f8eSopenharmony_ci   *
21561847f8eSopenharmony_ci   * @param { 'add' | 'remove' | 'change' } type the event of display change
21661847f8eSopenharmony_ci   * @param { Callback<number> } callback the display id of changed
21761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
21861847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
21961847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
22061847f8eSopenharmony_ci   * @atomicservice
22161847f8eSopenharmony_ci   * @since 12
22261847f8eSopenharmony_ci   */
22361847f8eSopenharmony_ci  function on(type: 'add' | 'remove' | 'change', callback: Callback<number>): void;
22461847f8eSopenharmony_ci
22561847f8eSopenharmony_ci  /**
22661847f8eSopenharmony_ci   * Unregister the callback for display changes.
22761847f8eSopenharmony_ci   *
22861847f8eSopenharmony_ci   * @param { 'add' | 'remove' | 'change' } type the event of display change event
22961847f8eSopenharmony_ci   * @param { Callback<number> } callback the display id of changed
23061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
23161847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
23261847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
23361847f8eSopenharmony_ci   * @since 7
23461847f8eSopenharmony_ci   */
23561847f8eSopenharmony_ci  /**
23661847f8eSopenharmony_ci   * Unregister the callback for display changes.
23761847f8eSopenharmony_ci   *
23861847f8eSopenharmony_ci   * @param { 'add' | 'remove' | 'change' } type the event of display change event
23961847f8eSopenharmony_ci   * @param { Callback<number> } callback the display id of changed
24061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
24161847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
24261847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
24361847f8eSopenharmony_ci   * @atomicservice
24461847f8eSopenharmony_ci   * @since 12
24561847f8eSopenharmony_ci   */
24661847f8eSopenharmony_ci  function off(type: 'add' | 'remove' | 'change', callback?: Callback<number>): void;
24761847f8eSopenharmony_ci
24861847f8eSopenharmony_ci  /**
24961847f8eSopenharmony_ci   * Register the callback for private mode changes.
25061847f8eSopenharmony_ci   *
25161847f8eSopenharmony_ci   * @param { 'privateModeChange' } type the event of private mode changes
25261847f8eSopenharmony_ci   * @param { Callback<boolean> } callback Callback used to return the result whether display is on private mode or not
25361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
25461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
25561847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
25661847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
25761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
25861847f8eSopenharmony_ci   * @since 10
25961847f8eSopenharmony_ci   */
26061847f8eSopenharmony_ci  function on(type: 'privateModeChange', callback: Callback<boolean>): void;
26161847f8eSopenharmony_ci
26261847f8eSopenharmony_ci  /**
26361847f8eSopenharmony_ci   * Unregister the callback for private mode changes.
26461847f8eSopenharmony_ci   *
26561847f8eSopenharmony_ci   * @param { 'privateModeChange' } type the event of private mode changes
26661847f8eSopenharmony_ci   * @param { Callback<boolean> } callback Callback used to return the result whether display is on private mode or not
26761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
26861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
26961847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
27061847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
27161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
27261847f8eSopenharmony_ci   * @since 10
27361847f8eSopenharmony_ci   */
27461847f8eSopenharmony_ci  function off(type: 'privateModeChange', callback?: Callback<boolean>): void;
27561847f8eSopenharmony_ci
27661847f8eSopenharmony_ci  /**
27761847f8eSopenharmony_ci   * Check whether the device is foldable.
27861847f8eSopenharmony_ci   *
27961847f8eSopenharmony_ci   * @returns { boolean } true means the device is foldable.
28061847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
28161847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
28261847f8eSopenharmony_ci   * @since 10
28361847f8eSopenharmony_ci   */
28461847f8eSopenharmony_ci  /**
28561847f8eSopenharmony_ci   * Check whether the device is foldable.
28661847f8eSopenharmony_ci   *
28761847f8eSopenharmony_ci   * @returns { boolean } true means the device is foldable.
28861847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
28961847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
29061847f8eSopenharmony_ci   * @atomicservice
29161847f8eSopenharmony_ci   * @since 12
29261847f8eSopenharmony_ci   */
29361847f8eSopenharmony_ci  function isFoldable(): boolean;
29461847f8eSopenharmony_ci
29561847f8eSopenharmony_ci  /**
29661847f8eSopenharmony_ci   * Get the current fold status of the foldable device.
29761847f8eSopenharmony_ci   *
29861847f8eSopenharmony_ci   * @returns { FoldStatus } fold status of device.
29961847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
30061847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
30161847f8eSopenharmony_ci   * @since 10
30261847f8eSopenharmony_ci   */
30361847f8eSopenharmony_ci  /**
30461847f8eSopenharmony_ci   * Get the current fold status of the foldable device.
30561847f8eSopenharmony_ci   *
30661847f8eSopenharmony_ci   * @returns { FoldStatus } fold status of device.
30761847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
30861847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
30961847f8eSopenharmony_ci   * @atomicservice
31061847f8eSopenharmony_ci   * @since 12
31161847f8eSopenharmony_ci   */
31261847f8eSopenharmony_ci  function getFoldStatus(): FoldStatus;
31361847f8eSopenharmony_ci
31461847f8eSopenharmony_ci  /**
31561847f8eSopenharmony_ci   * Register the callback for fold status changes.
31661847f8eSopenharmony_ci   *
31761847f8eSopenharmony_ci   * @param { 'foldStatusChange' } type the event of fold status changes
31861847f8eSopenharmony_ci   * @param { Callback<FoldStatus> } callback Callback used to return the current fold status of device
31961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
32061847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
32161847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
32261847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
32361847f8eSopenharmony_ci   * @since 10
32461847f8eSopenharmony_ci   */
32561847f8eSopenharmony_ci  /**
32661847f8eSopenharmony_ci   * Register the callback for fold status changes.
32761847f8eSopenharmony_ci   *
32861847f8eSopenharmony_ci   * @param { 'foldStatusChange' } type the event of fold status changes
32961847f8eSopenharmony_ci   * @param { Callback<FoldStatus> } callback Callback used to return the current fold status of device
33061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
33161847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
33261847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
33361847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
33461847f8eSopenharmony_ci   * @atomicservice
33561847f8eSopenharmony_ci   * @since 12
33661847f8eSopenharmony_ci   */
33761847f8eSopenharmony_ci  function on(type: 'foldStatusChange', callback: Callback<FoldStatus>): void;
33861847f8eSopenharmony_ci
33961847f8eSopenharmony_ci  /**
34061847f8eSopenharmony_ci   * Unregister the callback for fold status changes.
34161847f8eSopenharmony_ci   *
34261847f8eSopenharmony_ci   * @param { 'foldStatusChange' } type the event of fold status changes
34361847f8eSopenharmony_ci   * @param { Callback<FoldStatus> } callback Callback used to return the current fold status of device
34461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
34561847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
34661847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
34761847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
34861847f8eSopenharmony_ci   * @since 10
34961847f8eSopenharmony_ci   */
35061847f8eSopenharmony_ci  /**
35161847f8eSopenharmony_ci   * Unregister the callback for fold status changes.
35261847f8eSopenharmony_ci   *
35361847f8eSopenharmony_ci   * @param { 'foldStatusChange' } type the event of fold status changes
35461847f8eSopenharmony_ci   * @param { Callback<FoldStatus> } callback Callback used to return the current fold status of device
35561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
35661847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
35761847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
35861847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
35961847f8eSopenharmony_ci   * @atomicservice
36061847f8eSopenharmony_ci   * @since 12
36161847f8eSopenharmony_ci   */
36261847f8eSopenharmony_ci  function off(type: 'foldStatusChange', callback?: Callback<FoldStatus>): void;
36361847f8eSopenharmony_ci
36461847f8eSopenharmony_ci  /**
36561847f8eSopenharmony_ci   * Register the callback for fold angle changes.
36661847f8eSopenharmony_ci   *
36761847f8eSopenharmony_ci   * @param { 'foldAngleChange' } type the event of fold angle changes.
36861847f8eSopenharmony_ci   * @param { Callback<Array<number>> } callback Callback used to return the current fold angle of device.
36961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
37061847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
37161847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
37261847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
37361847f8eSopenharmony_ci   * @atomicservice
37461847f8eSopenharmony_ci   * @since 12
37561847f8eSopenharmony_ci   */
37661847f8eSopenharmony_ci  function on(type: 'foldAngleChange', callback: Callback<Array<number>>): void;
37761847f8eSopenharmony_ci
37861847f8eSopenharmony_ci  /**
37961847f8eSopenharmony_ci   * Unregister the callback for fold angle changes.
38061847f8eSopenharmony_ci   *
38161847f8eSopenharmony_ci   * @param { 'foldAngleChange' } type the event of fold angle changes.
38261847f8eSopenharmony_ci   * @param { Callback<Array<number>> } callback Callback used to return the current fold angle of device.
38361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
38461847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
38561847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
38661847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
38761847f8eSopenharmony_ci   * @atomicservice
38861847f8eSopenharmony_ci   * @since 12
38961847f8eSopenharmony_ci   */
39061847f8eSopenharmony_ci  function off(type: 'foldAngleChange', callback?: Callback<Array<number>>): void;
39161847f8eSopenharmony_ci
39261847f8eSopenharmony_ci  /**
39361847f8eSopenharmony_ci   * Register the callback for device capture status changes.
39461847f8eSopenharmony_ci   *
39561847f8eSopenharmony_ci   * @param { 'captureStatusChange' } type the event of capture status changes.
39661847f8eSopenharmony_ci   * @param { Callback<boolean> } callback Callback used to return the device capture status.
39761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
39861847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
39961847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
40061847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
40161847f8eSopenharmony_ci   * @atomicservice
40261847f8eSopenharmony_ci   * @since 12
40361847f8eSopenharmony_ci   */
40461847f8eSopenharmony_ci  function on(type: 'captureStatusChange', callback: Callback<boolean>): void;
40561847f8eSopenharmony_ci
40661847f8eSopenharmony_ci  /**
40761847f8eSopenharmony_ci   * Unregister the callback for device capture status changes.
40861847f8eSopenharmony_ci   *
40961847f8eSopenharmony_ci   * @param { 'captureStatusChange' } type the event of capture status changes.
41061847f8eSopenharmony_ci   * @param { Callback<boolean> } callback Callback used to return the device capture status.
41161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
41261847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
41361847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
41461847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
41561847f8eSopenharmony_ci   * @atomicservice
41661847f8eSopenharmony_ci   * @since 12
41761847f8eSopenharmony_ci   */
41861847f8eSopenharmony_ci  function off(type: 'captureStatusChange', callback?: Callback<boolean>): void;
41961847f8eSopenharmony_ci
42061847f8eSopenharmony_ci
42161847f8eSopenharmony_ci  /**
42261847f8eSopenharmony_ci   * Check whether the device is captured.
42361847f8eSopenharmony_ci   *
42461847f8eSopenharmony_ci   * @returns { boolean } true means the device is captured.
42561847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
42661847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
42761847f8eSopenharmony_ci   * @atomicservice
42861847f8eSopenharmony_ci   * @since 12
42961847f8eSopenharmony_ci   */
43061847f8eSopenharmony_ci  function isCaptured(): boolean;
43161847f8eSopenharmony_ci
43261847f8eSopenharmony_ci  /**
43361847f8eSopenharmony_ci   * Get the display mode of the foldable device.
43461847f8eSopenharmony_ci   *
43561847f8eSopenharmony_ci   * @returns { FoldDisplayMode } display mode of the foldable device.
43661847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
43761847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
43861847f8eSopenharmony_ci   * @since 10
43961847f8eSopenharmony_ci   */
44061847f8eSopenharmony_ci  /**
44161847f8eSopenharmony_ci   * Get the display mode of the foldable device.
44261847f8eSopenharmony_ci   *
44361847f8eSopenharmony_ci   * @returns { FoldDisplayMode } display mode of the foldable device.
44461847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
44561847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
44661847f8eSopenharmony_ci   * @atomicservice
44761847f8eSopenharmony_ci   * @since 12
44861847f8eSopenharmony_ci   */
44961847f8eSopenharmony_ci  function getFoldDisplayMode(): FoldDisplayMode;
45061847f8eSopenharmony_ci
45161847f8eSopenharmony_ci  /**
45261847f8eSopenharmony_ci   * Change the display mode of the foldable device.
45361847f8eSopenharmony_ci   *
45461847f8eSopenharmony_ci   * @param { FoldDisplayMode } mode target display mode to change.
45561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
45661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
45761847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
45861847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
45961847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
46061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
46161847f8eSopenharmony_ci   * @since 10
46261847f8eSopenharmony_ci   */
46361847f8eSopenharmony_ci  function setFoldDisplayMode(mode: FoldDisplayMode): void;
46461847f8eSopenharmony_ci
46561847f8eSopenharmony_ci  /**
46661847f8eSopenharmony_ci   * Register the callback for fold display mode changes.
46761847f8eSopenharmony_ci   *
46861847f8eSopenharmony_ci   * @param { 'foldDisplayModeChange' } type the event of fold display mode changes
46961847f8eSopenharmony_ci   * @param { Callback<FoldDisplayMode> } callback Callback used to return the current fold display mode
47061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
47161847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
47261847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
47361847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
47461847f8eSopenharmony_ci   * @since 10
47561847f8eSopenharmony_ci   */
47661847f8eSopenharmony_ci  /**
47761847f8eSopenharmony_ci   * Register the callback for fold display mode changes.
47861847f8eSopenharmony_ci   *
47961847f8eSopenharmony_ci   * @param { 'foldDisplayModeChange' } type the event of fold display mode changes
48061847f8eSopenharmony_ci   * @param { Callback<FoldDisplayMode> } callback Callback used to return the current fold display mode
48161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
48261847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
48361847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
48461847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
48561847f8eSopenharmony_ci   * @atomicservice
48661847f8eSopenharmony_ci   * @since 12
48761847f8eSopenharmony_ci   */
48861847f8eSopenharmony_ci  function on(type: 'foldDisplayModeChange', callback: Callback<FoldDisplayMode>): void;
48961847f8eSopenharmony_ci
49061847f8eSopenharmony_ci  /**
49161847f8eSopenharmony_ci   * Unregister the callback for fold display mode changes.
49261847f8eSopenharmony_ci   *
49361847f8eSopenharmony_ci   * @param { 'foldDisplayModeChange' } type the event of fold display mode changes
49461847f8eSopenharmony_ci   * @param { Callback<FoldDisplayMode> } callback Callback used to return the current fold display mode
49561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
49661847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
49761847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
49861847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
49961847f8eSopenharmony_ci   * @since 10
50061847f8eSopenharmony_ci   */
50161847f8eSopenharmony_ci  /**
50261847f8eSopenharmony_ci   * Unregister the callback for fold display mode changes.
50361847f8eSopenharmony_ci   *
50461847f8eSopenharmony_ci   * @param { 'foldDisplayModeChange' } type the event of fold display mode changes
50561847f8eSopenharmony_ci   * @param { Callback<FoldDisplayMode> } callback Callback used to return the current fold display mode
50661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
50761847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
50861847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
50961847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
51061847f8eSopenharmony_ci   * @atomicservice
51161847f8eSopenharmony_ci   * @since 12
51261847f8eSopenharmony_ci   */
51361847f8eSopenharmony_ci  function off(type: 'foldDisplayModeChange', callback?: Callback<FoldDisplayMode>): void;
51461847f8eSopenharmony_ci
51561847f8eSopenharmony_ci  /**
51661847f8eSopenharmony_ci   * Get the fold crease region in the current display mode.
51761847f8eSopenharmony_ci   *
51861847f8eSopenharmony_ci   * @returns { FoldCreaseRegion } fold crease region in the current display mode.
51961847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
52061847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
52161847f8eSopenharmony_ci   * @since 10
52261847f8eSopenharmony_ci   */
52361847f8eSopenharmony_ci  /**
52461847f8eSopenharmony_ci   * Get the fold crease region in the current display mode.
52561847f8eSopenharmony_ci   *
52661847f8eSopenharmony_ci   * @returns { FoldCreaseRegion } fold crease region in the current display mode.
52761847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
52861847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
52961847f8eSopenharmony_ci   * @atomicservice
53061847f8eSopenharmony_ci   * @since 12
53161847f8eSopenharmony_ci   */
53261847f8eSopenharmony_ci  function getCurrentFoldCreaseRegion(): FoldCreaseRegion;
53361847f8eSopenharmony_ci
53461847f8eSopenharmony_ci  /**
53561847f8eSopenharmony_ci   * set fold status locked or not.
53661847f8eSopenharmony_ci   *
53761847f8eSopenharmony_ci   * @param { boolean } locked - fold status is locked or not.
53861847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
53961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
54061847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
54161847f8eSopenharmony_ci   * @throws { BusinessError } 1400003 - This display manager service works abnormally.
54261847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
54361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
54461847f8eSopenharmony_ci   * @since 11
54561847f8eSopenharmony_ci   */
54661847f8eSopenharmony_ci  function setFoldStatusLocked(locked: boolean): void;
54761847f8eSopenharmony_ci
54861847f8eSopenharmony_ci  /**
54961847f8eSopenharmony_ci   * Enumerates the fold status.
55061847f8eSopenharmony_ci   *
55161847f8eSopenharmony_ci   * @enum { number }
55261847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
55361847f8eSopenharmony_ci   * @since 10
55461847f8eSopenharmony_ci   */
55561847f8eSopenharmony_ci  /**
55661847f8eSopenharmony_ci   * Enumerates the fold status.
55761847f8eSopenharmony_ci   *
55861847f8eSopenharmony_ci   * @enum { number }
55961847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
56061847f8eSopenharmony_ci   * @atomicservice
56161847f8eSopenharmony_ci   * @since 12
56261847f8eSopenharmony_ci   */
56361847f8eSopenharmony_ci  enum FoldStatus {
56461847f8eSopenharmony_ci    /**
56561847f8eSopenharmony_ci     * Fold Status Unknown.
56661847f8eSopenharmony_ci     *
56761847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
56861847f8eSopenharmony_ci     * @since 10
56961847f8eSopenharmony_ci     */
57061847f8eSopenharmony_ci    /**
57161847f8eSopenharmony_ci     * Fold Status Unknown.
57261847f8eSopenharmony_ci     *
57361847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
57461847f8eSopenharmony_ci     * @atomicservice
57561847f8eSopenharmony_ci     * @since 12
57661847f8eSopenharmony_ci     */
57761847f8eSopenharmony_ci    FOLD_STATUS_UNKNOWN = 0,
57861847f8eSopenharmony_ci    /**
57961847f8eSopenharmony_ci     * Fold Status Expanded.
58061847f8eSopenharmony_ci     *
58161847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
58261847f8eSopenharmony_ci     * @since 10
58361847f8eSopenharmony_ci     */
58461847f8eSopenharmony_ci    /**
58561847f8eSopenharmony_ci     * Fold Status Expanded.
58661847f8eSopenharmony_ci     *
58761847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
58861847f8eSopenharmony_ci     * @atomicservice
58961847f8eSopenharmony_ci     * @since 12
59061847f8eSopenharmony_ci     */
59161847f8eSopenharmony_ci    FOLD_STATUS_EXPANDED,
59261847f8eSopenharmony_ci    /**
59361847f8eSopenharmony_ci     * Fold Status Folded.
59461847f8eSopenharmony_ci     *
59561847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
59661847f8eSopenharmony_ci     * @since 10
59761847f8eSopenharmony_ci     */
59861847f8eSopenharmony_ci    /**
59961847f8eSopenharmony_ci     * Fold Status Folded.
60061847f8eSopenharmony_ci     *
60161847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
60261847f8eSopenharmony_ci     * @atomicservice
60361847f8eSopenharmony_ci     * @since 12
60461847f8eSopenharmony_ci     */
60561847f8eSopenharmony_ci    FOLD_STATUS_FOLDED,
60661847f8eSopenharmony_ci    /**
60761847f8eSopenharmony_ci     * Fold Status Half Folded.
60861847f8eSopenharmony_ci     *
60961847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
61061847f8eSopenharmony_ci     * @since 10
61161847f8eSopenharmony_ci     */
61261847f8eSopenharmony_ci    /**
61361847f8eSopenharmony_ci     * Fold Status Half Folded.
61461847f8eSopenharmony_ci     *
61561847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
61661847f8eSopenharmony_ci     * @atomicservice
61761847f8eSopenharmony_ci     * @since 12
61861847f8eSopenharmony_ci     */
61961847f8eSopenharmony_ci    FOLD_STATUS_HALF_FOLDED
62061847f8eSopenharmony_ci  }
62161847f8eSopenharmony_ci
62261847f8eSopenharmony_ci  /**
62361847f8eSopenharmony_ci   * Enumerates the fold display mode.
62461847f8eSopenharmony_ci   *
62561847f8eSopenharmony_ci   * @enum { number }
62661847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
62761847f8eSopenharmony_ci   * @since 10
62861847f8eSopenharmony_ci   */
62961847f8eSopenharmony_ci  /**
63061847f8eSopenharmony_ci   * Enumerates the fold display mode.
63161847f8eSopenharmony_ci   *
63261847f8eSopenharmony_ci   * @enum { number }
63361847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
63461847f8eSopenharmony_ci   * @atomicservice
63561847f8eSopenharmony_ci   * @since 12
63661847f8eSopenharmony_ci   */
63761847f8eSopenharmony_ci  enum FoldDisplayMode {
63861847f8eSopenharmony_ci    /**
63961847f8eSopenharmony_ci     * Unknown Display.
64061847f8eSopenharmony_ci     *
64161847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
64261847f8eSopenharmony_ci     * @since 10
64361847f8eSopenharmony_ci     */
64461847f8eSopenharmony_ci    /**
64561847f8eSopenharmony_ci     * Unknown Display.
64661847f8eSopenharmony_ci     *
64761847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
64861847f8eSopenharmony_ci     * @atomicservice
64961847f8eSopenharmony_ci     * @since 12
65061847f8eSopenharmony_ci     */
65161847f8eSopenharmony_ci    FOLD_DISPLAY_MODE_UNKNOWN = 0,
65261847f8eSopenharmony_ci    /**
65361847f8eSopenharmony_ci     * Full Display.
65461847f8eSopenharmony_ci     *
65561847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
65661847f8eSopenharmony_ci     * @since 10
65761847f8eSopenharmony_ci     */
65861847f8eSopenharmony_ci    /**
65961847f8eSopenharmony_ci     * Full Display.
66061847f8eSopenharmony_ci     *
66161847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
66261847f8eSopenharmony_ci     * @atomicservice
66361847f8eSopenharmony_ci     * @since 12
66461847f8eSopenharmony_ci     */
66561847f8eSopenharmony_ci    FOLD_DISPLAY_MODE_FULL,
66661847f8eSopenharmony_ci    /**
66761847f8eSopenharmony_ci     * Main Display.
66861847f8eSopenharmony_ci     *
66961847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
67061847f8eSopenharmony_ci     * @since 10
67161847f8eSopenharmony_ci     */
67261847f8eSopenharmony_ci    /**
67361847f8eSopenharmony_ci     * Main Display.
67461847f8eSopenharmony_ci     *
67561847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
67661847f8eSopenharmony_ci     * @atomicservice
67761847f8eSopenharmony_ci     * @since 12
67861847f8eSopenharmony_ci     */
67961847f8eSopenharmony_ci    FOLD_DISPLAY_MODE_MAIN,
68061847f8eSopenharmony_ci    /**
68161847f8eSopenharmony_ci     * Sub Display.
68261847f8eSopenharmony_ci     *
68361847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
68461847f8eSopenharmony_ci     * @since 10
68561847f8eSopenharmony_ci     */
68661847f8eSopenharmony_ci    /**
68761847f8eSopenharmony_ci     * Sub Display.
68861847f8eSopenharmony_ci     *
68961847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
69061847f8eSopenharmony_ci     * @atomicservice
69161847f8eSopenharmony_ci     * @since 12
69261847f8eSopenharmony_ci     */
69361847f8eSopenharmony_ci    FOLD_DISPLAY_MODE_SUB,
69461847f8eSopenharmony_ci    /**
69561847f8eSopenharmony_ci     * Coordination Display.
69661847f8eSopenharmony_ci     *
69761847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
69861847f8eSopenharmony_ci     * @since 10
69961847f8eSopenharmony_ci     */
70061847f8eSopenharmony_ci    /**
70161847f8eSopenharmony_ci     * Coordination Display.
70261847f8eSopenharmony_ci     *
70361847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
70461847f8eSopenharmony_ci     * @atomicservice
70561847f8eSopenharmony_ci     * @since 12
70661847f8eSopenharmony_ci     */
70761847f8eSopenharmony_ci    FOLD_DISPLAY_MODE_COORDINATION
70861847f8eSopenharmony_ci  }
70961847f8eSopenharmony_ci
71061847f8eSopenharmony_ci  /**
71161847f8eSopenharmony_ci   * Enumerates the display states.
71261847f8eSopenharmony_ci   *
71361847f8eSopenharmony_ci   * @enum { number }
71461847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
71561847f8eSopenharmony_ci   * @since 7
71661847f8eSopenharmony_ci   */
71761847f8eSopenharmony_ci  /**
71861847f8eSopenharmony_ci   * Enumerates the display states.
71961847f8eSopenharmony_ci   *
72061847f8eSopenharmony_ci   * @enum { number }
72161847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
72261847f8eSopenharmony_ci   * @atomicservice
72361847f8eSopenharmony_ci   * @since 12
72461847f8eSopenharmony_ci   */
72561847f8eSopenharmony_ci  enum DisplayState {
72661847f8eSopenharmony_ci    /**
72761847f8eSopenharmony_ci     * Unknown.
72861847f8eSopenharmony_ci     *
72961847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
73061847f8eSopenharmony_ci     * @since 7
73161847f8eSopenharmony_ci     */
73261847f8eSopenharmony_ci    /**
73361847f8eSopenharmony_ci     * Unknown.
73461847f8eSopenharmony_ci     *
73561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
73661847f8eSopenharmony_ci     * @atomicservice
73761847f8eSopenharmony_ci     * @since 12
73861847f8eSopenharmony_ci     */
73961847f8eSopenharmony_ci    STATE_UNKNOWN = 0,
74061847f8eSopenharmony_ci    /**
74161847f8eSopenharmony_ci     * Screen off.
74261847f8eSopenharmony_ci     *
74361847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
74461847f8eSopenharmony_ci     * @since 7
74561847f8eSopenharmony_ci     */
74661847f8eSopenharmony_ci    /**
74761847f8eSopenharmony_ci     * Screen off.
74861847f8eSopenharmony_ci     *
74961847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
75061847f8eSopenharmony_ci     * @atomicservice
75161847f8eSopenharmony_ci     * @since 12
75261847f8eSopenharmony_ci     */
75361847f8eSopenharmony_ci    STATE_OFF,
75461847f8eSopenharmony_ci    /**
75561847f8eSopenharmony_ci     * Screen on.
75661847f8eSopenharmony_ci     *
75761847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
75861847f8eSopenharmony_ci     * @since 7
75961847f8eSopenharmony_ci     */
76061847f8eSopenharmony_ci    /**
76161847f8eSopenharmony_ci     * Screen on.
76261847f8eSopenharmony_ci     *
76361847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
76461847f8eSopenharmony_ci     * @atomicservice
76561847f8eSopenharmony_ci     * @since 12
76661847f8eSopenharmony_ci     */
76761847f8eSopenharmony_ci    STATE_ON,
76861847f8eSopenharmony_ci    /**
76961847f8eSopenharmony_ci     * Doze, but it will update for some important system messages.
77061847f8eSopenharmony_ci     *
77161847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
77261847f8eSopenharmony_ci     * @since 7
77361847f8eSopenharmony_ci     */
77461847f8eSopenharmony_ci    /**
77561847f8eSopenharmony_ci     * Doze, but it will update for some important system messages.
77661847f8eSopenharmony_ci     *
77761847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
77861847f8eSopenharmony_ci     * @atomicservice
77961847f8eSopenharmony_ci     * @since 12
78061847f8eSopenharmony_ci     */
78161847f8eSopenharmony_ci    STATE_DOZE,
78261847f8eSopenharmony_ci    /**
78361847f8eSopenharmony_ci     * Doze and not update.
78461847f8eSopenharmony_ci     *
78561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
78661847f8eSopenharmony_ci     * @since 7
78761847f8eSopenharmony_ci     */
78861847f8eSopenharmony_ci    /**
78961847f8eSopenharmony_ci     * Doze and not update.
79061847f8eSopenharmony_ci     *
79161847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
79261847f8eSopenharmony_ci     * @atomicservice
79361847f8eSopenharmony_ci     * @since 12
79461847f8eSopenharmony_ci     */
79561847f8eSopenharmony_ci    STATE_DOZE_SUSPEND,
79661847f8eSopenharmony_ci    /**
79761847f8eSopenharmony_ci     * VR node.
79861847f8eSopenharmony_ci     *
79961847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
80061847f8eSopenharmony_ci     * @since 7
80161847f8eSopenharmony_ci     */
80261847f8eSopenharmony_ci    /**
80361847f8eSopenharmony_ci     * VR node.
80461847f8eSopenharmony_ci     *
80561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
80661847f8eSopenharmony_ci     * @atomicservice
80761847f8eSopenharmony_ci     * @since 12
80861847f8eSopenharmony_ci     */
80961847f8eSopenharmony_ci    STATE_VR,
81061847f8eSopenharmony_ci    /**
81161847f8eSopenharmony_ci     * Screen on and not update.
81261847f8eSopenharmony_ci     *
81361847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
81461847f8eSopenharmony_ci     * @since 7
81561847f8eSopenharmony_ci     */
81661847f8eSopenharmony_ci    /**
81761847f8eSopenharmony_ci     * Screen on and not update.
81861847f8eSopenharmony_ci     *
81961847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
82061847f8eSopenharmony_ci     * @atomicservice
82161847f8eSopenharmony_ci     * @since 12
82261847f8eSopenharmony_ci     */
82361847f8eSopenharmony_ci    STATE_ON_SUSPEND
82461847f8eSopenharmony_ci  }
82561847f8eSopenharmony_ci
82661847f8eSopenharmony_ci  /**
82761847f8eSopenharmony_ci   * Enumerates the display orientation.
82861847f8eSopenharmony_ci   *
82961847f8eSopenharmony_ci   * @enum { number }
83061847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
83161847f8eSopenharmony_ci   * @crossplatform
83261847f8eSopenharmony_ci   * @since 10
83361847f8eSopenharmony_ci   */
83461847f8eSopenharmony_ci  /**
83561847f8eSopenharmony_ci   * Enumerates the display orientation.
83661847f8eSopenharmony_ci   *
83761847f8eSopenharmony_ci   * @enum { number }
83861847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
83961847f8eSopenharmony_ci   * @crossplatform
84061847f8eSopenharmony_ci   * @atomicservice
84161847f8eSopenharmony_ci   * @since 12
84261847f8eSopenharmony_ci   */
84361847f8eSopenharmony_ci  enum Orientation {
84461847f8eSopenharmony_ci    /**
84561847f8eSopenharmony_ci     * Indicate that the display content is in portrait mode.
84661847f8eSopenharmony_ci     *
84761847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
84861847f8eSopenharmony_ci     * @crossplatform
84961847f8eSopenharmony_ci     * @since 10
85061847f8eSopenharmony_ci     */
85161847f8eSopenharmony_ci    /**
85261847f8eSopenharmony_ci     * Indicate that the display content is in portrait mode.
85361847f8eSopenharmony_ci     *
85461847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
85561847f8eSopenharmony_ci     * @crossplatform
85661847f8eSopenharmony_ci     * @atomicservice
85761847f8eSopenharmony_ci     * @since 12
85861847f8eSopenharmony_ci     */
85961847f8eSopenharmony_ci    PORTRAIT = 0,
86061847f8eSopenharmony_ci
86161847f8eSopenharmony_ci    /**
86261847f8eSopenharmony_ci     * Indicate that the display content is in landscape mode.
86361847f8eSopenharmony_ci     *
86461847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
86561847f8eSopenharmony_ci     * @crossplatform
86661847f8eSopenharmony_ci     * @since 10
86761847f8eSopenharmony_ci     */
86861847f8eSopenharmony_ci    /**
86961847f8eSopenharmony_ci     * Indicate that the display content is in landscape mode.
87061847f8eSopenharmony_ci     *
87161847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
87261847f8eSopenharmony_ci     * @crossplatform
87361847f8eSopenharmony_ci     * @atomicservice
87461847f8eSopenharmony_ci     * @since 12
87561847f8eSopenharmony_ci     */
87661847f8eSopenharmony_ci    LANDSCAPE = 1,
87761847f8eSopenharmony_ci
87861847f8eSopenharmony_ci    /**
87961847f8eSopenharmony_ci     * Indicate that the display content is in the opposite direction of the portrait mode.
88061847f8eSopenharmony_ci     *
88161847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
88261847f8eSopenharmony_ci     * @crossplatform
88361847f8eSopenharmony_ci     * @since 10
88461847f8eSopenharmony_ci     */
88561847f8eSopenharmony_ci    /**
88661847f8eSopenharmony_ci     * Indicate that the display content is in the opposite direction of the portrait mode.
88761847f8eSopenharmony_ci     *
88861847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
88961847f8eSopenharmony_ci     * @crossplatform
89061847f8eSopenharmony_ci     * @atomicservice
89161847f8eSopenharmony_ci     * @since 12
89261847f8eSopenharmony_ci     */
89361847f8eSopenharmony_ci    PORTRAIT_INVERTED = 2,
89461847f8eSopenharmony_ci
89561847f8eSopenharmony_ci    /**
89661847f8eSopenharmony_ci     * Indicate that the display content is in the opposite direction of the landscape mode.
89761847f8eSopenharmony_ci     *
89861847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
89961847f8eSopenharmony_ci     * @crossplatform
90061847f8eSopenharmony_ci     * @since 10
90161847f8eSopenharmony_ci     */
90261847f8eSopenharmony_ci    /**
90361847f8eSopenharmony_ci     * Indicate that the display content is in the opposite direction of the landscape mode.
90461847f8eSopenharmony_ci     *
90561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
90661847f8eSopenharmony_ci     * @crossplatform
90761847f8eSopenharmony_ci     * @atomicservice
90861847f8eSopenharmony_ci     * @since 12
90961847f8eSopenharmony_ci     */
91061847f8eSopenharmony_ci    LANDSCAPE_INVERTED = 3
91161847f8eSopenharmony_ci  }
91261847f8eSopenharmony_ci
91361847f8eSopenharmony_ci  /**
91461847f8eSopenharmony_ci   * Fold Crease Region
91561847f8eSopenharmony_ci   *
91661847f8eSopenharmony_ci   * @interface FoldCreaseRegion
91761847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
91861847f8eSopenharmony_ci   * @since 10
91961847f8eSopenharmony_ci   */
92061847f8eSopenharmony_ci  /**
92161847f8eSopenharmony_ci   * Fold Crease Region
92261847f8eSopenharmony_ci   *
92361847f8eSopenharmony_ci   * @interface FoldCreaseRegion
92461847f8eSopenharmony_ci   * @syscap SystemCapability.Window.SessionManager
92561847f8eSopenharmony_ci   * @atomicservice
92661847f8eSopenharmony_ci   * @since 12
92761847f8eSopenharmony_ci   */
92861847f8eSopenharmony_ci  interface FoldCreaseRegion {
92961847f8eSopenharmony_ci    /**
93061847f8eSopenharmony_ci     * The display ID is used to identify the screen where the crease is located.
93161847f8eSopenharmony_ci     *
93261847f8eSopenharmony_ci     * @type { number }
93361847f8eSopenharmony_ci     * @readonly
93461847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
93561847f8eSopenharmony_ci     * @since 10
93661847f8eSopenharmony_ci     */
93761847f8eSopenharmony_ci    /**
93861847f8eSopenharmony_ci     * The display ID is used to identify the screen where the crease is located.
93961847f8eSopenharmony_ci     *
94061847f8eSopenharmony_ci     * @type { number }
94161847f8eSopenharmony_ci     * @readonly
94261847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
94361847f8eSopenharmony_ci     * @atomicservice
94461847f8eSopenharmony_ci     * @since 12
94561847f8eSopenharmony_ci     */
94661847f8eSopenharmony_ci    readonly displayId: number;
94761847f8eSopenharmony_ci
94861847f8eSopenharmony_ci    /**
94961847f8eSopenharmony_ci     * Crease Region.
95061847f8eSopenharmony_ci     *
95161847f8eSopenharmony_ci     * @type { Array<Rect> }
95261847f8eSopenharmony_ci     * @readonly
95361847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
95461847f8eSopenharmony_ci     * @since 10
95561847f8eSopenharmony_ci     */
95661847f8eSopenharmony_ci    /**
95761847f8eSopenharmony_ci     * Crease Region.
95861847f8eSopenharmony_ci     *
95961847f8eSopenharmony_ci     * @type { Array<Rect> }
96061847f8eSopenharmony_ci     * @readonly
96161847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
96261847f8eSopenharmony_ci     * @atomicservice
96361847f8eSopenharmony_ci     * @since 12
96461847f8eSopenharmony_ci     */
96561847f8eSopenharmony_ci    readonly creaseRects: Array<Rect>;
96661847f8eSopenharmony_ci  }
96761847f8eSopenharmony_ci
96861847f8eSopenharmony_ci  /**
96961847f8eSopenharmony_ci   * Rectangle
97061847f8eSopenharmony_ci   *
97161847f8eSopenharmony_ci   * @interface Rect
97261847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
97361847f8eSopenharmony_ci   * @since 9
97461847f8eSopenharmony_ci   */
97561847f8eSopenharmony_ci  /**
97661847f8eSopenharmony_ci   * Rectangle
97761847f8eSopenharmony_ci   *
97861847f8eSopenharmony_ci   * @interface Rect
97961847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
98061847f8eSopenharmony_ci   * @atomicservice
98161847f8eSopenharmony_ci   * @since 12
98261847f8eSopenharmony_ci   */
98361847f8eSopenharmony_ci  interface Rect {
98461847f8eSopenharmony_ci    /**
98561847f8eSopenharmony_ci     * The X-axis coordinate of the upper left vertex of the rectangle, in pixels.
98661847f8eSopenharmony_ci     *
98761847f8eSopenharmony_ci     * @type { number }
98861847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
98961847f8eSopenharmony_ci     * @since 9
99061847f8eSopenharmony_ci     */
99161847f8eSopenharmony_ci    /**
99261847f8eSopenharmony_ci     * The X-axis coordinate of the upper left vertex of the rectangle, in pixels.
99361847f8eSopenharmony_ci     *
99461847f8eSopenharmony_ci     * @type { number }
99561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
99661847f8eSopenharmony_ci     * @atomicservice
99761847f8eSopenharmony_ci     * @since 12
99861847f8eSopenharmony_ci     */
99961847f8eSopenharmony_ci    left: number;
100061847f8eSopenharmony_ci
100161847f8eSopenharmony_ci    /**
100261847f8eSopenharmony_ci     * The Y-axis coordinate of the upper left vertex of the rectangle, in pixels.
100361847f8eSopenharmony_ci     *
100461847f8eSopenharmony_ci     * @type { number }
100561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
100661847f8eSopenharmony_ci     * @since 9
100761847f8eSopenharmony_ci     */
100861847f8eSopenharmony_ci    /**
100961847f8eSopenharmony_ci     * The Y-axis coordinate of the upper left vertex of the rectangle, in pixels.
101061847f8eSopenharmony_ci     *
101161847f8eSopenharmony_ci     * @type { number }
101261847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
101361847f8eSopenharmony_ci     * @atomicservice
101461847f8eSopenharmony_ci     * @since 12
101561847f8eSopenharmony_ci     */
101661847f8eSopenharmony_ci    top: number;
101761847f8eSopenharmony_ci
101861847f8eSopenharmony_ci    /**
101961847f8eSopenharmony_ci     * Width of the rectangle, in pixels.
102061847f8eSopenharmony_ci     *
102161847f8eSopenharmony_ci     * @type { number }
102261847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
102361847f8eSopenharmony_ci     * @since 9
102461847f8eSopenharmony_ci     */
102561847f8eSopenharmony_ci    /**
102661847f8eSopenharmony_ci     * Width of the rectangle, in pixels.
102761847f8eSopenharmony_ci     *
102861847f8eSopenharmony_ci     * @type { number }
102961847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
103061847f8eSopenharmony_ci     * @atomicservice
103161847f8eSopenharmony_ci     * @since 12
103261847f8eSopenharmony_ci     */
103361847f8eSopenharmony_ci    width: number;
103461847f8eSopenharmony_ci
103561847f8eSopenharmony_ci    /**
103661847f8eSopenharmony_ci     * Height of the rectangle, in pixels.
103761847f8eSopenharmony_ci     *
103861847f8eSopenharmony_ci     * @type { number }
103961847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
104061847f8eSopenharmony_ci     * @since 9
104161847f8eSopenharmony_ci     */
104261847f8eSopenharmony_ci    /**
104361847f8eSopenharmony_ci     * Height of the rectangle, in pixels.
104461847f8eSopenharmony_ci     *
104561847f8eSopenharmony_ci     * @type { number }
104661847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
104761847f8eSopenharmony_ci     * @atomicservice
104861847f8eSopenharmony_ci     * @since 12
104961847f8eSopenharmony_ci     */
105061847f8eSopenharmony_ci    height: number;
105161847f8eSopenharmony_ci  }
105261847f8eSopenharmony_ci
105361847f8eSopenharmony_ci  /**
105461847f8eSopenharmony_ci   * Curved area rects of the waterfall display.
105561847f8eSopenharmony_ci   *
105661847f8eSopenharmony_ci   * @interface WaterfallDisplayAreaRects
105761847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
105861847f8eSopenharmony_ci   * @since 9
105961847f8eSopenharmony_ci   */
106061847f8eSopenharmony_ci  /**
106161847f8eSopenharmony_ci   * Curved area rects of the waterfall display.
106261847f8eSopenharmony_ci   *
106361847f8eSopenharmony_ci   * @interface WaterfallDisplayAreaRects
106461847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
106561847f8eSopenharmony_ci   * @atomicservice
106661847f8eSopenharmony_ci   * @since 12
106761847f8eSopenharmony_ci   */
106861847f8eSopenharmony_ci  interface WaterfallDisplayAreaRects {
106961847f8eSopenharmony_ci    /**
107061847f8eSopenharmony_ci     * Indicates the size of left side curved area of the waterfall screen.
107161847f8eSopenharmony_ci     *
107261847f8eSopenharmony_ci     * @type { Rect }
107361847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
107461847f8eSopenharmony_ci     * @since 9
107561847f8eSopenharmony_ci     */
107661847f8eSopenharmony_ci    /**
107761847f8eSopenharmony_ci     * Indicates the size of left side curved area of the waterfall screen.
107861847f8eSopenharmony_ci     *
107961847f8eSopenharmony_ci     * @type { Rect }
108061847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
108161847f8eSopenharmony_ci     * @atomicservice
108261847f8eSopenharmony_ci     * @since 12
108361847f8eSopenharmony_ci     */
108461847f8eSopenharmony_ci    readonly left: Rect;
108561847f8eSopenharmony_ci
108661847f8eSopenharmony_ci    /**
108761847f8eSopenharmony_ci     * Indicates the size of right side curved area of the waterfall screen.
108861847f8eSopenharmony_ci     *
108961847f8eSopenharmony_ci     * @type { Rect }
109061847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
109161847f8eSopenharmony_ci     * @since 9
109261847f8eSopenharmony_ci     */
109361847f8eSopenharmony_ci    /**
109461847f8eSopenharmony_ci     * Indicates the size of right side curved area of the waterfall screen.
109561847f8eSopenharmony_ci     *
109661847f8eSopenharmony_ci     * @type { Rect }
109761847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
109861847f8eSopenharmony_ci     * @atomicservice
109961847f8eSopenharmony_ci     * @since 12
110061847f8eSopenharmony_ci     */
110161847f8eSopenharmony_ci    readonly right: Rect;
110261847f8eSopenharmony_ci
110361847f8eSopenharmony_ci    /**
110461847f8eSopenharmony_ci     * Indicates the size of top side curved area of the waterfall screen.
110561847f8eSopenharmony_ci     *
110661847f8eSopenharmony_ci     * @type { Rect }
110761847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
110861847f8eSopenharmony_ci     * @since 9
110961847f8eSopenharmony_ci     */
111061847f8eSopenharmony_ci    /**
111161847f8eSopenharmony_ci     * Indicates the size of top side curved area of the waterfall screen.
111261847f8eSopenharmony_ci     *
111361847f8eSopenharmony_ci     * @type { Rect }
111461847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
111561847f8eSopenharmony_ci     * @atomicservice
111661847f8eSopenharmony_ci     * @since 12
111761847f8eSopenharmony_ci     */
111861847f8eSopenharmony_ci    readonly top: Rect;
111961847f8eSopenharmony_ci
112061847f8eSopenharmony_ci    /**
112161847f8eSopenharmony_ci     * Indicates the size of bottom side curved area of the waterfall screen.
112261847f8eSopenharmony_ci     *
112361847f8eSopenharmony_ci     * @type { Rect }
112461847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
112561847f8eSopenharmony_ci     * @since 9
112661847f8eSopenharmony_ci     */
112761847f8eSopenharmony_ci    /**
112861847f8eSopenharmony_ci     * Indicates the size of bottom side curved area of the waterfall screen.
112961847f8eSopenharmony_ci     *
113061847f8eSopenharmony_ci     * @type { Rect }
113161847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
113261847f8eSopenharmony_ci     * @atomicservice
113361847f8eSopenharmony_ci     * @since 12
113461847f8eSopenharmony_ci     */
113561847f8eSopenharmony_ci    readonly bottom: Rect;
113661847f8eSopenharmony_ci  }
113761847f8eSopenharmony_ci
113861847f8eSopenharmony_ci  /**
113961847f8eSopenharmony_ci   * Cutout information of the display.
114061847f8eSopenharmony_ci   *
114161847f8eSopenharmony_ci   * @interface CutoutInfo
114261847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
114361847f8eSopenharmony_ci   * @since 9
114461847f8eSopenharmony_ci   */
114561847f8eSopenharmony_ci  /**
114661847f8eSopenharmony_ci   * Cutout information of the display.
114761847f8eSopenharmony_ci   *
114861847f8eSopenharmony_ci   * @interface CutoutInfo
114961847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
115061847f8eSopenharmony_ci   * @atomicservice
115161847f8eSopenharmony_ci   * @since 12
115261847f8eSopenharmony_ci   */
115361847f8eSopenharmony_ci  interface CutoutInfo {
115461847f8eSopenharmony_ci    /**
115561847f8eSopenharmony_ci     * Bounding rectangles of the cutout areas of the display.
115661847f8eSopenharmony_ci     *
115761847f8eSopenharmony_ci     * @type { Array<Rect> }
115861847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
115961847f8eSopenharmony_ci     * @since 9
116061847f8eSopenharmony_ci     */
116161847f8eSopenharmony_ci    /**
116261847f8eSopenharmony_ci     * Bounding rectangles of the cutout areas of the display.
116361847f8eSopenharmony_ci     *
116461847f8eSopenharmony_ci     * @type { Array<Rect> }
116561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
116661847f8eSopenharmony_ci     * @atomicservice
116761847f8eSopenharmony_ci     * @since 12
116861847f8eSopenharmony_ci     */
116961847f8eSopenharmony_ci    readonly boundingRects: Array<Rect>;
117061847f8eSopenharmony_ci
117161847f8eSopenharmony_ci    /**
117261847f8eSopenharmony_ci     * Rectangles of curved parts on each side of a waterfall display.
117361847f8eSopenharmony_ci     *
117461847f8eSopenharmony_ci     * @type { WaterfallDisplayAreaRects }
117561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
117661847f8eSopenharmony_ci     * @since 9
117761847f8eSopenharmony_ci     */
117861847f8eSopenharmony_ci    /**
117961847f8eSopenharmony_ci     * Rectangles of curved parts on each side of a waterfall display.
118061847f8eSopenharmony_ci     *
118161847f8eSopenharmony_ci     * @type { WaterfallDisplayAreaRects }
118261847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
118361847f8eSopenharmony_ci     * @atomicservice
118461847f8eSopenharmony_ci     * @since 12
118561847f8eSopenharmony_ci     */
118661847f8eSopenharmony_ci    readonly waterfallDisplayAreaRects: WaterfallDisplayAreaRects;
118761847f8eSopenharmony_ci  }
118861847f8eSopenharmony_ci
118961847f8eSopenharmony_ci  /**
119061847f8eSopenharmony_ci   * Define display physical resolution.
119161847f8eSopenharmony_ci   *
119261847f8eSopenharmony_ci   * @interface DisplayPhysicalResolution
119361847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
119461847f8eSopenharmony_ci   * @crossplatform
119561847f8eSopenharmony_ci   * @atomicservice
119661847f8eSopenharmony_ci   * @since 12
119761847f8eSopenharmony_ci   */
119861847f8eSopenharmony_ci  interface DisplayPhysicalResolution {
119961847f8eSopenharmony_ci    /**
120061847f8eSopenharmony_ci     * fold display mode.
120161847f8eSopenharmony_ci     *
120261847f8eSopenharmony_ci     * @type { FoldDisplayMode }
120361847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
120461847f8eSopenharmony_ci     * @atomicservice
120561847f8eSopenharmony_ci     * @since 12
120661847f8eSopenharmony_ci     */
120761847f8eSopenharmony_ci    foldDisplayMode: FoldDisplayMode;
120861847f8eSopenharmony_ci
120961847f8eSopenharmony_ci    /**
121061847f8eSopenharmony_ci     * Display physical width, in pixels.
121161847f8eSopenharmony_ci     *
121261847f8eSopenharmony_ci     * @type { number }
121361847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
121461847f8eSopenharmony_ci     * @crossplatform
121561847f8eSopenharmony_ci     * @atomicservice
121661847f8eSopenharmony_ci     * @since 12
121761847f8eSopenharmony_ci     */
121861847f8eSopenharmony_ci    physicalWidth: number;
121961847f8eSopenharmony_ci
122061847f8eSopenharmony_ci    /**
122161847f8eSopenharmony_ci     * Display physical height, in pixels.
122261847f8eSopenharmony_ci     *
122361847f8eSopenharmony_ci     * @type { number }
122461847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
122561847f8eSopenharmony_ci     * @crossplatform
122661847f8eSopenharmony_ci     * @atomicservice
122761847f8eSopenharmony_ci     * @since 12
122861847f8eSopenharmony_ci     */
122961847f8eSopenharmony_ci    physicalHeight: number;
123061847f8eSopenharmony_ci  }
123161847f8eSopenharmony_ci
123261847f8eSopenharmony_ci  /**
123361847f8eSopenharmony_ci   * Define properties of the display. They cannot be updated automatically.
123461847f8eSopenharmony_ci   *
123561847f8eSopenharmony_ci   * @interface Display
123661847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
123761847f8eSopenharmony_ci   * @since 7
123861847f8eSopenharmony_ci   */
123961847f8eSopenharmony_ci  /**
124061847f8eSopenharmony_ci   * Define properties of the display. They cannot be updated automatically.
124161847f8eSopenharmony_ci   *
124261847f8eSopenharmony_ci   * @interface Display
124361847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
124461847f8eSopenharmony_ci   * @crossplatform
124561847f8eSopenharmony_ci   * @since 10
124661847f8eSopenharmony_ci   */
124761847f8eSopenharmony_ci  /**
124861847f8eSopenharmony_ci   * Define properties of the display. They cannot be updated automatically.
124961847f8eSopenharmony_ci   *
125061847f8eSopenharmony_ci   * @interface Display
125161847f8eSopenharmony_ci   * @syscap SystemCapability.WindowManager.WindowManager.Core
125261847f8eSopenharmony_ci   * @crossplatform
125361847f8eSopenharmony_ci   * @atomicservice
125461847f8eSopenharmony_ci   * @since 11
125561847f8eSopenharmony_ci   */
125661847f8eSopenharmony_ci  interface Display {
125761847f8eSopenharmony_ci    /**
125861847f8eSopenharmony_ci     * Display ID.
125961847f8eSopenharmony_ci     *
126061847f8eSopenharmony_ci     * @type { number }
126161847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
126261847f8eSopenharmony_ci     * @since 7
126361847f8eSopenharmony_ci     */
126461847f8eSopenharmony_ci    /**
126561847f8eSopenharmony_ci     * Display ID.
126661847f8eSopenharmony_ci     *
126761847f8eSopenharmony_ci     * @type { number }
126861847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
126961847f8eSopenharmony_ci     * @crossplatform
127061847f8eSopenharmony_ci     * @since 10
127161847f8eSopenharmony_ci     */
127261847f8eSopenharmony_ci    /**
127361847f8eSopenharmony_ci     * Display ID.
127461847f8eSopenharmony_ci     *
127561847f8eSopenharmony_ci     * @type { number }
127661847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
127761847f8eSopenharmony_ci     * @crossplatform
127861847f8eSopenharmony_ci     * @atomicservice
127961847f8eSopenharmony_ci     * @since 12
128061847f8eSopenharmony_ci     */
128161847f8eSopenharmony_ci    id: number;
128261847f8eSopenharmony_ci
128361847f8eSopenharmony_ci    /**
128461847f8eSopenharmony_ci     * Display name.
128561847f8eSopenharmony_ci     *
128661847f8eSopenharmony_ci     * @type { string }
128761847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
128861847f8eSopenharmony_ci     * @since 7
128961847f8eSopenharmony_ci     */
129061847f8eSopenharmony_ci    /**
129161847f8eSopenharmony_ci     * Display name.
129261847f8eSopenharmony_ci     *
129361847f8eSopenharmony_ci     * @type { string }
129461847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
129561847f8eSopenharmony_ci     * @atomicservice
129661847f8eSopenharmony_ci     * @since 12
129761847f8eSopenharmony_ci     */
129861847f8eSopenharmony_ci    name: string;
129961847f8eSopenharmony_ci
130061847f8eSopenharmony_ci    /**
130161847f8eSopenharmony_ci     * The display is alive.
130261847f8eSopenharmony_ci     *
130361847f8eSopenharmony_ci     * @type { boolean }
130461847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
130561847f8eSopenharmony_ci     * @since 7
130661847f8eSopenharmony_ci     */
130761847f8eSopenharmony_ci    /**
130861847f8eSopenharmony_ci     * The display is alive.
130961847f8eSopenharmony_ci     *
131061847f8eSopenharmony_ci     * @type { boolean }
131161847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
131261847f8eSopenharmony_ci     * @atomicservice
131361847f8eSopenharmony_ci     * @since 12
131461847f8eSopenharmony_ci     */
131561847f8eSopenharmony_ci    alive: boolean;
131661847f8eSopenharmony_ci
131761847f8eSopenharmony_ci    /**
131861847f8eSopenharmony_ci     * The state of display.
131961847f8eSopenharmony_ci     *
132061847f8eSopenharmony_ci     * @type { DisplayState }
132161847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
132261847f8eSopenharmony_ci     * @since 7
132361847f8eSopenharmony_ci     */
132461847f8eSopenharmony_ci    /**
132561847f8eSopenharmony_ci     * The state of display.
132661847f8eSopenharmony_ci     *
132761847f8eSopenharmony_ci     * @type { DisplayState }
132861847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
132961847f8eSopenharmony_ci     * @atomicservice
133061847f8eSopenharmony_ci     * @since 12
133161847f8eSopenharmony_ci     */
133261847f8eSopenharmony_ci    state: DisplayState;
133361847f8eSopenharmony_ci
133461847f8eSopenharmony_ci    /**
133561847f8eSopenharmony_ci     * Refresh rate, in Hz.
133661847f8eSopenharmony_ci     *
133761847f8eSopenharmony_ci     * @type { number }
133861847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
133961847f8eSopenharmony_ci     * @since 7
134061847f8eSopenharmony_ci     */
134161847f8eSopenharmony_ci    /**
134261847f8eSopenharmony_ci     * Refresh rate, in Hz.
134361847f8eSopenharmony_ci     *
134461847f8eSopenharmony_ci     * @type { number }
134561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
134661847f8eSopenharmony_ci     * @atomicservice
134761847f8eSopenharmony_ci     * @since 12
134861847f8eSopenharmony_ci     */
134961847f8eSopenharmony_ci    refreshRate: number;
135061847f8eSopenharmony_ci
135161847f8eSopenharmony_ci    /**
135261847f8eSopenharmony_ci     * Rotation degrees of the display.
135361847f8eSopenharmony_ci     *
135461847f8eSopenharmony_ci     * @type { number }
135561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
135661847f8eSopenharmony_ci     * @since 7
135761847f8eSopenharmony_ci     */
135861847f8eSopenharmony_ci    /**
135961847f8eSopenharmony_ci     * An enumeration value for rotation degrees of the display.
136061847f8eSopenharmony_ci     * The value 0 indicates that the screen of the display rotates clockwise by 0°.
136161847f8eSopenharmony_ci     * The value 1 indicates that the screen of the display rotates clockwise by 90°.
136261847f8eSopenharmony_ci     * The value 2 indicates that the screen of the display rotates clockwise by 180°.
136361847f8eSopenharmony_ci     * The value 3 indicates that the screen of the display rotates clockwise by 270°.
136461847f8eSopenharmony_ci     * 
136561847f8eSopenharmony_ci     * @type { number }
136661847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
136761847f8eSopenharmony_ci     * @atomicservice
136861847f8eSopenharmony_ci     * @since 11
136961847f8eSopenharmony_ci     */
137061847f8eSopenharmony_ci    rotation: number;
137161847f8eSopenharmony_ci
137261847f8eSopenharmony_ci    /**
137361847f8eSopenharmony_ci     * Display width, in pixels.
137461847f8eSopenharmony_ci     *
137561847f8eSopenharmony_ci     * @type { number }
137661847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
137761847f8eSopenharmony_ci     * @since 7
137861847f8eSopenharmony_ci     */
137961847f8eSopenharmony_ci    /**
138061847f8eSopenharmony_ci     * Display width, in pixels.
138161847f8eSopenharmony_ci     *
138261847f8eSopenharmony_ci     * @type { number }
138361847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
138461847f8eSopenharmony_ci     * @crossplatform
138561847f8eSopenharmony_ci     * @since 10
138661847f8eSopenharmony_ci     */
138761847f8eSopenharmony_ci    /**
138861847f8eSopenharmony_ci     * Display width, in pixels.
138961847f8eSopenharmony_ci     *
139061847f8eSopenharmony_ci     * @type { number }
139161847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
139261847f8eSopenharmony_ci     * @crossplatform
139361847f8eSopenharmony_ci     * @atomicservice
139461847f8eSopenharmony_ci     * @since 11
139561847f8eSopenharmony_ci     */
139661847f8eSopenharmony_ci    width: number;
139761847f8eSopenharmony_ci
139861847f8eSopenharmony_ci    /**
139961847f8eSopenharmony_ci     * Display height, in pixels.
140061847f8eSopenharmony_ci     *
140161847f8eSopenharmony_ci     * @type { number }
140261847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
140361847f8eSopenharmony_ci     * @since 7
140461847f8eSopenharmony_ci     */
140561847f8eSopenharmony_ci    /**
140661847f8eSopenharmony_ci     * Display height, in pixels.
140761847f8eSopenharmony_ci     *
140861847f8eSopenharmony_ci     * @type { number }
140961847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
141061847f8eSopenharmony_ci     * @crossplatform
141161847f8eSopenharmony_ci     * @since 10
141261847f8eSopenharmony_ci     */
141361847f8eSopenharmony_ci    /**
141461847f8eSopenharmony_ci     * Display height, in pixels.
141561847f8eSopenharmony_ci     *
141661847f8eSopenharmony_ci     * @type { number }
141761847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
141861847f8eSopenharmony_ci     * @crossplatform
141961847f8eSopenharmony_ci     * @atomicservice
142061847f8eSopenharmony_ci     * @since 11
142161847f8eSopenharmony_ci     */
142261847f8eSopenharmony_ci    height: number;
142361847f8eSopenharmony_ci
142461847f8eSopenharmony_ci    /**
142561847f8eSopenharmony_ci     * Display available width, in pixels.
142661847f8eSopenharmony_ci     *
142761847f8eSopenharmony_ci     * @type { number }
142861847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
142961847f8eSopenharmony_ci     * @crossplatform
143061847f8eSopenharmony_ci     * @atomicservice
143161847f8eSopenharmony_ci     * @since 12
143261847f8eSopenharmony_ci     */
143361847f8eSopenharmony_ci    availableWidth: number;
143461847f8eSopenharmony_ci
143561847f8eSopenharmony_ci    /**
143661847f8eSopenharmony_ci     * Display available height, in pixels.
143761847f8eSopenharmony_ci     *
143861847f8eSopenharmony_ci     * @type { number }
143961847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
144061847f8eSopenharmony_ci     * @crossplatform
144161847f8eSopenharmony_ci     * @atomicservice
144261847f8eSopenharmony_ci     * @since 12
144361847f8eSopenharmony_ci     */
144461847f8eSopenharmony_ci    availableHeight: number;
144561847f8eSopenharmony_ci
144661847f8eSopenharmony_ci    /**
144761847f8eSopenharmony_ci     * Display resolution.
144861847f8eSopenharmony_ci     *
144961847f8eSopenharmony_ci     * @type { number }
145061847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
145161847f8eSopenharmony_ci     * @since 7
145261847f8eSopenharmony_ci     */
145361847f8eSopenharmony_ci    /**
145461847f8eSopenharmony_ci     * Display resolution.
145561847f8eSopenharmony_ci     *
145661847f8eSopenharmony_ci     * @type { number }
145761847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
145861847f8eSopenharmony_ci     * @crossplatform
145961847f8eSopenharmony_ci     * @since 11
146061847f8eSopenharmony_ci     */
146161847f8eSopenharmony_ci    /**
146261847f8eSopenharmony_ci     * Display resolution.
146361847f8eSopenharmony_ci     *
146461847f8eSopenharmony_ci     * @type { number }
146561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
146661847f8eSopenharmony_ci     * @crossplatform
146761847f8eSopenharmony_ci     * @atomicservice
146861847f8eSopenharmony_ci     * @since 12
146961847f8eSopenharmony_ci     */
147061847f8eSopenharmony_ci    densityDPI: number;
147161847f8eSopenharmony_ci
147261847f8eSopenharmony_ci    /**
147361847f8eSopenharmony_ci     * Display orientation.
147461847f8eSopenharmony_ci     *
147561847f8eSopenharmony_ci     * @type { Orientation }
147661847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
147761847f8eSopenharmony_ci     * @crossplatform
147861847f8eSopenharmony_ci     * @since 10
147961847f8eSopenharmony_ci     */
148061847f8eSopenharmony_ci    /**
148161847f8eSopenharmony_ci     * Display orientation.
148261847f8eSopenharmony_ci     *
148361847f8eSopenharmony_ci     * @type { Orientation }
148461847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
148561847f8eSopenharmony_ci     * @crossplatform
148661847f8eSopenharmony_ci     * @atomicservice
148761847f8eSopenharmony_ci     * @since 12
148861847f8eSopenharmony_ci     */
148961847f8eSopenharmony_ci    orientation: Orientation;
149061847f8eSopenharmony_ci
149161847f8eSopenharmony_ci    /**
149261847f8eSopenharmony_ci     * Display density, in pixels. The value for a low-resolution display is 1.0.
149361847f8eSopenharmony_ci     *
149461847f8eSopenharmony_ci     * @type { number }
149561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
149661847f8eSopenharmony_ci     * @since 7
149761847f8eSopenharmony_ci     */
149861847f8eSopenharmony_ci    /**
149961847f8eSopenharmony_ci     * Display density, in pixels. The value for a low-resolution display is 1.0.
150061847f8eSopenharmony_ci     *
150161847f8eSopenharmony_ci     * @type { number }
150261847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
150361847f8eSopenharmony_ci     * @crossplatform
150461847f8eSopenharmony_ci     * @atomicservice
150561847f8eSopenharmony_ci     * @since 11
150661847f8eSopenharmony_ci     */
150761847f8eSopenharmony_ci    densityPixels: number;
150861847f8eSopenharmony_ci
150961847f8eSopenharmony_ci    /**
151061847f8eSopenharmony_ci     * Text scale density of the display.
151161847f8eSopenharmony_ci     *
151261847f8eSopenharmony_ci     * @type { number }
151361847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
151461847f8eSopenharmony_ci     * @since 7
151561847f8eSopenharmony_ci     */
151661847f8eSopenharmony_ci    /**
151761847f8eSopenharmony_ci     * Text scale density of the display.
151861847f8eSopenharmony_ci     *
151961847f8eSopenharmony_ci     * @type { number }
152061847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
152161847f8eSopenharmony_ci     * @crossplatform
152261847f8eSopenharmony_ci     * @since 11
152361847f8eSopenharmony_ci     */
152461847f8eSopenharmony_ci    /**
152561847f8eSopenharmony_ci     * Text scale density of the display.
152661847f8eSopenharmony_ci     *
152761847f8eSopenharmony_ci     * @type { number }
152861847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
152961847f8eSopenharmony_ci     * @crossplatform
153061847f8eSopenharmony_ci     * @atomicservice
153161847f8eSopenharmony_ci     * @since 12
153261847f8eSopenharmony_ci     */
153361847f8eSopenharmony_ci    scaledDensity: number;
153461847f8eSopenharmony_ci
153561847f8eSopenharmony_ci    /**
153661847f8eSopenharmony_ci     * DPI on the x-axis.
153761847f8eSopenharmony_ci     *
153861847f8eSopenharmony_ci     * @type { number }
153961847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
154061847f8eSopenharmony_ci     * @since 7
154161847f8eSopenharmony_ci     */
154261847f8eSopenharmony_ci    /**
154361847f8eSopenharmony_ci     * DPI on the x-axis.
154461847f8eSopenharmony_ci     *
154561847f8eSopenharmony_ci     * @type { number }
154661847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
154761847f8eSopenharmony_ci     * @atomicservice
154861847f8eSopenharmony_ci     * @since 12
154961847f8eSopenharmony_ci     */
155061847f8eSopenharmony_ci    xDPI: number;
155161847f8eSopenharmony_ci
155261847f8eSopenharmony_ci    /**
155361847f8eSopenharmony_ci     * DPI on the y-axis.
155461847f8eSopenharmony_ci     *
155561847f8eSopenharmony_ci     * @type { number }
155661847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
155761847f8eSopenharmony_ci     * @since 7
155861847f8eSopenharmony_ci     */
155961847f8eSopenharmony_ci    /**
156061847f8eSopenharmony_ci     * DPI on the y-axis.
156161847f8eSopenharmony_ci     *
156261847f8eSopenharmony_ci     * @type { number }
156361847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
156461847f8eSopenharmony_ci     * @atomicservice
156561847f8eSopenharmony_ci     * @since 12
156661847f8eSopenharmony_ci     */
156761847f8eSopenharmony_ci    yDPI: number;
156861847f8eSopenharmony_ci
156961847f8eSopenharmony_ci    /**
157061847f8eSopenharmony_ci     * All supported color spaces.
157161847f8eSopenharmony_ci     *
157261847f8eSopenharmony_ci     * @type { Array<colorSpaceManager.ColorSpace> }
157361847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
157461847f8eSopenharmony_ci     * @since 11
157561847f8eSopenharmony_ci     */
157661847f8eSopenharmony_ci    /**
157761847f8eSopenharmony_ci     * All supported color spaces.
157861847f8eSopenharmony_ci     *
157961847f8eSopenharmony_ci     * @type { Array<colorSpaceManager.ColorSpace> }
158061847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
158161847f8eSopenharmony_ci     * @atomicservice
158261847f8eSopenharmony_ci     * @since 12
158361847f8eSopenharmony_ci     */
158461847f8eSopenharmony_ci    colorSpaces: Array<colorSpaceManager.ColorSpace>;
158561847f8eSopenharmony_ci
158661847f8eSopenharmony_ci    /**
158761847f8eSopenharmony_ci     * All supported HDR formats.
158861847f8eSopenharmony_ci     *
158961847f8eSopenharmony_ci     * @type { Array<hdrCapability.HDRFormat> }
159061847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
159161847f8eSopenharmony_ci     * @since 11
159261847f8eSopenharmony_ci     */
159361847f8eSopenharmony_ci    /**
159461847f8eSopenharmony_ci     * All supported HDR formats.
159561847f8eSopenharmony_ci     *
159661847f8eSopenharmony_ci     * @type { Array<hdrCapability.HDRFormat> }
159761847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
159861847f8eSopenharmony_ci     * @atomicservice
159961847f8eSopenharmony_ci     * @since 12
160061847f8eSopenharmony_ci     */
160161847f8eSopenharmony_ci    hdrFormats: Array<hdrCapability.HDRFormat>;
160261847f8eSopenharmony_ci
160361847f8eSopenharmony_ci    /**
160461847f8eSopenharmony_ci     * Obtain the cutout info of the display.
160561847f8eSopenharmony_ci     *
160661847f8eSopenharmony_ci     * @param { AsyncCallback<CutoutInfo> } callback
160761847f8eSopenharmony_ci     * @throws { BusinessError } 1400001 - Invalid display or screen.
160861847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
160961847f8eSopenharmony_ci     * @since 9
161061847f8eSopenharmony_ci     */
161161847f8eSopenharmony_ci    /**
161261847f8eSopenharmony_ci     * Obtain the cutout info of the display.
161361847f8eSopenharmony_ci     *
161461847f8eSopenharmony_ci     * @param { AsyncCallback<CutoutInfo> } callback
161561847f8eSopenharmony_ci     * @throws { BusinessError } 1400001 - Invalid display or screen.
161661847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
161761847f8eSopenharmony_ci     * @atomicservice
161861847f8eSopenharmony_ci     * @since 12
161961847f8eSopenharmony_ci     */
162061847f8eSopenharmony_ci    getCutoutInfo(callback: AsyncCallback<CutoutInfo>): void;
162161847f8eSopenharmony_ci
162261847f8eSopenharmony_ci    /**
162361847f8eSopenharmony_ci     * Obtain the cutout info of the display.
162461847f8eSopenharmony_ci     *
162561847f8eSopenharmony_ci     * @returns { Promise<CutoutInfo> }
162661847f8eSopenharmony_ci     * @throws { BusinessError } 1400001 - Invalid display or screen.
162761847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
162861847f8eSopenharmony_ci     * @since 9
162961847f8eSopenharmony_ci     */
163061847f8eSopenharmony_ci    /**
163161847f8eSopenharmony_ci     * Obtain the cutout info of the display.
163261847f8eSopenharmony_ci     *
163361847f8eSopenharmony_ci     * @returns { Promise<CutoutInfo> }
163461847f8eSopenharmony_ci     * @throws { BusinessError } 1400001 - Invalid display or screen.
163561847f8eSopenharmony_ci     * @syscap SystemCapability.WindowManager.WindowManager.Core
163661847f8eSopenharmony_ci     * @atomicservice
163761847f8eSopenharmony_ci     * @since 12
163861847f8eSopenharmony_ci     */
163961847f8eSopenharmony_ci    getCutoutInfo(): Promise<CutoutInfo>;
164061847f8eSopenharmony_ci
164161847f8eSopenharmony_ci    /**
164261847f8eSopenharmony_ci     * Check if current display has immersive window.
164361847f8eSopenharmony_ci     *
164461847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
164561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
164661847f8eSopenharmony_ci     * @throws { BusinessError } 801 - Capability not supported. Failed to call the API due to limited device capabilities.
164761847f8eSopenharmony_ci     * @throws { BusinessError } 1400001 - Invalid display or screen.
164861847f8eSopenharmony_ci     * @throws { BusinessError } 1400003 - This display manager service works abnormally.
164961847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
165061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
165161847f8eSopenharmony_ci     * @since 11
165261847f8eSopenharmony_ci     */
165361847f8eSopenharmony_ci    hasImmersiveWindow(callback: AsyncCallback<boolean>): void;
165461847f8eSopenharmony_ci
165561847f8eSopenharmony_ci    /**
165661847f8eSopenharmony_ci     * Check if current display has immersive window.
165761847f8eSopenharmony_ci     *
165861847f8eSopenharmony_ci     * @returns { Promise<boolean> }
165961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
166061847f8eSopenharmony_ci     * @throws { BusinessError } 801 - Capability not supported. Failed to call the API due to limited device capabilities.
166161847f8eSopenharmony_ci     * @throws { BusinessError } 1400001 - Invalid display or screen.
166261847f8eSopenharmony_ci     * @throws { BusinessError } 1400003 - This display manager service works abnormally.
166361847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
166461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
166561847f8eSopenharmony_ci     * @since 11
166661847f8eSopenharmony_ci     */
166761847f8eSopenharmony_ci    hasImmersiveWindow(): Promise<boolean>;
166861847f8eSopenharmony_ci
166961847f8eSopenharmony_ci    /**
167061847f8eSopenharmony_ci     * Obtain the available area of the display.
167161847f8eSopenharmony_ci     *
167261847f8eSopenharmony_ci     * @returns { Promise<Rect> }
167361847f8eSopenharmony_ci     * @throws { BusinessError } 801 - Capability not supported. Failed to call the API due to limited device capabilities.
167461847f8eSopenharmony_ci     * @throws { BusinessError } 1400001 - Invalid display or screen.
167561847f8eSopenharmony_ci     * @syscap SystemCapability.Window.SessionManager
167661847f8eSopenharmony_ci     * @atomicservice
167761847f8eSopenharmony_ci     * @since 12
167861847f8eSopenharmony_ci     */
167961847f8eSopenharmony_ci    getAvailableArea(): Promise<Rect>;
168061847f8eSopenharmony_ci
168161847f8eSopenharmony_ci    /**
168261847f8eSopenharmony_ci    * Register the callback for available area changes.
168361847f8eSopenharmony_ci    *
168461847f8eSopenharmony_ci    * @param { 'availableAreaChange' } type - the event of available area changes
168561847f8eSopenharmony_ci    * @param { Callback<Rect> } callback - Callback used to return the available area
168661847f8eSopenharmony_ci    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
168761847f8eSopenharmony_ci    * <br>2. Incorrect parameter types.
168861847f8eSopenharmony_ci    * @throws { BusinessError } 801 - Capability not supported. Failed to call the API due to limited device capabilities.
168961847f8eSopenharmony_ci    * @throws { BusinessError } 1400003 - This display manager service works abnormally.
169061847f8eSopenharmony_ci    * @syscap SystemCapability.Window.SessionManager
169161847f8eSopenharmony_ci    * @atomicservice
169261847f8eSopenharmony_ci    * @since 12
169361847f8eSopenharmony_ci    */
169461847f8eSopenharmony_ci    on(type: 'availableAreaChange', callback: Callback<Rect>): void;
169561847f8eSopenharmony_ci
169661847f8eSopenharmony_ci    /**
169761847f8eSopenharmony_ci    * Unregister the callback for available area changes.
169861847f8eSopenharmony_ci    *
169961847f8eSopenharmony_ci    * @param { 'availableAreaChange' } type - the event of available area changes
170061847f8eSopenharmony_ci    * @param { Callback<Rect> } [callback] - Callback used to return the available area
170161847f8eSopenharmony_ci    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
170261847f8eSopenharmony_ci    * <br>2. Incorrect parameter types.
170361847f8eSopenharmony_ci    * @throws { BusinessError } 801 - Capability not supported. Failed to call the API due to limited device capabilities.
170461847f8eSopenharmony_ci    * @throws { BusinessError } 1400003 - This display manager service works abnormally.
170561847f8eSopenharmony_ci    * @syscap SystemCapability.Window.SessionManager
170661847f8eSopenharmony_ci    * @atomicservice
170761847f8eSopenharmony_ci    * @since 12
170861847f8eSopenharmony_ci    */
170961847f8eSopenharmony_ci    off(type: 'availableAreaChange', callback?: Callback<Rect>): void;
171061847f8eSopenharmony_ci  }
171161847f8eSopenharmony_ci}
171261847f8eSopenharmony_ci
171361847f8eSopenharmony_ciexport default display;
1714