# DeviceFuncs
## 概述
显示设备控制接口结构体,定义显示设备控制接口函数指针。
**相关模块:**
[Display](_display.md)
## 汇总
### Public 属性
| 名称 | 描述 |
| -------- | -------- |
| (\* [RegHotPlugCallback](_display.md#reghotplugcallback) )([HotPlugCallback](_display.md#hotplugcallback) callback, void \*data) | int32_t
注册热插拔事件回调。 |
| (\* [RegDisplayVBlankCallback](_display.md#regdisplayvblankcallback) )(uint32_t devId, [VBlankCallback](_display.md#vblankcallback) callback, void \*data) | int32_t
注册VBlank事件回调。 |
| (\* [RegDisplayRefreshCallback](_display.md#regdisplayrefreshcallback) )(uint32_t devId, [RefreshCallback](_display.md#refreshcallback) callback, void \*data) | int32_t
刷新请求回调。 |
| (\* [GetDisplayCapability](_display.md#getdisplaycapability) )(uint32_t devId, [DisplayCapability](_display_capability.md) \*info) | int32_t
获取显示设备能力集。 |
| (\* [GetDisplaySupportedModes](_display.md#getdisplaysupportedmodes) )(uint32_t devId, uint32_t \*num, [DisplayModeInfo](_display_mode_info.md) \*modes) | int32_t
获取显示设备支持的显示模式信息。 |
| (\* [GetDisplayMode](_display.md#getdisplaymode) )(uint32_t devId, uint32_t \*modeId) | int32_t
获取显示设备当前的显示模式。 |
| (\* [SetDisplayMode](_display.md#setdisplaymode) )(uint32_t devId, uint32_t modeId) | int32_t
设置显示设备的显示模式。 |
| (\* [GetDisplayPowerStatus](_display.md#getdisplaypowerstatus) )(uint32_t devId, [DispPowerStatus](_display.md#disppowerstatus) \*status) | int32_t
获取显示设备当前的电源状态。 |
| (\* [SetDisplayPowerStatus](_display.md#setdisplaypowerstatus) )(uint32_t devId, [DispPowerStatus](_display.md#disppowerstatus) status) | int32_t
设置显示设备当前的电源状态。 |
| (\* [GetDisplayBacklight](_display.md#getdisplaybacklight) )(uint32_t devId, uint32_t \*level) | int32_t
获取显示设备当前的背光值。 |
| (\* [SetDisplayBacklight](_display.md#setdisplaybacklight) )(uint32_t devId, uint32_t level) | int32_t
设置显示设备当前的背光值。 |
| (\* [GetDisplayProperty](_display.md#getdisplayproperty) )(uint32_t devId, uint32_t id, uint64_t \*value) | int32_t
获取显示设备属性值。 |
| (\* [SetDisplayProperty](_display.md#setdisplayproperty) )(uint32_t devId, uint32_t id, uint64_t value) | int32_t
设置显示设备属性值。 |
| (\* [PrepareDisplayLayers](_display.md#preparedisplaylayers) )(uint32_t devId, bool \*needFlushFb) | int32_t
显示设备合成前准备。 |
| (\* [GetDisplayCompChange](_display.md#getdisplaycompchange) )(uint32_t devId, uint32_t \*num, uint32_t \*Layers, int32_t \*type) | int32_t
获取显示设备合成类型有变化的layer。 |
| (\* [SetDisplayClientCrop](_display.md#setdisplayclientcrop) )(uint32_t devId, [IRect](_i_rect.md) \*rect) | int32_t
设置显示设备的裁剪区域。 |
| (\* [SetDisplayClientDestRect](_display.md#setdisplayclientdestrect) )(uint32_t devId, [IRect](_i_rect.md) \*rect) | int32_t
设置显示设备的显示区域。 |
| (\* [SetDisplayClientBuffer](_display.md#setdisplayclientbuffer) )(uint32_t devId, const BufferHandle \*buffer, int32_t fence) | int32_t
设置显示设备的显示缓存。 |
| (\* [SetDisplayClientDamage](_display.md#setdisplayclientdamage) )(uint32_t devId, uint32_t num, [IRect](_i_rect.md) \*rect) | int32_t
设置显示设备的显示脏区。 |
| (\* [SetDisplayVsyncEnabled](_display.md#setdisplayvsyncenabled) )(uint32_t devId, bool enabled) | int32_t
使能垂直同步信号。 |
| (\* [GetDisplayReleaseFence](_display.md#getdisplayreleasefence) )(uint32_t devId, uint32_t \*num, uint32_t \*layers, int32_t \*fences) | int32_t
获取显示图层fence。 |
| (\* [GetDisplaySupportedColorGamuts](_display.md#getdisplaysupportedcolorgamuts) )(uint32_t devId, uint32_t \*num, [ColorGamut](_display.md#colorgamut) \*gamuts) | int32_t
获取显示设备支持的色域信息。 |
| (\* [GetDisplayColorGamut](_display.md#getdisplaycolorgamut) )(uint32_t devId, [ColorGamut](_display.md#colorgamut) \*gamut) | int32_t
获取显示设备当前的色域模式。 |
| (\* [SetDisplayColorGamut](_display.md#setdisplaycolorgamut) )(uint32_t devId, [ColorGamut](_display.md#colorgamut) gamut) | int32_t
设置显示设备当前的色域模式。 |
| (\* [GetDisplayGamutMap](_display.md#getdisplaygamutmap) )(uint32_t devId, [GamutMap](_display.md#gamutmap) \*gamutMap) | int32_t
获取显示设备当前的色域映射模式。 |
| (\* [SetDisplayGamutMap](_display.md#setdisplaygamutmap) )(uint32_t devId, [GamutMap](_display.md#gamutmap) gamutMap) | int32_t
设置显示设备当前的色域映射模式。 |
| (\* [SetDisplayColorTransform](_display.md#setdisplaycolortransform) )(uint32_t devId, const float \*matrix) | int32_t
设置显示设备当前的4x4的颜色转换矩阵。 |
| (\* [GetHDRCapabilityInfos](_display.md#gethdrcapabilityinfos) )(uint32_t devId, [HDRCapability](_h_d_r_capability.md) \*info) | int32_t
获取显示设备支持的HDR属性信息。 |
| (\* [GetSupportedMetadataKey](_display.md#getsupportedmetadatakey) )(uint32_t devId, uint32_t \*num, [HDRMetadataKey](_display.md#hdrmetadatakey) \*keys) | int32_t
获取显示设备支持的 HDRMetadataKey。 |
| (\* [Commit](_display.md#commit) )(uint32_t devId, int32_t \*fence) | int32_t
提交合成送显请求。 |
| (\* [InvokeDisplayCmd](_display.md#invokedisplaycmd) )(uint32_t devId,...) | int32_t
调用显示设备命令。 |
| (\* [CreateVirtualDisplay](_display.md#createvirtualdisplay) )(uint32_t width, uint32_t height, int32_t \*format, uint32_t \*devId) | int32_t
创建虚拟显示设备。 |
| (\* [DestroyVirtualDisplay](_display.md#destroyvirtualdisplay) )(uint32_t devId) | int32_t
销毁虚拟显示设备。 |
| (\* [SetVirtualDisplayBuffer](_display.md#setvirtualdisplaybuffer) )(uint32_t devId, BufferHandle \*buffer, int32_t fence) | int32_t
设置虚拟屏的输出缓存。 |
| (\* [GetWriteBackFrame](_display.md#getwritebackframe) )(uint32_t devId, BufferHandle \*buffer, int32_t \*fence) | int32_t
获取显示设备的回写帧。 |
| (\* [CreateWriteBack](#createwriteback) )(uint32_t \*devId, uint32_t width, uint32_t height, int32_t \*format) | int32_t
PixelFormat, 接口实现层可以根据硬件需求,修改format并返回给图形服务。 |
| (\* [DestroyWriteBack](#destroywriteback) )(uint32_t devId) | int32_t
销毁指定显示设备的回写点。 |
## 类成员变量说明
### CreateWriteBack
```
int32_t(* DeviceFuncs::CreateWriteBack) (uint32_t *devId, uint32_t width, uint32_t height, int32_t *format)
```
**描述:**
PixelFormat, 接口实现层可以根据硬件需求,修改format并返回给图形服务。
**返回:**
DISPLAY_SUCCESS 表示执行成功。
其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
### DestroyWriteBack
```
int32_t(* DeviceFuncs::DestroyWriteBack) (uint32_t devId)
```
**描述:**
销毁指定显示设备的回写点。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| devId | 输入参数,指示需要操作的设备ID。 |
**返回:**
DISPLAY_SUCCESS 表示执行成功。
其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。