# Window The **Window** module provides basic capabilities for managing windows, including creating and destroying windows and setting serial port attributes. > **NOTE**
> The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ```js import window from '@ohos.window'; ``` ## WindowType7+ Enumerates the window types. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Default Value| Description | | ----------------- | ------ | ------------------ | | TYPE_APP | 0 | Application subwindow. | | TYPE_SYSTEM_ALERT | 1 | System alert window.| ## AvoidAreaType7+ Enumerates the types of the area where the window cannot be displayed. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Default Value| Description | | ----------- | ------ | ------------------ | | TYPE_SYSTEM | 0 | Default area of the system.| | TYPE_CUTOUT | 1 | Notch. | ## WindowMode7+ Enumerates the window modes of an application. This is a system API and cannot be called by third-party applications. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Default Value| Description | | ---------- | ------ | ----------------------------- | | UNDEFINED | 1 | The window mode is not defined by the application. | | FULLSCREEN | 2 | The application is displayed in full screen. | | PRIMARY | 3 | The application is displayed in the primary window in split-screen mode. | | SECONDARY | 4 | The application is displayed in the secondary window in split-screen mode. | | FLOATING | 5 | The application is displayed in a floating window.| ## SystemBarProperties Describes the properties of the status bar and navigation bar. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Type| Readable| Writable| Description | | -------------------------------------- | -------- | ---- | ---- | ------------------------------------------------------------ | | statusBarColor | string | Yes | Yes | Background color of the status bar. The value is a hexadecimal RGB or aRGB color value, for example, **\#00FF00** or **\#FF00FF00**.| | isStatusBarLightIcon7+ | boolean | No | Yes | Whether any icon on the status bar is highlighted. | | statusBarContentColor8+ | string | No | Yes | Color of the text on the status bar. | | navigationBarColor | string | Yes | Yes | Background color of the navigation bar. The value is a hexadecimal RGB or aRGB color value, for example, **\#00FF00** or **\#FF00FF00**.| | isNavigationBarLightIcon7+ | boolean | No | No | Whether any icon on the navigation bar is highlighted. | | navigationBarContentColor8+ | string | No | Yes | Color of the text on the navigation bar. | ## SystemBarRegionTint8+ Describes the callback for a single system bar. This is a system API and cannot be called by third-party applications. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Type | Readable| Writable| Description | | --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ | | type | [WindowType](#windowtype) | Yes | Yes | Type of the system bar whose properties are changed. Only the status bar and navigation bar are supported.| | isEnable | boolean | Yes | Yes | Whether the system bar is displayed. | | region | [Rect](#rect) | Yes | Yes | Current position and size of the system bar. | | backgroundColor | string | Yes | Yes | Background color of the system bar. The value is a hexadecimal RGB or aRGB color value, for example, **\#00FF00** or **\#FF00FF00**.| | contentColor | string | Yes | Yes | Color of the text on the system bar. | ## SystemBarTintState8+ Describes the callback for the current system bar. This is a system API and cannot be called by third-party applications. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Type | Readable| Writable| Description | | ---------- | --------------------------------------------------- | ---- | ---- | -------------------------- | | displayId | number | Yes | No | ID of the current physical screen. | | regionTint | Array<[SystemBarRegionTint](#systembarregiontint8)> | Yes | Yes | All system bar information changed.| ## Rect7+ Describes the rectangular area of the window. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Type| Readable| Writable| Description | | ------ | -------- | ---- | ---- | ------------------ | | left | number | Yes | Yes | Left boundary of the rectangle.| | top | number | Yes | Yes | Top boundary of the rectangle.| | width | number | Yes | Yes | Width of the rectangle. | | height | number | Yes | Yes | Height of the rectangle. | ## AvoidArea7+ Describes the area where the window cannot be displayed. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Type | Readable| Writable| Description | | ---------- | ------------- | ---- | ---- | ------------------ | | leftRect | [Rect](#rect) | Yes | Yes | Rectangle on the left of the screen.| | topRect | [Rect](#rect) | Yes | Yes | Rectangle at the top of the screen.| | rightRect | [Rect](#rect) | Yes | Yes | Rectangle on the right of the screen.| | bottomRect | [Rect](#rect) | Yes | Yes | Rectangle at the bottom of the screen.| ## Size7+ Describes the window size. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Type| Readable| Writable| Description | | ------ | -------- | ---- | ---- | ---------- | | width | number | Yes | Yes | Window width.| | height | number | Yes | Yes | Window height.| ## WindowProperties Describes the window properties. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Type | Readable| Writable| Description | | ------------------------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ | | windowRect7+ | [Rect](#rect) | Yes | Yes | Window size. | | type7+ | [WindowType](#windowtype) | Yes | Yes | Window type. | | isFullScreen | boolean | Yes | Yes | Whether the window is displayed in full screen mode. The default value is **false**. | | isLayoutFullScreen7+ | boolean | Yes | Yes | Whether the window layout is in full-screen mode (whether the window is immersive). The default value is **false**. | | focusable7+ | boolean | Yes | No | Whether the window can gain focus. The default value is **true**. | | touchable7+ | boolean | Yes | No | Whether the window is touchable. The default value is **true**. | | brightness | number | Yes | Yes | Screen brightness. The value ranges from 0 to 1. The value **1** indicates the maximum brightness.
This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR.| | dimBehindValue7+ | number | Yes | Yes | Dimness of the window that is not on top. The value ranges from 0 to 1. The value **1** indicates the maximum dimness.
This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR.| | isKeepScreenOn | boolean | Yes | Yes | Whether the screen is always on. The default value is **false**.
This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR.| | isPrivacyMode7+ | boolean | Yes | Yes | Whether the window is in privacy mode. The default value is **false**.
This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR.| | isRoundCorner7+ | boolean | Yes | Yes | Whether the window has rounded corners. The default value is **false**.
This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR.| | isTransparent7+ | boolean | Yes | Yes | Whether the window is transparent. The default value is **false**.
This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR.| ## ColorSpace8+ Describes the color gamut mode. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Default Value| Description | | ---------- | ------ | -------------- | | DEFAULT | 0 | Default color gamut mode.| | WIDE_GAMUT | 1 | Wide color gamut mode. | ## window.create7+ create(id: string, type: WindowType, callback: AsyncCallback<Window>): void Creates a subwindow. This API uses an asynchronous callback to return the result. This API is discarded since API version 8. You are advised to use [window.create8+](#windowcreate8) instead. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------------------------- | ---- | -------------------------- | | id | string | Yes | Window ID. | | type | [WindowType](#windowtype) | Yes | Window type. | | callback | AsyncCallback<[Window](#window)> | Yes | Callback used to return the subwindow created.| **Example** ```js var windowClass = null; window.create("first", window.WindowType.TYPE_APP, (err, data) => { if (err.code) { console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err)); return; } windowClass = data; console.info('SubWindow created. Data: ' + JSON.stringify(data)) windowClass.resetSize(500, 1000); }); ``` ## window.create7+ create(id: string, type: WindowType): Promise<Window> Creates a subwindow. This API uses a promise to return the result. This API is discarded since API version 8. You are advised to use [window.create8+](#windowcreate8) instead. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------------------------- | ---- | ---------- | | id | string | Yes | Window ID. | | type | [WindowType](#windowtype) | Yes | Window type.| **Return value** | Type | Description | | -------------------------------- | ------------------------------------------------- | | Promise<[Window](#window)> | Promise used to return the subwindow created.| **Example** ```js var windowClass = null; let promise = window.create("first", window.WindowType.TYPE_APP); promise.then((data)=> { windowClass = data; console.info('SubWindow created. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err)); }); ``` ## window.create8+ create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback<Window>): void Creates a subwindow when the context is [Context](js-apis-Context.md). This API uses an asynchronous callback to return the result. Creates a system window when the context is [ServiceExtensionContext](js-apis-service-extension-context.md), starting from API version 9. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------------------------- | ---- | ------------------------------------------------------------ | | ctx | Context | Yes | Current application context.
For the definition of **Context** of API version 8, see [Context](js-apis-Context.md).
For the definition of **Context** of API version 9, see [Context](js-apis-service-extension-context.md).| | id | string | Yes | Window ID. | | type | [WindowType](#windowtype) | Yes | Window type. | | callback | AsyncCallback<[Window](#window)> | Yes | Callback used to return the window created. | **Example** ```js var windowClass = null; window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => { if (err.code) { console.error('Failed to create the Window. Cause: ' + JSON.stringify(err)); return; } windowClass = data; console.info('Window created. Data: ' + JSON.stringify(data)) windowClass.resetSize(500, 1000); }); ``` ## window.create8+ create(ctx: Context, id: string, type: WindowType): Promise<Window> Creates a subwindow when the context is [Context](js-apis-Context.md). This API uses a promise to return the result. Creates a system window when the context is [ServiceExtensionContext](js-apis-service-extension-context.md), starting from API version 9. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------------------------- | ---- | ------------------------------------------------------------ | | ctx | Context | Yes | Current application context.
For the definition of **Context** of API version 8, see [Context](js-apis-Context.md).
For the definition of **Context** of API version 9, see [Context](js-apis-service-extension-context.md).| | id | string | Yes | Window ID. | | type | [WindowType](#windowtype) | Yes | Window type. | **Return value** | Type | Description | | -------------------------------- | ----------------------------------------------- | | Promise<[Window](#window)> | Promise used to return the window created.| **Example** ```js var windowClass = null; let promise = window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT); promise.then((data)=> { windowClass = data; console.info('Window created. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to create the Window. Cause: ' + JSON.stringify(err)); }); ``` ## window.find7+ find(id: string, callback: AsyncCallback<Window>): void Finds a window based on the ID. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------------------------- | ---- | ---------------------------- | | id | string | Yes | Window ID. | | callback | AsyncCallback<[Window](#window)> | Yes | Callback used to return the window found.| **Example** ```js var windowClass = null; window.find("alertWindow", (err, data) => { if (err.code) { console.error('Failed to find the Window. Cause: ' + JSON.stringify(err)); return; } windowClass = data; console.info('window found. Data: ' + JSON.stringify(data)) }); ``` ## window.find7+ find(id: string): Promise<Window> Finds a window based on the ID. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------- | | id | string | Yes | Window ID.| **Return value** | Type | Description | | -------------------------------- | ----------------------------------------------- | | Promise<[Window](#window)> | Promise used to return the window found.| **Example** ```js var windowClass = null; let promise = window.find("alertWindow"); promise.then((data)=> { windowClass = data; console.info('window found. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to find the Window. Cause: ' + JSON.stringify(err)); }); ``` ## window.getTopWindow getTopWindow(callback: AsyncCallback<Window>): void Obtains the top window of the current application. This API uses an asynchronous callback to return the result. This API is discarded since API version 8. You are advised to use [window.getTopWindow8+](#windowgettopwindow8) instead. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------------------------- | ---- | -------------------------------------- | | callback | AsyncCallback<[Window](#window)> | Yes | Callback used to return the top window obtained.| **Example** ```js var windowClass = null; window.getTopWindow((err, data) => { if (err.code) { console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); return; } windowClass = data; console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data)); }); ``` ## window.getTopWindow getTopWindow(): Promise<Window> Obtains the top window of the current application. This API uses a promise to return the result. This API is discarded since API version 8. You are advised to use [window.getTopWindow8+](#windowgettopwindow8) instead. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Return value** | Type | Description | | -------------------------------- | --------------------------------------------------------- | | Promise<[Window](#window)> | Promise used to return the top window obtained.| **Example** ```js var windowClass = null; let promise = window.getTopWindow(); promise.then((data)=> { windowClass = data; console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); }) ``` ## window.getTopWindow8+ getTopWindow(ctx: Context, callback: AsyncCallback<Window>): void Obtains the top window of the current application. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------------------------- | ---- | ------------------------------------------------------------ | | ctx | Context | Yes | Current application context.
For the definition of **Context** of API version 8, see [Context](js-apis-Context.md).
For the definition of **Context** of API version 9, see [Context](js-apis-ability-context.md).| | callback | AsyncCallback<[Window](#window)> | Yes | Callback used to return the top window obtained. | **Example** ```js var windowClass = null; window.getTopWindow(this.context, (err, data) => { if (err.code) { console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); return; } windowClass = data; console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data)); }); ``` ## window.getTopWindow8+ getTopWindow(ctx: Context): Promise<Window> Obtains the top window of the current application. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------- | ---- | ------------------------------------------------------------ | | ctx | Context | Yes | Current application context.
For the definition of **Context** of API version 8, see [Context](js-apis-Context.md).
For the definition of **Context** of API version 9, see [Context](js-apis-ability-context.md).| **Return value** | Type | Description | | -------------------------------- | --------------------------------------------------------- | | Promise<[Window](#window)> | Promise used to return the top window obtained.| **Example** ```js var windowClass = null; let promise = window.getTopWindow(this.context); promise.then((data)=> { windowClass = data; console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); }) ``` ## on('systemBarTintChange')8+ on(type: 'systemBarTintChange', callback: Callback<SystemBarTintState>): void Enables listening for properties changes of the status bar and navigation bar. This is a system API and cannot be called by third-party applications. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | string | Yes | Type of event to listen for. The value is fixed at **systemBarTintChange**, indicating the property change event of the status bar and navigation bar.| | callback | Callback<[SystemBarTintState](#systembartintstate)> | Yes | Callback used to return the information. | **Example** ```js var type = 'systemBarTintChange'; windowClass.on(type, (data) => { console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data)); }); ``` ## off('systemBarTintChange')8+ off(type: 'systemBarTintChange', callback?: Callback<SystemBarTintState >): void Disables listening for properties changes of the status bar and navigation bar. This is a system API and cannot be called by third-party applications. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | string | Yes | Type of event to listen for. The value is fixed at **systemBarTintChange**, indicating the property change event of the status bar and navigation bar.| | callback | Callback<[SystemBarTintState](#systembartintstate)> | No | Callback used to return the information. | **Example** ```js var type = 'systemBarTintChange'; windowClass.off(type); ``` ## Window In the following API examples, you must use [getTopWindow()](#windowgettopwindow), [create()](#windowcreate7), or [find()](#windowfind7) to obtain a **Window** instance and then call a method in this instance. ### hide7+ hide (callback: AsyncCallback<void>): void Hides this window. This API uses an asynchronous callback to return the result. This is a system API and cannot be called by third-party applications. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callback | AsyncCallback<void> | Yes | Callback used to return the execution result.| **Example** ```js windowClass.hide((err, data) => { if (err.code) { console.error('Failed to hide the window. Cause: ' + JSON.stringify(err)); return; } console.info('window hidden. data: ' + JSON.stringify(data)) }) ``` ### hide7+ hide(): Promise<void> Hides this window. This API uses a promise to return the result. This is a system API and cannot be called by third-party applications. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js let promise = windowClass.hide(); promise.then((data)=> { console.info('window hidden. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to hide the window. Cause: ' + JSON.stringify(err)); }) ``` ### show7+ show(callback: AsyncCallback<void>): void Shows this window. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callback | AsyncCallback<void> | Yes | Callback used to return the execution result.| **Example** ```js windowClass.show((err, data) => { if (err.code) { console.error('Failed to show the window. Cause: ' + JSON.stringify(err)); return; } console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data)) }) ``` ### show7+ show(): Promise<void> Shows this window. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js let promise = windowClass.show(); promise.then((data)=> { console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to show the window. Cause: ' + JSON.stringify(err)); }) ``` ### destroy7+ destroy(callback: AsyncCallback<void>): void Destroys this window. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callback | AsyncCallback<void> | Yes | Callback used to return the execution result.| **Example** ```js windowClass.destroy((err, data) => { if (err.code) { console.error('Failed to destroy the window. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data)) }) ``` ### destroy7+ destroy(): Promise<void> Destroys this window. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js let promise = windowClass.destroy(); promise.then((data)=> { console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err)); }) ``` ### moveTo7+ moveTo(x: number, y: number, callback: AsyncCallback<void>): void Moves the position of this window. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | --------------------------------------- | | x | number | Yes | Distance that the window moves along the x-axis. A positive value indicates that the window moves to the right.| | y | number | Yes | Distance that the window moves along the y-axis. A positive value indicates that the window moves downwards.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js windowClass.moveTo(300, 300, (err, data)=>{ if (err.code) { console.error('Failed to move the window. Cause:' + JSON.stringify(err)); return; } console.info('Window moved. Data: ' + JSON.stringify(data)) }); ``` ### moveTo7+ moveTo(x: number, y: number): Promise<void> Moves the position of this window. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | --------------------------------------- | | x | number | Yes | Distance that the window moves along the x-axis. A positive value indicates that the window moves to the right.| | y | number | Yes | Distance that the window moves along the y-axis. A positive value indicates that the window moves downwards.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js let promise = windowClass.moveTo(300, 300); promise.then((data)=> { console.info('Window moved. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to move the window. Cause: ' + JSON.stringify(err)); }) ``` ### resetSize7+ resetSize(width: number, height: number, callback: AsyncCallback<void>): void Changes the size of this window. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------------- | | width | number | Yes | New width of the window.| | height | number | Yes | New height of the window.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js windowClass.resetSize(500, 1000, (err, data) => { if (err.code) { console.error('Failed to change the window size. Cause:' + JSON.stringify(err)); return; } console.info('Window size changed. Data: ' + JSON.stringify(data)) }); ``` ### resetSize7+ resetSize(width: number, height: number): Promise<void> Changes the size of this window. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | ---------------- | | width | number | Yes | New width of the window.| | height | number | Yes | New height of the window.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js let promise = windowClass.resetSize(500, 1000); promise.then((data)=> { console.info('Window size changed. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to change the window size. Cause: ' + JSON.stringify(err)); }); ``` ### setWindowType7+ setWindowType(type: WindowType, callback: AsyncCallback<void>): void Sets the type of this window. This API uses an asynchronous callback to return the result. This is a system API and cannot be called by third-party applications. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | type | [WindowType](#windowtype) | Yes | Window type.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result.| **Example** ```js var type = window.TYPE_APP; windowClass.setWindowType(type, (err, data) => { if (err.code) { console.error('Failed to set the window type. Cause: ' + JSON.stringify(err)); return; } console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data)) }); ``` ### setWindowType7+ setWindowType(type: WindowType): Promise<void> Sets the type of this window. This API uses a promise to return the result. This is a system API and cannot be called by third-party applications. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------------------------- | ---- | ---------- | | type | [WindowType](#windowtype) | Yes | Window type.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var type = window.TYPE_APP; let promise = windowClass.setWindowType(type); promise.then((data)=> { console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the window type. Cause: ' + JSON.stringify(err)); }); ``` ### getProperties getProperties(callback: AsyncCallback<WindowProperties>): void Obtains the properties of this window. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------------------------------------- | ---- | ------------------ | | callback | AsyncCallback<[WindowProperties](#windowproperties)> | Yes | Callback used to return the window properties.| **Example** ```js windowClass.getProperties((err, data) => { if (err.code) { console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err)); return; } console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data)); }); ``` ### getProperties getProperties(): Promise<WindowProperties> Obtains the properties of this window. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Return value** | Type | Description | | ---------------------------------------------------- | ------------------------------------- | | Promise<[WindowProperties](#windowproperties)> | Promise used to return the window properties.| **Example** ```js let promise = windowClass.getProperties(); promise.then((data)=> { console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err)); }); ``` ### getAvoidArea7+ getAvoidArea(type: AvoidAreaType, callback: AsyncCallback<AvoidArea>): void Obtains the area where this window cannot be displayed, for example, the system bar area and notch. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [AvoidAreaType](#avoidareatype) | Yes | Type of the area. **TYPE_SYSTEM** indicates the default area of the system. **TYPE_CUTOUT** indicates the notch.| | callback | AsyncCallback<[AvoidArea](#avoidarea)> | Yes | Callback used to return the area. | **Example** ```js var type = window.AvoidAreaType.TYPE_SYSTEM; windowClass.getAvoidArea(type, (err, data) => { if (err.code) { console.error('Failed to obtain the area. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data)); }); ``` ### getAvoidArea7+ getAvoidArea(type: AvoidAreaType): Promise<AvoidArea> Obtains the area where this window cannot be displayed, for example, the system bar area and notch. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------------------------------- | ---- | ------------------------------------------------------------ | | type | [AvoidAreaType](#avoidareatype) | Yes | Type of the area. **TYPE_SYSTEM** indicates the default area of the system. **TYPE_CUTOUT** indicates the notch.| **Return value** | Type | Description | | -------------------------------------- | --------------------------------------------- | | Promise<[AvoidArea](#avoidarea)> | Promise used to return the area.| **Example** ```js let promise = windowClass.getAvoidArea(); promise.then((data)=> { console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to obtain the area. Cause:' + JSON.stringify(err)); }); ``` ### setFullScreen setFullScreen(isFullScreen: boolean, callback: AsyncCallback<void>): void Sets whether to enable the full-screen mode for this window. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ------------ | ------------------------- | ---- | ---------------------------------------------- | | isFullScreen | boolean | Yes | Whether to enable the full-screen mode, in which the status bar and navigation bar are hidden.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js var isFullScreen = true; windowClass.setFullScreen(isFullScreen, (err, data) => { if (err.code) { console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err)); return; } console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data)) }); ``` ### setFullScreen setFullScreen(isFullScreen: boolean): Promise<void> Sets whether to enable the full-screen mode for this window. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ------------ | ------- | ---- | ---------------------------------------------- | | isFullScreen | boolean | Yes | Whether to enable the full-screen mode, in which the status bar and navigation bar are hidden.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var isFullScreen = true; let promise = windowClass.setFullScreen(isFullScreen); promise.then((data)=> { console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err)); }); ``` ### setLayoutFullScreen7+ setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback<void>): void Sets whether the window layout is in full-screen mode. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ------------------ | ------------------------- | ---- | ------------------------------------------------------------ | | isLayoutFullScreen | boolean | Yes | Whether the window layout is in full-screen mode, in which the status bar and navigation bar are displayed.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js var isLayoutFullScreen= true; windowClass.setLayoutFullScreen(isLayoutFullScreen, (err, data) => { if (err.code) { console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data)) }); ``` ### setLayoutFullScreen7+ setLayoutFullScreen(isLayoutFullScreen: boolean): Promise<void> Sets whether the window layout is in full-screen mode. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ------------------ | ------- | ---- | ------------------------------------------------------------ | | isLayoutFullScreen | boolean | Yes | Whether the window layout is in full-screen mode, in which the status bar and navigation bar are displayed.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var isLayoutFullScreen = true; let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen); promise.then((data)=> { console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err)); }); ``` ### setSystemBarEnable7+ setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback<void>): void Sets whether to display the status bar and navigation bar in this window. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ------------------------------------------------------------ | | names | Array | Yes | Whether to display the status bar and navigation bar. For example, to display the status bar and navigation bar, set this parameter to **["status", "navigation"]**. By default, they are not displayed.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js var names = ["status", "navigation"]; windowClass.setSystemBarEnable(names, (err, data) => { if (err.code) { console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data)) }); ``` ### setSystemBarEnable7+ setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise<void> Sets whether to display the status bar and navigation bar in this window. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ----- | ---- | ------------------------------------------------------------ | | names | Array | Yes | Whether to display the status bar and navigation bar. For example, to display the status bar and navigation bar, set this parameter to **["status", "navigation"]**. By default, they are not displayed.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var names = ["status", "navigation"]; let promise = windowClass.setSystemBarEnable(names); promise.then((data)=> { console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err)); }); ``` ### setSystemBarProperties setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback<void>): void Sets the properties of the status bar and navigation bar in this window. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ------------------- | ------------------------------------------- | ---- | -------------------- | | SystemBarProperties | [SystemBarProperties](#systembarproperties) | Yes | Properties of the status bar and navigation bar.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js var SystemBarProperties={ statusBarColor: '#ff00ff', navigationBarColor: '#00ff00', // The following properties are supported since API version 7. isStatusBarLightIcon: true, isNavigationBarLightIcon:false, // The following properties are supported since API version 8. statusBarContentColor:'#ffffff', navigationBarContentColor:'#00ffff' }; windowClass.setSystemBarProperties(SystemBarProperties, (err, data) => { if (err.code) { console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err)); return; } console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data)) }); ``` ### setSystemBarProperties setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise<void> Sets the properties of the status bar and navigation bar in this window. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ------------------- | ------------------------------------------- | ---- | -------------------- | | SystemBarProperties | [SystemBarProperties](#systembarproperties) | Yes | Properties of the status bar and navigation bar.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var SystemBarProperties={ statusBarColor: '#ff00ff', navigationBarColor: '#00ff00', // The following properties are supported since API version 7. isStatusBarLightIcon: true, isNavigationBarLightIcon:false, // The following properties are supported since API version 8. statusBarContentColor:'#ffffff', navigationBarContentColor:'#00ffff' }; let promise = windowClass.setSystemBarProperties(SystemBarProperties); promise.then((data)=> { console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err)); }); ``` ### loadContent7+ loadContent(path: string, callback: AsyncCallback<void>): void Loads content to this window. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | -------------------- | | path | string | Yes | Path of the page from which the content will be loaded.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js windowClass.loadContent("pages/page2/page2", (err, data) => { if (err.code) { console.error('Failed to load the content. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data)) }); ``` ### loadContent7+ loadContent(path: string): Promise<void> Loads content to this window. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------------------- | | path | string | Yes | Path of the page from which the content will be loaded.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js let promise = windowClass.loadContent("pages/page2/page2"); promise.then((data)=> { console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to load the content. Cause: ' + JSON.stringify(err)); }); ``` ### isShowing7+ isShowing(callback: AsyncCallback<boolean>): void Checks whether this window is displayed. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------- | ---- | -------------------------------- | | callback | AsyncCallback<boolean> | Yes | Callback used to return whether the window is displayed.| **Example** ```js windowClass.isShowing((err, data) => { if (err.code) { console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data)) }); ``` ### isShowing7+ isShowing(): Promise<boolean> Checks whether this window is displayed. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Return value** | Type | Description | | ---------------------- | ----------------------------------------------------- | | Promise<boolean> | Promise used to return whether the window is displayed.| **Example** ```js let promise = windowClass.isShowing(); promise.then((data)=> { console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err)); }); ``` ### on('windowSizeChange')7+ on(type: 'windowSizeChange', callback: Callback<Size>): void Enables listening for window size changes. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------- | ---- | -------------------------------------------------------- | | type | string | Yes | Type of event to listen for. The value is fixed at **windowSizeChange**, indicating the window size change event.| | callback | Callback<[Size](#size)> | Yes | Callback used to return the information. | **Example** ```js var type = 'windowSizeChange'; windowClass.on(type, (data) => { console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data)); }); ``` ### off('windowSizeChange')7+ off(type: 'windowSizeChange', callback?: Callback<Size >): void Disables listening for window size changes. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------- | ---- | -------------------------------------------------------- | | type | string | Yes | Type of event to listen for. The value is fixed at **windowSizeChange**, indicating the window size change event.| | callback | Callback<[Size](#size)> | No | Callback used to return the information. | **Example** ```js var type = 'windowSizeChange'; windowClass.off(type); ``` ### on('systemAvoidAreaChange')7+ on(type: 'systemAvoidAreaChange', callback: Callback<AvoidArea>): void Enables listening for changes to the area where the window cannot be displayed. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------- | ---- | ------------------------------------------------------------ | | type | string | Yes | Type of event to listen for. The value is fixed at **systemAvoidAreaChange**, indicating the event of changes to the area where the window cannot be displayed.| | callback | Callback<[AvoidArea](#avoidarea)> | Yes | Callback used to return the information. | **Example** ```js var type = 'systemAvoidAreaChange'; windowClass.on(type, (data) => { console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data)); }); ``` ### off('systemAvoidAreaChange')7+ off(type: 'systemAvoidAreaChange', callback?: Callback<AvoidArea>): void Disables listening for changes to the area where the window cannot be displayed. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------- | ---- | ------------------------------------------------------------ | | type | string | Yes | Type of event to listen for. The value is fixed at **systemAvoidAreaChange**, indicating the event of changes to the area where the window cannot be displayed.| | callback | Callback<[AvoidArea](#avoidarea)> | No | Callback used to return the information. | **Example** ```js var type = 'systemAvoidAreaChange'; windowClass.off(type); ``` ### on('keyboardHeightChange')7+ on(type: 'keyboardHeightChange', callback: Callback<number>): void Enables listening for keyboard height changes. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------ | ---- | ------------------------------------------------------------ | | type | string | Yes | Type of event to listen for. The value is fixed at **keyboardHeightChange**, indicating the keyboard height change event.| | callback | Callbacknumber> | Yes | Callback used to return the information. | **Example** ```js var type = 'keyboardHeightChange'; windowClass.on(type, (data) => { console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data)); }); ``` ### off('keyboardHeightChange')7+ off(type: 'keyboardHeightChange', callback?: Callback<number>): void Disables listening for keyboard height changes. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------- | ---- | ------------------------------------------------------------ | | type | string | Yes | Type of event to listen for. The value is fixed at **keyboardHeightChange**, indicating the keyboard height change event.| | callback | Callback<number> | No | Callback used to return the information. | **Example** ```js var type = 'keyboardHeightChange'; windowClass.off(type); ``` ### isSupportWideGamut8+ isSupportWideGamut(callback: AsyncCallback<boolean>): void Checks whether this window supports the wide color gamut mode. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------- | ---- | -------------------------------- | | callback | AsyncCallback<boolean> | Yes | Callback used to return whether the wide color gamut mode is supported.| **Example** ```js windowClass.isSupportWideGamut((err, data) => { if (err.code) { console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data)) }) ``` ### isSupportWideGamut8+ isSupportWideGamut(): Promise<boolean> Checks whether this window supports the wide color gamut mode. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Return value** | Type | Description | | ---------------------- | ------------------------------------------------------------ | | Promise<boolean> | Promise used to return whether the wide color gamut mode is supported.| **Example** ```js let promise = windowClass.isSupportWideGamut(); promise.then((data)=> { console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err)); }); ``` ### setColorSpace8+ setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback<void>): void Sets this window to the wide or default color gamut mode. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ---------- | ------------------------- | ---- | ------------ | | colorSpace | [ColorSpace](#colorspace) | Yes | Color gamut mode.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err, data) => { if (err.code) { console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data)) }) ``` ### setColorSpace8+ setColorSpace(colorSpace:ColorSpace): Promise<void> Sets this window to the wide or default color gamut mode. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ---------- | ------------------------- | ---- | ------------ | | colorSpace | [ColorSpace](#colorspace) | Yes | Color gamut mode.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js let promise = windowClass.isSupportWideGamut(window.ColorSpace.WIDE_GAMUT); promise.then((data)=> { console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set window colorspacet. Cause: ' + JSON.stringify(err)); }); ``` ### getColorSpace8+ getColorSpace(callback: AsyncCallback<ColorSpace>): void Obtains the color gamut mode of this window. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------------------------- | ---- | -------------------------- | | callback | AsyncCallback<[ColorSpace](#colorspace)> | Yes | Callback used to return the color gamut mode obtained.| **Example** ```js windowClass.getColorSpace((err, data) => { if (err.code) { console.error('Failed to get window color space. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data)) }) ``` ### getColorSpace8+ getColorSpace(): Promise<ColorSpace> Obtains the color gamut mode of this window. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Return value** | Type | Description | | ---------------------------------------- | ----------------------------------------- | | Promise<[ColorSpace](#colorspace)> | Promise used to return the color gamut mode obtained.| **Example** ```js let promise = windowClass.getColorSpace(); promise.then((data)=> { console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set window colorspacet. Cause: ' + JSON.stringify(err)); }); ``` ### setBackgroundColor setBackgroundColor(color: string, callback: AsyncCallback<void>): void Sets the background color for this window. This API uses an asynchronous callback to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ------------------------------------------------------------ | | color | string | Yes | Background color to set. The color is a hexadecimal value, for example, #00FF00 or #FF00FF00.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js var color = '#00ff33'; windowClass.setBackgroundColor(color, (err, data) => { if (err.code) { console.error('Failed to set the background color. Cause: ' + JSON.stringify(err)); return; } console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data)); }); ``` ### setBackgroundColor setBackgroundColor(color: string): Promise<void> Sets the background color for this window. This API uses a promise to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | ------------------------------------------------------------ | | color | string | Yes | Background color to set. The color is a hexadecimal value, for example, #00FF00 or #FF00FF00.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var color = '#00ff33'; let promise = windowClass.setBackgroundColor(color); promise.then((data)=> { console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the background color. Cause: ' + JSON.stringify(err)); }); ``` ### setBrightness setBrightness(brightness: number, callback: AsyncCallback<void>): void Sets the screen brightness for this window. This API uses an asynchronous callback to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ---------- | ------------------------- | ---- | ------------------------------------ | | brightness | number | Yes | Brightness to set, which ranges from 0 to 1. The value **1** indicates the brightest.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js var brightness = 1; windowClass.setBrightness(brightness, (err, data) => { if (err.code) { console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err)); return; } console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data)); }); ``` ### setBrightness setBrightness(brightness: number): Promise<void> Sets the screen brightness for this window. This API uses a promise to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ---------- | ------ | ---- | ------------------------------------ | | brightness | number | Yes | Brightness to set, which ranges from 0 to 1. The value **1** indicates the brightest.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var brightness = 1; let promise = windowClass.setBrightness(brightness); promise.then((data)=> { console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err)); }); ``` ### setDimBehind7+ setDimBehind(dimBehindValue: number, callback: AsyncCallback<void>): void Sets the dimness of the window that is not on top. This API uses an asynchronous callback to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------------- | ------------------------- | ---- | -------------------------------------------------- | | dimBehindValue | number | Yes | Dimness of the window to set. The value ranges from 0 to 1. The value **1** indicates the dimmest.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js windowClass.setDimBehind(0.5, (err, data) => { if (err.code) { console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err)); return; } console.info('Succeeded in setting the dimness. Data:' + JSON.stringify(data)); }); ``` ### setDimBehind7+ setDimBehind(dimBehindValue: number): Promise<void> Sets the dimness of the window that is not on top. This API uses a promise to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------------- | ------ | ---- | -------------------------------------------------- | | dimBehindValue | number | Yes | Dimness of the window to set. The value ranges from 0 to 1. The value **1** indicates the dimmest.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js let promise = windowClass.setDimBehind(0.5); promise.then((data)=> { console.info('Succeeded in setting the dimness. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err)); }); ``` ### setFocusable7+ setFocusable(isFocusable: boolean, callback: AsyncCallback<void>): void Sets whether this window can gain focus. This API uses an asynchronous callback to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ----------- | ------------------------- | ---- | ---------------------------- | | isFocusable | boolean | Yes | Whether the window can gain focus.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js var isFocusable= true; windowClass.setFocusable(isFocusable, (err, data) => { if (err.code) { console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data)); }); ``` ### setFocusable7+ setFocusable(isFocusable: boolean): Promise<void> Sets whether this window can gain focus. This API uses a promise to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ----------- | ------- | ---- | ---------------------------- | | isFocusable | boolean | Yes | Whether the window can gain focus.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var isFocusable= true; let promise = windowClass.setFocusable(isFocusable); promise.then((data)=> { console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err)); }); ``` ### setKeepScreenOn setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback<void>): void Sets whether to keep the screen always on. This API uses an asynchronous callback to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------------- | ------------------------- | ---- | ------------------------ | | isKeepScreenOn | boolean | Yes | Whether to keep the screen always on.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js var isKeepScreenOn = true; windowClass.setKeepScreenOn(isKeepScreenOn, (err, data) => { if (err.code) { console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err)); return; } console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data)); }); ``` ### setKeepScreenOn setKeepScreenOn(isKeepScreenOn: boolean): Promise<void> Sets whether to keep the screen always on. This API uses a promise to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------------- | ------- | ---- | ------------------------ | | isKeepScreenOn | boolean | Yes | Whether to keep the screen always on.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var isKeepScreenOn= true; let promise = windowClass.setKeepScreenOn(isKeepScreenOn); promise.then((data)=> { console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err)); }); ``` ### setOutsideTouchable7+ setOutsideTouchable(touchable: boolean, callback: AsyncCallback<void>): void Sets whether the area outside the subwindow is touchable. This API uses an asynchronous callback to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | --------- | ------------------------- | ---- | ---------------- | | touchable | boolean | Yes | Whether the area outside the subwindow is touchable. The value **true** means that such an area is touchable, and **false** means the opposite.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js windowClass.setOutsideTouchable(true, (err, data) => { if (err.code) { console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err)); return; } console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data)) }) ``` ### setOutsideTouchable7+ setOutsideTouchable(touchable: boolean): Promise<void> Sets whether the area outside the subwindow is touchable. This API uses a promise to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | --------- | ------- | ---- | ---------------- | | touchable | boolean | Yes | Whether the area outside the subwindow is touchable. The value **true** means that such an area is touchable, and **false** means the opposite.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js let promise = windowClass.setOutsideTouchable(true); promise.then((data)=> { console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err)); }); ``` ### setPrivacyMode7+ setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback<void>): void Sets whether this window is in privacy mode. This API uses an asynchronous callback to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ------------- | ------------------------- | ---- | -------------------- | | isPrivacyMode | boolean | Yes | Whether the window is in privacy mode.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js var isPrivacyMode = true; windowClass.setPrivacyMode(isPrivacyMode, (err, data) => { if (err.code) { console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in setting the window to privacy mode. Data:' + JSON.stringify(data)); }); ``` ### setPrivacyMode7+ setPrivacyMode(isPrivacyMode: boolean): Promise<void> Sets whether this window is in privacy mode. This API uses a promise to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ------------- | ------- | ---- | -------------------- | | isPrivacyMode | boolean | Yes | Whether the window is in privacy mode.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var isPrivacyMode = true; let promise = windowClass.setPrivacyMode(isPrivacyMode); promise.then((data)=> { console.info('Succeeded in setting the window to privacy mode. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err)); }); ``` ### setTouchable7+ setTouchable(isTouchable: boolean, callback: AsyncCallback<void>): void Sets whether this window is touchable. This API uses an asynchronous callback to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ----------- | ------------------------- | ---- | -------------------- | | isTouchable | boolean | Yes | Whether the window is touchable.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```js var isTouchable = true; windowClass.setTouchable(isTouchable, (err, data) => { if (err.code) { console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in setting the window to be touchable. Data:' + JSON.stringify(data)); }); ``` ### setTouchable7+ setTouchable(isTouchable: boolean): Promise<void> Sets whether this window is touchable. This API uses a promise to return the result. This API is defined but not implemented in OpenHarmony 3.1 Release. It will be available for use in OpenHarmony 3.1 MR. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | ----------- | ------- | ---- | -------------------- | | isTouchable | boolean | Yes | Whether the window is touchable.| **Return value** | Type | Description | | ------------------- | ----------------------------------------------- | | Promise<void> | Promise used to return the execution result.| **Example** ```js var isTouchable = true; let promise = windowClass.setTouchable(isTouchable); promise.then((data)=> { console.info('Succeeded in setting the window to be touchable. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err)); }); ``` ## WindowStageEventType9+ Describes the lifecycle of a window stage. **System capability**: SystemCapability.WindowManager.WindowManager.Core | Name | Default Value| Description | | ---------- | ------ | -------- | | FOREGROUND | 1 | The window stage is running in the foreground.| | ACTIVE | 2 | The window stage gains focus.| | INACTIVE | 3 | The window stage loses focus.| | BACKGROUND | 4 | The window stage is running in the background.| ## WindowStage9+ Before calling any of the following APIs, you must use `[onWindowStageCreate()](js-apis-application-ability.md#abilityonwindowstagecreate)` to create a **WindowStage** instance. ### getMainWindow9+ getMainWindow(): Promise<Window> Obtains the main window of this window stage. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Return value** | Type | Description | | -------------------------------- | ---------------------------------------------------------- | | Promise<[Window](#window)> | Promise used to return the main window.| **Example** ```ts class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); var windowClass = null; let promise = windowStage.getMainWindow(); promise.then((data)=> { windowClass = data; console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err)); }); } } ``` ### getMainWindow9+ getMainWindow(callback: AsyncCallback<Window>): void Obtains the main window of this window stage. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------------------------- | ---- | --------------------------------------- | | callback | AsyncCallback<[Window](#window)> | Yes | Callback used to return the main window.| **Example** ```ts class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); var windowClass = null; windowStage.getMainWindow((err, data) => { if (err.code) { console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err)); return; } windowClass = data; console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data)); }); } } ``` ### createSubWindow9+ createSubWindow(name: string): Promise<Window> Creates a subwindow for this window stage. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------------- | | name | String | Yes | Name of the subwindow.| **Return value** | Type | Description | | -------------------------------- | ------------------------------------------------- | | Promise<[Window](#window)> | Promise used to return the subwindow created.| **Example** ```ts class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); var windowClass = null; let promise = windowStage.createSubWindow("mySubWindow"); promise.then((data)=> { windowClass = data; console.info('Succeeded in create sub window. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to create sub window. Cause: ' + JSON.stringify(err)); }) } } ``` ### createSubWindow9+ createSubWindow(name: string, callback: AsyncCallback<Window>): void Creates a subwindow for this window stage. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------------------------- | ---- | ------------------------------ | | name | String | Yes | Name of the subwindow. | | callback | AsyncCallback<[Window](#window)> | Yes | Callback used to return the subwindow created.| **Example** ```ts class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); var windowClass = null; windowStage.createSubWindow("mySubWindow", (err, data) => { if (err.code) { console.error('Failed to create sub window. Cause: ' + JSON.stringify(err)); return; } windowClass = data; console.info('Succeeded in create sub window. Data: ' + JSON.stringify(data)); windowClass.resetSize(500, 1000); }); } } ``` ### getSubWindow9+ getSubWindow(): Promise<Array<Window>> Obtains all the subwindows of this window stage. This API uses a promise to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Return value** | Type | Description | | --------------------------------------------- | ------------------------------------------------------------ | | Promise<Array<[Window](#window)>> | Promise used to return all the subwindows.| **Example** ```ts class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); var windowClass = null; let promise = windowStage.getSubWindow(); promise.then((data)=> { windowClass = data; console.info('Succeeded in obtaining the sub window. Data: ' + JSON.stringify(data)) }).catch((err)=>{ console.error('Failed to obtain the sub window. Cause: ' + JSON.stringify(err)); }) } } ``` ### getSubWindow9+ getSubWindow(callback: AsyncCallback<Array<Window>>): void Obtains all the subwindows of this window stage. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------------------- | ---- | ------------------------------------------- | | callback | AsyncCallback<Array<[Window](#window)>> | Yes | Callback used to return all the subwindows.| **Example** ```ts class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); var windowClass = null; windowStage.getSubWindow((err, data) => { if (err.code) { console.error('Failed to obtain the sub window. Cause: ' + JSON.stringify(err)); return; } windowClass = data; console.info('Succeeded in obtaining the sub window. Data: ' + JSON.stringify(data)); }); } } ``` ### loadContent9+ loadContent(path: string, callback: AsyncCallback<void>): void Loads content to this window stage. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.WindowManager.WindowManager.Coretype with the value **windowSizeChange** **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | -------------------- | | path | string | Yes | Path of the page from which the content will be loaded.| | callback | AsyncCallback<void> | Yes | Callback used to return the execution result. | **Example** ```ts class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); windowStage.loadContent("pages/page2", (err, data) => { if (err.code) { console.error('Failed to load the content. Cause:' + JSON.stringify(err)); return; } console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data)) }); } } ``` ### on('windowStageEvent')9+ on(eventType: 'windowStageEvent', callback: Callback<WindowStageEventType>): void Enables listening for window stage lifecycle changes. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | string | Yes | Type of event to listen for. The value is fixed at **windowStageEvent**, indicating the window stage lifecycle change event.| | callback | Callback<[WindowStageEventType](#windowstageeventtype9)> | Yes | Callback used to return the information. | **Example** ```ts class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); var type = 'windowStageEvent'; windowStage.on(type, (data) => { console.info('Succeeded in enabling the listener for window stage event changes. Data: ' + JSON.stringify(data)); }); } } ``` ### off('windowStageEvent')9+ off(eventType: 'windowStageEvent', callback?: Callback<WindowStageEventType>): void Disables listening for window stage lifecycle changes. **System capability**: SystemCapability.WindowManager.WindowManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | string | Yes | Type of event to listen for. The value is fixed at **windowStageEvent**, indicating the window stage lifecycle change event.| | callback | Callback<[WindowStageEventType](#windowstageeventtype9)> | No | Callback used to return the information. | **Example** ```ts class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); var type = 'windowStageEvent'; windowStage.off(type); } } ```