# OH_DisplayManager
## 概述
提供屏幕管理的能力。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
| [oh_display_capture.h](oh__display__capture_8h.md) | 提供屏幕截屏的能力。 |
| [oh_display_info.h](oh__display__info_8h.md) | 提供屏幕的公共枚举、公共定义等。 |
| [oh_display_manager.h](oh__display__manager_8h.md) | 提供屏幕管理的一些基础能力,包括获取默认显示设备的信息,以及监听显示设备的旋转、折叠、展开等状态变化的能力。 |
### 结构体
| 名称 | 描述 |
| -------- | -------- |
| struct [NativeDisplayManager_Rect](_native_display_manager___rect.md) | 矩形区域。 |
| struct [NativeDisplayManager_WaterfallDisplayAreaRects](ive_display_manager___waterfall_display_area_rects.md) | 瀑布屏曲面部分显示区域。 |
| struct [NativeDisplayManager_CutoutInfo](_native_display_manager___cutout_info.md) | 挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。 |
| struct [NativeDisplayManager_DisplayHdrFormat](_native_display_manager___display_hdr_format.md) | 显示设备支持的所有HDR格式。 |
| struct [NativeDisplayManager_DisplayColorSpace](_native_display_manager___display_color_space.md) | 显示设备支持的所有色域类型。 |
| struct [NativeDisplayManager_DisplayInfo](_native_display_manager___display_info.md) | 显示设备的对象属性。 |
| struct [NativeDisplayManager_DisplaysInfo](_native_display_manager___displays_info.md) | 多显示设备的Display对象。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| typedef enum [NativeDisplayManager_Rotation](#nativedisplaymanager_rotation) [NativeDisplayManager_Rotation](#nativedisplaymanager_rotation) | 屏幕顺时针的旋转角度。 |
| typedef enum [NativeDisplayManager_Orientation](#nativedisplaymanager_orientation) [NativeDisplayManager_Orientation](#nativedisplaymanager_orientation) | 屏幕的旋转方向。 |
| typedef enum [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) | 屏幕管理接口返回状态码枚举。 |
| typedef enum [NativeDisplayManager_FoldDisplayMode](#nativedisplaymanager_folddisplaymode) [NativeDisplayManager_FoldDisplayMode](#nativedisplaymanager_folddisplaymode) | 可折叠设备的显示模式枚举。 |
| typedef struct [NativeDisplayManager_Rect](_native_display_manager___rect.md) [NativeDisplayManager_Rect](#nativedisplaymanager_rect) | 矩形区域。 |
| typedef struct [NativeDisplayManager_WaterfallDisplayAreaRects](ive_display_manager___waterfall_display_area_rects.md) [NativeDisplayManager_WaterfallDisplayAreaRects](#nativedisplaymanager_waterfalldisplayarearects) | 瀑布屏曲面部分显示区域。 |
| typedef struct [NativeDisplayManager_CutoutInfo](_native_display_manager___cutout_info.md) [NativeDisplayManager_CutoutInfo](#nativedisplaymanager_cutoutinfo) | 挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。 |
| typedef enum [NativeDisplayManager_DisplayState](#nativedisplaymanager_displaystate) [NativeDisplayManager_DisplayState](#nativedisplaymanager_displaystate) | 显示设备的状态枚举。 |
| typedef struct [NativeDisplayManager_DisplayHdrFormat](_native_display_manager___display_hdr_format.md) [NativeDisplayManager_DisplayHdrFormat](#nativedisplaymanager_displayhdrformat) | 显示设备支持的所有HDR格式。 |
| typedef struct [NativeDisplayManager_DisplayColorSpace](_native_display_manager___display_color_space.md) [NativeDisplayManager_DisplayColorSpace](#nativedisplaymanager_displaycolorspace) | 显示设备支持的所有色域类型。 |
| typedef struct [NativeDisplayManager_DisplayInfo](_native_display_manager___display_info.md) [NativeDisplayManager_DisplayInfo](#nativedisplaymanager_displayinfo) | 显示设备的对象属性。 |
| typedef struct [NativeDisplayManager_DisplaysInfo](_native_display_manager___displays_info.md) [NativeDisplayManager_DisplaysInfo](#nativedisplaymanager_displaysinfo) | 多显示设备的Display对象。 |
| typedef void(\* [OH_NativeDisplayManager_DisplayChangeCallback](#oh_nativedisplaymanager_displaychangecallback)) (uint64_t displayId) | 注册屏幕状态变化的回调函数。 |
| typedef void(\* [OH_NativeDisplayManager_FoldDisplayModeChangeCallback](#oh_nativedisplaymanager_folddisplaymodechangecallback)) ([NativeDisplayManager_FoldDisplayMode](#nativedisplaymanager_folddisplaymode) displayMode) | 注册屏幕展开、折叠状态变化的回调函数。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [NativeDisplayManager_Rotation](#nativedisplaymanager_rotation-1) { DISPLAY_MANAGER_ROTATION_0 = 0, DISPLAY_MANAGER_ROTATION_90 = 1, DISPLAY_MANAGER_ROTATION_180 = 2, DISPLAY_MANAGER_ROTATION_270 = 3 } | 屏幕顺时针的旋转角度。 |
| [NativeDisplayManager_Orientation](#nativedisplaymanager_orientation-1) {
DISPLAY_MANAGER_PORTRAIT = 0, DISPLAY_MANAGER_LANDSCAPE = 1, DISPLAY_MANAGER_PORTRAIT_INVERTED = 2, DISPLAY_MANAGER_LANDSCAPE_INVERTED = 3,
DISPLAY_MANAGER_UNKNOWN
} | 屏幕的旋转方向。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode-1) {
DISPLAY_MANAGER_OK = 0, DISPLAY_MANAGER_ERROR_NO_PERMISSION = 201, DISPLAY_MANAGER_ERROR_NOT_SYSTEM_APP = 202, DISPLAY_MANAGER_ERROR_INVALID_PARAM = 401,
DISPLAY_MANAGER_ERROR_DEVICE_NOT_SUPPORTED = 801, DISPLAY_MANAGER_ERROR_INVALID_SCREEN = 1400001, DISPLAY_MANAGER_ERROR_INVALID_CALL = 1400002, DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL = 1400003
} | 屏幕管理接口返回状态码枚举。 |
| [NativeDisplayManager_FoldDisplayMode](#nativedisplaymanager_folddisplaymode-1) {
DISPLAY_MANAGER_FOLD_DISPLAY_MODE_UNKNOWN = 0, DISPLAY_MANAGER_FOLD_DISPLAY_MODE_FULL = 1, DISPLAY_MANAGER_FOLD_DISPLAY_MODE_MAIN = 2, DISPLAY_MANAGER_FOLD_DISPLAY_MODE_SUB = 3,
DISPLAY_MANAGER_FOLD_DISPLAY_MODE_COORDINATION = 4
} | 可折叠设备的显示模式枚举。 |
| [NativeDisplayManager_DisplayState](#nativedisplaymanager_displaystate-1) {
DISPLAY_MANAGER_DISPLAY_STATE_UNKNOWN = 0, DISPLAY_MANAGER_DISPLAY_STATE_OFF = 1, DISPLAY_MANAGER_DISPLAY_STATE_ON = 2, DISPLAY_MANAGER_DISPLAY_STATE_DOZE = 3,
DISPLAY_MANAGER_DISPLAY_STATE_DOZE_SUSPEND = 4, DISPLAY_MANAGER_DISPLAY_STATE_VR = 5, DISPLAY_MANAGER_DISPLAY_STATE_ON_SUSPEND = 6
} | 显示设备的状态枚举。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_CaptureScreenPixelmap](#oh_nativedisplaymanager_capturescreenpixelmap) (uint32_t displayId, OH_PixelmapNative \*\*pixelMap) | 获取屏幕全屏截图,此接口仅支持在平板和2in1设备上使用,可以通过设置不同的屏幕id号截取不同屏幕的截图。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayId](#oh_nativedisplaymanager_getdefaultdisplayid) (uint64_t \*displayId) | 获取默认屏幕的id号。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayWidth](#oh_nativedisplaymanager_getdefaultdisplaywidth) (int32_t \*displayWidth) | 获取默认屏幕的宽度。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayHeight](#oh_nativedisplaymanager_getdefaultdisplayheight) (int32_t \*displayHeight) | 获取默认屏幕的高度。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayRotation](#oh_nativedisplaymanager_getdefaultdisplayrotation) ([NativeDisplayManager_Rotation](#nativedisplaymanager_rotation) \*displayRotation) | 获取默认屏幕的顺时针旋转角度。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayOrientation](#oh_nativedisplaymanager_getdefaultdisplayorientation) ([NativeDisplayManager_Orientation](#nativedisplaymanager_orientation) \*displayOrientation) | 获取默认屏幕的旋转方向。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayVirtualPixelRatio](#oh_nativedisplaymanager_getdefaultdisplayvirtualpixelratio) (float \*virtualPixels) | 获取默认屏幕的虚拟像素密度。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayRefreshRate](#oh_nativedisplaymanager_getdefaultdisplayrefreshrate) (uint32_t \*refreshRate) | 获取默认屏幕的刷新率。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayDensityDpi](#oh_nativedisplaymanager_getdefaultdisplaydensitydpi) (int32_t \*densityDpi) | 获取屏幕的物理像素密度。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayDensityPixels](#oh_nativedisplaymanager_getdefaultdisplaydensitypixels) (float \*densityPixels) | 获取屏幕逻辑像素的密度。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayScaledDensity](#oh_nativedisplaymanager_getdefaultdisplayscaleddensity) (float \*scaledDensity) | 获取屏幕显示字体的缩放因子。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayDensityXdpi](#oh_nativedisplaymanager_getdefaultdisplaydensityxdpi) (float \*xDpi) | 获取屏幕X方向中每英寸屏幕的物理像素值。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetDefaultDisplayDensityYdpi](#oh_nativedisplaymanager_getdefaultdisplaydensityydpi) (float \*yDpi) | 获取Y方向中每英寸屏幕的物理像素值。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_CreateDefaultDisplayCutoutInfo](#oh_nativedisplaymanager_createdefaultdisplaycutoutinfo) ([NativeDisplayManager_CutoutInfo](_native_display_manager___cutout_info.md) \*\*cutoutInfo) | 获取挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_DestroyDefaultDisplayCutoutInfo](#oh_nativedisplaymanager_destroydefaultdisplaycutoutinfo) ([NativeDisplayManager_CutoutInfo](_native_display_manager___cutout_info.md) \*cutoutInfo) | 销毁挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。 |
| bool [OH_NativeDisplayManager_IsFoldable](#oh_nativedisplaymanager_isfoldable) () | 查询设备是否可折叠。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_GetFoldDisplayMode](#oh_nativedisplaymanager_getfolddisplaymode) ([NativeDisplayManager_FoldDisplayMode](#nativedisplaymanager_folddisplaymode) \*displayMode) | 获取可折叠设备的显示模式。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_RegisterDisplayChangeListener](#oh_nativedisplaymanager_registerdisplaychangelistener) ([OH_NativeDisplayManager_DisplayChangeCallback](#oh_nativedisplaymanager_displaychangecallback) displayChangeCallback, uint32_t \*listenerIndex) | 注册屏幕状态变化监听(如旋转变化、刷新率、DPI、分辨率等变化)。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_UnregisterDisplayChangeListener](#oh_nativedisplaymanager_unregisterdisplaychangelistener) (uint32_t listenerIndex) | 取消屏幕状态变化的监听。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_RegisterFoldDisplayModeChangeListener](#oh_nativedisplaymanager_registerfolddisplaymodechangelistener) ([OH_NativeDisplayManager_FoldDisplayModeChangeCallback](#oh_nativedisplaymanager_folddisplaymodechangecallback) displayModeChangeCallback, uint32_t \*listenerIndex) | 注册屏幕展开、折叠状态变化的监听。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_UnregisterFoldDisplayModeChangeListener](#oh_nativedisplaymanager_unregisterfolddisplaymodechangelistener) (uint32_t listenerIndex) | 取消屏幕展开、折叠状态变化的监听。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_CreateAllDisplays](#oh_nativedisplaymanager_createalldisplays) ([NativeDisplayManager_DisplaysInfo](_native_display_manager___displays_info.md) \*\*allDisplays) | 获取当前所有屏幕信息对象。 |
| void [OH_NativeDisplayManager_DestroyAllDisplays](#oh_nativedisplaymanager_destroyalldisplays) ([NativeDisplayManager_DisplaysInfo](_native_display_manager___displays_info.md) \*allDisplays) | 销毁所有屏幕的信息对象。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_CreateDisplayById](#oh_nativedisplaymanager_createdisplaybyid) (uint32_t displayId, [NativeDisplayManager_DisplayInfo](_native_display_manager___display_info.md) \*\*displayInfo) | 获取指定屏幕的信息对象。 |
| void [OH_NativeDisplayManager_DestroyDisplay](#oh_nativedisplaymanager_destroydisplay) ([NativeDisplayManager_DisplayInfo](_native_display_manager___display_info.md) \*displayInfo) | 销毁指定屏幕的信息对象。 |
| [NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode) [OH_NativeDisplayManager_CreatePrimaryDisplay](#oh_nativedisplaymanager_createprimarydisplay) ([NativeDisplayManager_DisplayInfo](_native_display_manager___display_info.md) \*\*displayInfo) | 获取主屏信息对象。除2in1之外的设备获取的是设备自带屏幕的屏幕信息;2in1设备外接屏幕时获取的是当前主屏幕的屏幕信息;2in1设备没有外接屏幕时获取的是自带屏幕的屏幕信息。 |
## 类型定义说明
### NativeDisplayManager_DisplayColorSpace
```
typedef struct NativeDisplayManager_DisplayColorSpace NativeDisplayManager_DisplayColorSpace
```
**描述**
显示设备支持的所有色域类型。
**起始版本:** 14
### NativeDisplayManager_DisplayHdrFormat
```
typedef struct NativeDisplayManager_DisplayHdrFormat NativeDisplayManager_DisplayHdrFormat
```
**描述**
显示设备支持的所有HDR格式。
**起始版本:** 14
### NativeDisplayManager_DisplayInfo
```
typedef struct NativeDisplayManager_DisplayInfo NativeDisplayManager_DisplayInfo
```
**描述**
显示设备的对象属性。
**起始版本:** 14
### NativeDisplayManager_DisplaysInfo
```
typedef struct NativeDisplayManager_DisplaysInfo NativeDisplayManager_DisplaysInfo
```
**描述**
多显示设备的Display对象。
**起始版本:** 14
### NativeDisplayManager_DisplayState
```
typedef enum NativeDisplayManager_DisplayState NativeDisplayManager_DisplayState
```
**描述**
显示设备的状态枚举。
**起始版本:** 14
### NativeDisplayManager_CutoutInfo
```
typedef struct NativeDisplayManager_CutoutInfo NativeDisplayManager_CutoutInfo
```
**描述**
挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
### NativeDisplayManager_ErrorCode
```
typedef enum NativeDisplayManager_ErrorCode NativeDisplayManager_ErrorCode
```
**描述**
屏幕管理接口返回状态码枚举。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
### NativeDisplayManager_FoldDisplayMode
```
typedef enum NativeDisplayManager_FoldDisplayMode NativeDisplayManager_FoldDisplayMode
```
**描述**
可折叠设备的显示模式枚举。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
### NativeDisplayManager_Orientation
```
typedef enum NativeDisplayManager_Orientation NativeDisplayManager_Orientation
```
**描述**
屏幕的旋转方向。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
### NativeDisplayManager_Rect
```
typedef struct NativeDisplayManager_Rect NativeDisplayManager_Rect
```
**描述**
矩形区域。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
### NativeDisplayManager_Rotation
```
typedef enum NativeDisplayManager_Rotation NativeDisplayManager_Rotation
```
**描述**
屏幕顺时针的旋转角度。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
### NativeDisplayManager_WaterfallDisplayAreaRects
```
typedef struct NativeDisplayManager_WaterfallDisplayAreaRects NativeDisplayManager_WaterfallDisplayAreaRects
```
**描述**
瀑布屏曲面部分显示区域。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
### OH_NativeDisplayManager_DisplayChangeCallback
```
typedef void(* OH_NativeDisplayManager_DisplayChangeCallback) (uint64_t displayId)
```
**描述**
注册屏幕状态变化的回调函数。
**系统能力:** SystemCapability.Window.SessionManager
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayId | 屏幕状态发生变化的编号。 |
### OH_NativeDisplayManager_FoldDisplayModeChangeCallback
```
typedef void(* OH_NativeDisplayManager_FoldDisplayModeChangeCallback) (NativeDisplayManager_FoldDisplayMode displayMode)
```
**描述**
注册屏幕展开、折叠状态变化的回调函数。
**系统能力:** SystemCapability.Window.SessionManager
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayMode | 折叠/展开动作执行后屏幕的状态,具体可见[NativeDisplayManager_FoldDisplayMode](#nativedisplaymanager_folddisplaymode)。 |
## 枚举类型说明
### NativeDisplayManager_DisplayState
```
enum NativeDisplayManager_DisplayState
```
**描述**
显示设备的状态枚举。
**起始版本:** 14
| 枚举值 | 描述 |
| -------- | -------- |
| DISPLAY_MANAGER_DISPLAY_STATE_UNKNOWN | 表示显示设备状态未知。 |
| DISPLAY_MANAGER_DISPLAY_STATE_OFF | 表示显示设备状态为关闭。 |
| DISPLAY_MANAGER_DISPLAY_STATE_ON | 表示显示设备状态为开启。 |
| DISPLAY_MANAGER_DISPLAY_STATE_DOZE | 表示显示设备为低电耗模式。 |
| DISPLAY_MANAGER_DISPLAY_STATE_DOZE_SUSPEND | 表示显示设备为睡眠模式,CPU为挂起状态。 |
| DISPLAY_MANAGER_DISPLAY_STATE_VR | 表示显示设备为VR模式。 |
| DISPLAY_MANAGER_DISPLAY_STATE_ON_SUSPEND | d表示显示设备为开启状态,CPU为挂起状态。 |
### NativeDisplayManager_ErrorCode
```
enum NativeDisplayManager_ErrorCode
```
**描述**
屏幕管理接口返回状态码枚举。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
| 枚举值 | 描述 |
| -------- | -------- |
| DISPLAY_MANAGER_OK | 成功。 |
| DISPLAY_MANAGER_ERROR_NO_PERMISSION | 权限校验失败,应用无权限使用该API,需要申请权限。 |
| DISPLAY_MANAGER_ERROR_NOT_SYSTEM_APP | 权限校验失败,非系统应用使用了系统API。 |
| DISPLAY_MANAGER_ERROR_INVALID_PARAM | 参数检查失败。 |
| DISPLAY_MANAGER_ERROR_DEVICE_NOT_SUPPORTED | 该设备不支持此API。 |
| DISPLAY_MANAGER_ERROR_INVALID_SCREEN | 操作的显示设备无效。 |
| DISPLAY_MANAGER_ERROR_INVALID_CALL | 当前操作对象无操作权限。 |
| DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL | 系统服务工作异常。 |
### NativeDisplayManager_FoldDisplayMode
```
enum NativeDisplayManager_FoldDisplayMode
```
**描述**
可折叠设备的显示模式枚举。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
| 枚举值 | 描述 |
| -------- | -------- |
| DISPLAY_MANAGER_FOLD_DISPLAY_MODE_UNKNOWN | 表示设备当前折叠显示模式未知。 |
| DISPLAY_MANAGER_FOLD_DISPLAY_MODE_FULL | 表示设备当前全屏显示。 |
| DISPLAY_MANAGER_FOLD_DISPLAY_MODE_MAIN | 表示设备当前主屏幕显示。 |
| DISPLAY_MANAGER_FOLD_DISPLAY_MODE_SUB | 表示设备当前子屏幕显示。 |
| DISPLAY_MANAGER_FOLD_DISPLAY_MODE_COORDINATION | 表示设备当前双屏协同显示。 |
### NativeDisplayManager_Orientation
```
enum NativeDisplayManager_Orientation
```
**描述**
屏幕的旋转方向。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
| 枚举值 | 描述 |
| -------- | -------- |
| DISPLAY_MANAGER_PORTRAIT | 表示设备当前以竖屏方式显示。 |
| DISPLAY_MANAGER_LANDSCAPE | 表示设备当前以横屏方式显示。 |
| DISPLAY_MANAGER_PORTRAIT_INVERTED | 表示设备当前以反向竖屏方式显示。 |
| DISPLAY_MANAGER_LANDSCAPE_INVERTED | 表示设备当前以反向横屏方式显示。 |
| DISPLAY_MANAGER_UNKNOWN | 表示显示未识别屏幕方向。 |
### NativeDisplayManager_Rotation
```
enum NativeDisplayManager_Rotation
```
**描述**
屏幕顺时针的旋转角度。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
| 枚举值 | 描述 |
| -------- | -------- |
| DISPLAY_MANAGER_ROTATION_0 | 代表屏幕顺时针旋转角度0度。 |
| DISPLAY_MANAGER_ROTATION_90 | 代表屏幕顺时针旋转角度90度。 |
| DISPLAY_MANAGER_ROTATION_180 | 代表屏幕顺时针旋转角度180度。 |
| DISPLAY_MANAGER_ROTATION_270 | 代表屏幕顺时针旋转角度270度。 |
## 函数说明
### OH_NativeDisplayManager_CaptureScreenPixelmap()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_CaptureScreenPixelmap (uint32_t displayId, OH_PixelmapNative **pixelMap )
```
**描述**
获取屏幕全屏截图,此接口仅支持在平板和2in1设备上使用,可以通过设置不同的屏幕id号截取不同屏幕的截图。
**需要权限:**
ohos.permission.CUSTOM_SCREEN_CAPTURE
**系统能力:** SystemCapability.Window.SessionManager.Core
**起始版本:** 14
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayId | 需要截屏的屏幕id号,该值为非负整数。 |
| pixelMap | 创建指定屏幕id的OH_PixelmapNative对象,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_CreateAllDisplays()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_CreateAllDisplays (NativeDisplayManager_DisplaysInfo **allDisplays)
```
**描述**
获取当前所有屏幕信息对象。
**系统能力:** SystemCapability.Window.SessionManager.Core
**起始版本:** 14
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| allDisplays | 当前所有的屏幕信息,具体可见[NativeDisplayManager_DisplaysInfo](_native_display_manager___displays_info.md), 此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_CreateDisplayById()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_CreateDisplayById (uint32_t displayId, NativeDisplayManager_DisplayInfo **displayInfo )
```
**描述**
获取指定屏幕的信息对象。
**系统能力:** SystemCapability.Window.SessionManager.Core
**起始版本:** 14
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayId | 指定屏幕的id编号,该值为非负整数。 |
| displayInfo | 指定的屏幕信息对象,具体可见[NativeDisplayManager_DisplayInfo](_native_display_manager___display_info.md),此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_CreatePrimaryDisplay()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_CreatePrimaryDisplay (NativeDisplayManager_DisplayInfo **displayInfo)
```
**描述**
获取主屏信息对象。除2in1之外的设备获取的是设备自带屏幕的屏幕信息;2in1设备外接屏幕时获取的是当前主屏幕的屏幕信息;2in1设备没有外接屏幕时获取的是自带屏幕的屏幕信息。
**系统能力:** SystemCapability.Window.SessionManager.Core
**起始版本:** 14
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayInfo | 主屏的屏幕信息对象,具体可见[NativeDisplayManager_DisplayInfo](_native_display_manager___display_info.md),此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_DestroyAllDisplays()
```
void OH_NativeDisplayManager_DestroyAllDisplays (NativeDisplayManager_DisplaysInfo *allDisplays)
```
**描述**
销毁所有屏幕的信息对象。
**系统能力:** SystemCapability.Window.SessionManager.Core
**起始版本:** 14
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| allDisplays | 销毁通过[OH_NativeDisplayManager_CreateAllDisplays](#oh_nativedisplaymanager_createalldisplays)接口获取的所有的屏幕信息,具体可见[NativeDisplayManager_DisplaysInfo](_native_display_manager___displays_info.md)。 |
### OH_NativeDisplayManager_DestroyDisplay()
```
void OH_NativeDisplayManager_DestroyDisplay (NativeDisplayManager_DisplayInfo *displayInfo)
```
**描述**
销毁指定屏幕的信息对象。
**系统能力:** SystemCapability.Window.SessionManager.Core
**起始版本:** 14
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayInfo | 销毁通过[OH_NativeDisplayManager_CreateDisplayById](#oh_nativedisplaymanager_createdisplaybyid)或者[OH_NativeDisplayManager_CreatePrimaryDisplay](#oh_nativedisplaymanager_createprimarydisplay)接口获取到的屏幕信息,具体可见[NativeDisplayManager_DisplayInfo](_native_display_manager___display_info.md)。 |
### OH_NativeDisplayManager_CreateDefaultDisplayCutoutInfo()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_CreateDefaultDisplayCutoutInfo (NativeDisplayManager_CutoutInfo **cutoutInfo)
```
**描述**
获取挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| cutoutInfo | 挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息,具体可见[NativeDisplayManager_CutoutInfo](_native_display_manager___cutout_info.md),此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_DestroyDefaultDisplayCutoutInfo()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_DestroyDefaultDisplayCutoutInfo (NativeDisplayManager_CutoutInfo *cutoutInfo)
```
**描述**
销毁挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| cutoutInfo | 销毁通过[OH_NativeDisplayManager_CreateDefaultDisplayCutoutInfo](#oh_nativedisplaymanager_createdefaultdisplaycutoutinfo)接口获取的挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息对象,具体可见[NativeDisplayManager_CutoutInfo](_native_display_manager___cutout_info.md)。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayDensityDpi()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayDensityDpi (int32_t *densityDpi)
```
**描述**
获取屏幕的物理像素密度。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| densityDpi | 屏幕的物理像素密度,表示每英寸上的像素点数。该参数为整数,单位为px,实际能取到的值取决于不同设备设置里提供的可选值。此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayDensityPixels()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayDensityPixels (float *densityPixels)
```
**描述**
获取屏幕逻辑像素的密度。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| densityPixels | 设备逻辑像素的密度,代表物理像素与逻辑像素的缩放系数,该参数为浮点数,受densityDPI范围限制,取值范围在[0.5,4.0]。一般取值1.0、3.0等,实际取值取决于不同设备提供的densityDpi。此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayDensityXdpi()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayDensityXdpi (float *xDpi)
```
**描述**
获取屏幕X方向中每英寸屏幕的物理像素值。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| xDpi | X方向中每英寸屏幕的物理像素值,该参数为浮点数,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayDensityYdpi()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayDensityYdpi (float *yDpi)
```
**描述**
获取Y方向中每英寸屏幕的物理像素值。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| yDpi | 获取Y方向中每英寸屏幕的物理像素值,该参数为浮点数,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayHeight()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayHeight (int32_t *displayHeight)
```
**描述**
获取默认屏幕的高度。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayHeight | 默认屏幕的高度,单位为px,该参数应为整数,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayId()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayId (uint64_t *displayId)
```
**描述**
获取默认屏幕的id号。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayId | 默认屏幕的id号,非负整数,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayOrientation()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayOrientation (NativeDisplayManager_Orientation *displayOrientation)
```
**描述**
获取默认屏幕的旋转方向。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayOrientation | 屏幕当前显示的方向,具体可见[NativeDisplayManager_Orientation](#nativedisplaymanager_orientation),此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayRefreshRate()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayRefreshRate (uint32_t *refreshRate)
```
**描述**
获取默认屏幕的刷新率。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| refreshRate | 屏幕的刷新率,该参数应为整数,单位为hz,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayRotation()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayRotation (NativeDisplayManager_Rotation *displayRotation)
```
**描述**
获取默认屏幕的顺时针旋转角度。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayRotation | 默认屏幕的顺时针旋转角度,具体可见[NativeDisplayManager_Rotation](#nativedisplaymanager_rotation),此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayScaledDensity()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayScaledDensity (float *scaledDensity)
```
**描述**
获取屏幕显示字体的缩放因子。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| scaledDensity | 显示字体的缩放因子,该参数为浮点数,通常与densityPixels相同,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayVirtualPixelRatio()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayVirtualPixelRatio (float *virtualPixels)
```
**描述**
获取默认屏幕的虚拟像素密度。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| virtualPixels | 屏幕的虚拟像素密度,该参数为浮点数,通常与densityPixels相同,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetDefaultDisplayWidth()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayWidth (int32_t *displayWidth)
```
**描述**
获取默认屏幕的宽度。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayWidth | 默认屏幕的宽度,单位为px,该参数应为整数,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_GetFoldDisplayMode()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetFoldDisplayMode (NativeDisplayManager_FoldDisplayMode *displayMode)
```
**描述**
获取可折叠设备的显示模式。
**系统能力:** SystemCapability.Window.SessionManager
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayMode | 折叠设备当前的显示模式,具体可见[NativeDisplayManager_FoldDisplayMode](#nativedisplaymanager_folddisplaymode),此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_IsFoldable()
```
bool OH_NativeDisplayManager_IsFoldable ()
```
**描述**
查询设备是否可折叠。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**返回:**
返回查询设备是否可折叠的结果。true表示设备可折叠,false表示设备不可折叠。
### OH_NativeDisplayManager_RegisterDisplayChangeListener()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_RegisterDisplayChangeListener (OH_NativeDisplayManager_DisplayChangeCallback displayChangeCallback, uint32_t *listenerIndex )
```
**描述**
注册屏幕状态变化监听(如旋转变化、刷新率、DPI、分辨率等变化)。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayChangeCallback | 屏幕状态变化后触发的回调函数,回调函数定义见[OH_NativeDisplayManager_DisplayChangeCallback](#oh_nativedisplaymanager_displaychangecallback)。 |
| listenerIndex | 注册成功后返回的监听编号,调用取消注册函数[OH_NativeDisplayManager_UnregisterDisplayChangeListener](#oh_nativedisplaymanager_unregisterdisplaychangelistener)时作为入参使用,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_RegisterFoldDisplayModeChangeListener()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_RegisterFoldDisplayModeChangeListener (OH_NativeDisplayManager_FoldDisplayModeChangeCallback displayModeChangeCallback, uint32_t *listenerIndex )
```
**描述**
注册屏幕展开、折叠状态变化的监听。
**系统能力:** SystemCapability.Window.SessionManager
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| displayModeChangeCallback | 屏幕展开和折叠变化后触发的回调函数,回调函数定义见[OH_NativeDisplayManager_FoldDisplayModeChangeCallback](#oh_nativedisplaymanager_folddisplaymodechangecallback)。 |
| listenerIndex | 注册成功后返回的监听编号,调用取消注册函数[OH_NativeDisplayManager_UnregisterFoldDisplayModeChangeListener](#oh_nativedisplaymanager_unregisterfolddisplaymodechangelistener)时作为入参使用,此处作为出参返回。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_UnregisterDisplayChangeListener()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_UnregisterDisplayChangeListener (uint32_t listenerIndex)
```
**描述**
取消屏幕状态变化的监听。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| listenerIndex | 调用注册函数[OH_NativeDisplayManager_RegisterDisplayChangeListener](#oh_nativedisplaymanager_registerdisplaychangelistener)时获取到的监听编号。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。
### OH_NativeDisplayManager_UnregisterFoldDisplayModeChangeListener()
```
NativeDisplayManager_ErrorCode OH_NativeDisplayManager_UnregisterFoldDisplayModeChangeListener (uint32_t listenerIndex)
```
**描述**
取消屏幕展开、折叠状态变化的监听。
**系统能力:** SystemCapability.Window.SessionManager
**起始版本:** 12
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| listenerIndex | 调用注册函数[OH_NativeDisplayManager_RegisterFoldDisplayModeChangeListener](#oh_nativedisplaymanager_registerfolddisplaymodechangelistener)时获取到的监听编号。 |
**返回:**
返回屏幕管理接口的通用状态码,具体可见[NativeDisplayManager_ErrorCode](#nativedisplaymanager_errorcode)。