# Enums
> **说明:**
>
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## WindowType7+
窗口类型枚举。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
| 名称 | 值 | 说明 |
|-------------------------------------| ------ |----------------------------------------------------------------------------------------|
| TYPE_APP | 0 | 表示应用子窗口。
**模型约束:** 此接口仅可在FA模型下使用。 |
| TYPE_SYSTEM_ALERT(deprecated) | 1 | 表示系统告警窗口。
- **说明:** 从API version 11开始废弃。
- 从API version 7开始支持。 |
| TYPE_FLOAT9+ | 8 | 表示悬浮窗。
**模型约束:** 此接口仅可在Stage模型下使用。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
| TYPE_DIALOG10+ | 16 | 表示模态窗口。
**模型约束:** 此接口仅可在Stage模型下使用。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
| TYPE_MAIN18+ | 32 | 表示应用主窗口。
此窗口类型不支持在创建窗口时使用,仅可在getWindowProperties接口的返回值中用于读取。 |
## AvoidAreaType7+
窗口内容需要规避区域的类型枚举。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
| 名称 | 值 | 说明 |
| -------------------------------- | ---- | ------------------------------------------------------------ |
| TYPE_SYSTEM | 0 | 表示系统默认区域。包含状态栏和三键导航栏区域。 |
| TYPE_CUTOUT | 1 | 表示刘海屏区域。 |
| TYPE_SYSTEM_GESTURE9+ | 2 | 表示手势区域。当前,各设备均无此类型避让区域。 |
| TYPE_KEYBOARD9+ | 3 | 表示软键盘区域。 |
| TYPE_NAVIGATION_INDICATOR11+ | 4 | 表示底部导航区域。OpenHarmony各设备不支持此能力。 |
## Orientation9+
窗口显示方向类型枚举。不同枚举值之间的区别可查询[窗口Orientation枚举值8\~10或12和枚举值13\~16的区别(API9)](../../faqs/faqs-window-manager.md#窗口orientation枚举值810或12和枚举值1316的区别api9)。
| 名称 | 值 | 说明 |
| ------------------------------------- | ---- | ----------------------------- |
| UNSPECIFIED | 0 | 表示未定义方向模式,由系统判定。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core|
| PORTRAIT | 1 | 表示竖屏显示模式。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。|
| LANDSCAPE | 2 | 表示横屏显示模式。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core|
| PORTRAIT_INVERTED | 3 | 表示反向竖屏显示模式。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
| LANDSCAPE_INVERTED | 4 | 表示反向横屏显示模式。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
| AUTO_ROTATION | 5 | 跟随传感器自动旋转,可以旋转到竖屏、横屏、反向竖屏、反向横屏四个方向。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。|
| AUTO_ROTATION_PORTRAIT | 6 | 跟随传感器自动竖向旋转,可以旋转到竖屏、反向竖屏,无法旋转到横屏、反向横屏。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core|
| AUTO_ROTATION_LANDSCAPE | 7 | 跟随传感器自动横向旋转,可以旋转到横屏、反向横屏,无法旋转到竖屏、反向竖屏。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
| AUTO_ROTATION_RESTRICTED | 8 | 跟随传感器自动旋转,可以旋转到竖屏、横屏、反向竖屏、反向横屏四个方向,且受控制中心的旋转开关控制。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
| AUTO_ROTATION_PORTRAIT_RESTRICTED | 9 | 跟随传感器自动竖向旋转,可以旋转到竖屏、反向竖屏,无法旋转到横屏、反向横屏,且受控制中心的旋转开关控制。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core|
| AUTO_ROTATION_LANDSCAPE_RESTRICTED | 10 | 跟随传感器自动横向旋转,可以旋转到横屏、反向横屏,无法旋转到竖屏、反向竖屏,且受控制中心的旋转开关控制。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core|
| LOCKED | 11 | 表示锁定模式。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core|
| AUTO_ROTATION_UNSPECIFIED12+ | 12 | 跟随传感器自动旋转,受控制中心的旋转开关控制,且可旋转方向受系统判定(如在某种设备,可以旋转到竖屏、横屏、反向横屏三个方向,无法旋转到反向竖屏)。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager|
| USER_ROTATION_PORTRAIT12+ | 13 | 调用时临时旋转到竖屏,之后跟随传感器自动旋转,受控制中心的旋转开关控制,且可旋转方向受系统判定。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager|
| USER_ROTATION_LANDSCAPE12+ | 14 | 调用时临时旋转到横屏,之后跟随传感器自动旋转,受控制中心的旋转开关控制,且可旋转方向受系统判定。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager|
| USER_ROTATION_PORTRAIT_INVERTED12+ | 15 | 调用时临时旋转到反向竖屏,之后跟随传感器自动旋转,受控制中心的旋转开关控制,且可旋转方向受系统判定。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager|
| USER_ROTATION_LANDSCAPE_INVERTED12+ | 16 | 调用时临时旋转到反向横屏,之后跟随传感器自动旋转,受控制中心的旋转开关控制,且可旋转方向受系统判定。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager|
| FOLLOW_DESKTOP12+ | 17 | 表示跟随桌面的旋转模式。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager|
## RectChangeReason12+
窗口矩形(窗口位置及窗口大小)变化的原因。
**系统能力:** SystemCapability.Window.SessionManager
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
| 名称 | 值 | 说明 |
| --------------------- | ---- | ------------------------------------------------------------ |
| UNDEFINED | 0 | 默认值。 |
| MAXIMIZE | 1 | 窗口最大化。 |
| RECOVER | 2 | 窗口恢复到上一次的状态。 |
| MOVE | 3 | 窗口拖拽移动。 |
| DRAG | 4 | 窗口拖拽缩放。 |
| DRAG_START | 5 | 窗口开始拖拽缩放。 |
| DRAG_END | 6 | 窗口结束拖拽缩放。 |
## ColorSpace8+
色域模式。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
| 名称 | 值 | 说明 |
| ---------- | ------ | -------------- |
| DEFAULT | 0 | 默认SRGB色域模式。 |
| WIDE_GAMUT | 1 | 广色域模式。 |
## WindowEventType10+
窗口生命周期。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
| 名称 | 值 | 说明 |
| ---------- | ------ | ---------- |
| WINDOW_SHOWN | 1 | 切到前台。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core|
| WINDOW_ACTIVE | 2 | 获焦状态。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core|
| WINDOW_INACTIVE | 3 | 失焦状态。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core|
| WINDOW_HIDDEN | 4 | 切到后台。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core|
| WINDOW_DESTROYED11+ | 7 | 窗口销毁。
**系统能力:** SystemCapability.Window.SessionManager|
## WindowStatusType11+
窗口模式枚举。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager
| 名称 | 值 | 说明 |
| ---------- | ---- | ----------------------------- |
| UNDEFINED | 0 | 表示APP未定义窗口模式。 |
| FULL_SCREEN | 1 | 表示APP全屏模式,在2in1设备中,窗口铺满整个屏幕,且无dock栏和状态栏。 |
| MAXIMIZE | 2 | 表示APP窗口最大化模式,在2in1设备中,窗口铺满整个屏幕,有dock栏和状态栏。 |
| MINIMIZE | 3 | 表示APP窗口最小化模式。 |
| FLOATING | 4 | 表示APP自由悬浮形式窗口模式。 |
| SPLIT_SCREEN | 5 | 表示APP分屏模式。 |
## MaximizePresentation12+
窗口最大化时的布局枚举。
**系统能力:** SystemCapability.Window.SessionManager
| 名称 | 值 | 说明 |
| ---------- | ---- | ----------------------------- |
| FOLLOW_APP_IMMERSIVE_SETTING | 0 | 最大化时,跟随应用app当前设置的全屏模式。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 |
| EXIT_IMMERSIVE | 1 | 最大化时,如果当前窗口设置了全屏模式会退出全屏模式。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 |
| ENTER_IMMERSIVE | 2 | 最大化时,进入全屏模式,鼠标Hover在热区上显示窗口标题栏和dock栏。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 |
| ENTER_IMMERSIVE_DISABLE_TITLE_AND_DOCK_HOVER14+ | 3 | 最大化时,进入全屏模式,鼠标Hover在热区上不显示窗口标题栏和dock栏。
**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 |
## WindowAnimationCurve20+
窗口动画曲线类型。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager
| 名称 | 值 | 说明 |
| ------------------- | ---- | ------------------------------------------------------------ |
| LINEAR | 0 | 表示动画从头到尾的速度都是相同的。
使用该曲线类型时[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中duration必填。
使用该曲线类型时[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中param选填,且不生效。 |
| INTERPOLATION_SPRING | 1 | 表示插值器弹簧曲线,一条从0到1的动画曲线,实际动画值根据曲线进行插值计算。动画时间由曲线参数决定,不受[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中的duration参数控制。
使用该曲线类型时[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中duration选填,且不生效。
使用该曲线类型时[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中param必填。 |
| CUBIC_BEZIER | 2 | 表示贝塞尔曲线。
使用该曲线类型时[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中的param和duration为必填项。 |
## WindowTransitionType20+
窗口转场动画类型枚举。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager
| 名称 | 值 | 说明 |
| ------- | ---- | -------------------------- |
| DESTROY | 0 | 表示窗口销毁时的转场动画。 |
## AnimationType20+
窗口动画类型枚举。
**系统能力:** SystemCapability.Window.SessionManager
| 名称 | 值 | 说明 |
| ------- | ---- | -------------------------- |
| FADE_IN_OUT | 0 | 表示窗口动画类型为淡入淡出。淡入动画在窗口显示过程中生效,淡出动画在窗口隐藏过程中生效。 |
## WindowAnchor20+
窗口锚点枚举。
**系统能力:** SystemCapability.Window.SessionManager
| 名称 | 值 | 说明 |
| ---------- | ---- | ----------------------------- |
| TOP_START | 0 | 窗口左上角。|
| TOP | 1 | 窗口上边界横向居中点。|
| TOP_END | 2 | 窗口右上角。|
| START | 3 | 窗口左边界纵向居中点。|
| CENTER | 4 | 窗口横向和纵向居中点。|
| END | 5 | 窗口右边界纵向居中点。|
| BOTTOM_START | 6 | 窗口左下角。|
| BOTTOM | 7 | 窗口下边界横向居中点。|
| BOTTOM_END | 8 | 窗口右下角。|
## RotationChangeType19+
窗口旋转事件类型。
**原子化服务API:** 从API version 19开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager
| 名称 | 值 | 说明 |
| ------ | ---- | --------------------- |
| WINDOW_WILL_ROTATE| 0 | 窗口即将旋转。 |
| WINDOW_DID_ROTATE | 1 | 窗口旋转结束。 |
## RectType19+
窗口矩形区域坐标系类型。
**原子化服务API:** 从API version 19开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager
| 名称 | 值 | 说明 |
| ------ | ---- | --------------------- |
| RELATIVE_TO_SCREEN | 0 | 窗口矩形区域相对于屏幕坐标系。 |
| RELATIVE_TO_PARENT_WINDOW | 1 | 窗口矩形区域相对于父窗口坐标系。 |
## GlobalWindowMode20+
窗口模式。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Window.SessionManager
| 名称 | 值 | 说明 |
| ------ | --- | ------------------------ |
| FULLSCREEN | 1 | 全屏窗口,二进制从右往左,第一个二进制位为1。 |
| SPLIT | 1 << 1 | 分屏窗口,二进制从右往左,第二个二进制位为1。 |
| FLOAT | 1 << 2 | 悬浮窗,二进制从右往左,第三个二进制位为1。 |
| PIP | 1 << 3 | 画中画,二进制从右往左,第四个二进制位为1。 |
## WindowStageEventType9+
WindowStage生命周期。
**模型约束:** 此接口仅可在Stage模型下使用。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
| 名称 | 值 | 说明 |
| ---------- | ------ | ---------- |
| SHOWN | 1 | 切到前台,例如点击应用图标启动,无论是首次启动还是从后台启动均会触发。 |
| ACTIVE | 2 | 获焦状态,例如应用窗口处理点击事件后的状态、应用启动后的状态。 |
| INACTIVE | 3 | 失焦状态,例如打开新应用或点击其他窗口后,原获焦窗口的状态。 |
| HIDDEN | 4 | 切到后台,例如应用上滑退出、应用窗口关闭。 |
| RESUMED11+ | 5 | 前台可交互状态,例如打开应用后,应用处于前台,且可以与用户交互的状态。 |
| PAUSED11+ | 6 | 前台不可交互状态,例如应用在前台时,进入多任务界面,应用依然处于前台但不可以与用户交互的状态。 |
## WindowStageLifecycleEventType20+
WindowStage生命周期的状态类型枚举。
**模型约束:** 此接口仅可在Stage模型下使用。
**系统能力:** SystemCapability.Window.SessionManager
| 名称 | 值 | 说明 |
| ---------- | ------ | ---------- |
| SHOWN | 1 | 切到前台,例如点击应用图标启动,无论是首次启动还是从后台启动均会触发。 |
| RESUMED | 2 | 前台可交互状态,例如打开应用后,应用处于前台,且可以与用户交互的状态。 |
| PAUSED | 3 | 前台不可交互状态,例如应用在前台时,进入多任务界面,应用依然处于前台但不可以与用户交互的状态。 |
| HIDDEN | 4 | 切到后台,例如应用上滑退出、应用窗口关闭。 |
## ModalityType14+
子窗口模态类型枚举。
**系统能力:** SystemCapability.Window.SessionManager
**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。
| 名称 | 值 | 说明 |
| -------------------- | ------ | ---------- |
| WINDOW_MODALITY | 0 | 模态子窗类型为模窗口子窗,当仅需要其父级窗口不响应用户操作时,可选此参数。 |
| APPLICATION_MODALITY | 1 | 模态子窗类型为模应用子窗,该窗口仅在[自由窗口](../../windowmanager/window-terminology.md#自由窗口)状态下生效。
除其父级窗口外还需要该应用其他实例的窗口不响应用户操作时,可选此参数。
**设备行为差异:** 该枚举在2in1设备、Tablet设备中可正常调用,在其他设备类型中作为入参使用时,对应接口返回801错误码。 |
## ScreenshotEventType20+
截屏事件类型枚举。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
| 名称 | 值 | 说明 |
| ------ | ---- | --------------------- |
| SYSTEM_SCREENSHOT | 0 | 系统截屏成功。 |
| SYSTEM_SCREENSHOT_ABORT | 1 | 系统截屏中止。 |
| SCROLL_SHOT_START | 2 | 滚动截屏开始。 |
| SCROLL_SHOT_END | 3 | 滚动截屏结束。 |
| SCROLL_SHOT_ABORT | 4 | 滚动截屏中止。 |