1# DeviceFuncs 2 3 4## **概述** 5 6显示设备控制接口结构体,定义显示设备控制接口函数指针。 7 8**相关模块:** 9 10[Display](_display.md) 11 12 13## **汇总** 14 15 16### Public 属性 17 18 | 名称 | 描述 | 19| -------- | -------- | 20| ([DeviceFuncs::RegHotPlugCallback](_display.md#reghotplugcallback) )(HotPlugCallback callback, void \*data) | 注册热插拔事件回调。 | 21| ([DeviceFuncs::RegDisplayVBlankCallback](_display.md#regdisplayvblankcallback) )(uint32_t devId, VBlankCallback callback, void \*data) | 注册VBlank事件回调。 | 22| ([DeviceFuncs::RegDisplayRefreshCallback](_display.md#regdisplayrefreshcallback) )(uint32_t devId, RefreshCallback callback, void \*data) | 刷新请求回调。 | 23| ([DeviceFuncs::GetDisplayCapability](_display.md#getdisplaycapability) )(uint32_t devId, DisplayCapability \*info) | 获取显示设备能力集。 | 24| ([DeviceFuncs::GetDisplaySupportedModes](_display.md#getdisplaysupportedmodes) )(uint32_t devId, uint32_t \*num, DisplayModeInfo \*modes) | 获取显示设备支持的显示模式信息。 | 25| ([DeviceFuncs::GetDisplayMode](_display.md#getdisplaymode) )(uint32_t devId, uint32_t \*modeId) | 获取显示设备当前的显示模式。 | 26| ([DeviceFuncs::SetDisplayMode](_display.md#setdisplaymode) )(uint32_t devId, uint32_t modeId) | 设置显示设备的显示模式。 | 27| ([DeviceFuncs::GetDisplayPowerStatus](_display.md#getdisplaypowerstatus) )(uint32_t devId, DispPowerStatus \*status) | 获取显示设备当前的电源状态。 | 28| ([DeviceFuncs::SetDisplayPowerStatus](_display.md#setdisplaypowerstatus) )(uint32_t devId, DispPowerStatus status) | 设置显示设备当前的电源状态。 | 29| ([DeviceFuncs::GetDisplayBacklight](_display.md#getdisplaybacklight) )(uint32_t devId, uint32_t \*level) | 获取显示设备当前的背光值。 | 30| ([DeviceFuncs::SetDisplayBacklight](_display.md#setdisplaybacklight) )(uint32_t devId, uint32_t level) | 设置显示设备当前的背光值。 | 31| ([DeviceFuncs::GetDisplayProperty](_display.md#getdisplayproperty) )(uint32_t devId, uint32_t id, uint64_t \*value) | 获取显示设备属性值。 | 32| ([DeviceFuncs::SetDisplayProperty](_display.md#setdisplayproperty) )(uint32_t devId, uint32_t id, uint64_t value) | 设置显示设备属性值。 | 33| ([DeviceFuncs::PrepareDisplayLayers](_display.md#preparedisplaylayers) )(uint32_t devId, bool \*needFlushFb) | 显示设备合成前准备。 | 34| ([DeviceFuncs::GetDisplayCompChange](_display.md#getdisplaycompchange) )(uint32_t devId, uint32_t \*num, uint32_t \*Layers, int32_t \*type) | 获取显示设备合成类型有变化的layer。 | 35| ([DeviceFuncs::SetDisplayClientCrop](_display.md#setdisplayclientcrop) )(uint32_t devId, IRect \*rect) | 设置显示设备的裁剪区域。 | 36| ([DeviceFuncs::SetDisplayClientDestRect](_display.md#setdisplayclientdestrect) )(uint32_t devId, IRect \*rect) | 设置显示设备的显示区域。 | 37| ([DeviceFuncs::SetDisplayClientBuffer](_display.md#setdisplayclientbuffer) )(uint32_t devId, const BufferHandle \*buffer, int32_t fence) | 设置显示设备的显示缓存。 | 38| ([DeviceFuncs::SetDisplayClientDamage](_display.md#setdisplayclientdamage) )(uint32_t devId, uint32_t num, IRect \*rect) | 设置显示设备的显示脏区。 | 39| ([DeviceFuncs::SetDisplayVsyncEnabled](_display.md#setdisplayvsyncenabled) )(uint32_t devId, bool enabled) | 使能垂直同步信号。 | 40| ([DeviceFuncs::GetDisplayReleaseFence](_display.md#getdisplayreleasefence) )(uint32_t devId, uint32_t \*num, uint32_t \*layers, int32_t \*fences) | 获取显示图层fence。 | 41| ([DeviceFuncs::GetDisplaySupportedColorGamuts](_display.md#getdisplaysupportedcolorgamuts) )(uint32_t devId, uint32_t \*num, ColorGamut \*gamuts) | 获取显示设备支持的色域信息。 | 42| ([DeviceFuncs::GetDisplayColorGamut](_display.md#getdisplaycolorgamut) )(uint32_t devId, ColorGamut \*gamut) | 获取显示设备当前的色域模式。 | 43| ([DeviceFuncs::SetDisplayColorGamut](_display.md#setdisplaycolorgamut) )(uint32_t devId, ColorGamut gamut) | 设置显示设备当前的色域模式。 | 44| ([DeviceFuncs::GetDisplayGamutMap](_display.md#getdisplaygamutmap) )(uint32_t devId, GamutMap \*gamutMap) | 获取显示设备当前的色域映射模式。 | 45| ([DeviceFuncs::SetDisplayGamutMap](_display.md#setdisplaygamutmap) )(uint32_t devId, GamutMap gamutMap) | 设置显示设备当前的色域映射模式。 | 46| ([DeviceFuncs::SetDisplayColorTransform](_display.md#setdisplaycolortransform) )(uint32_t devId, const float \*matrix) | 设置显示设备当前的4x4的颜色转换矩阵。 | 47| ([DeviceFuncs::GetHDRCapabilityInfos](_display.md#gethdrcapabilityinfos) )(uint32_t devId, HDRCapability \*info) | 获取显示设备支持的HDR属性信息。 | 48| ([DeviceFuncs::GetSupportedMetadataKey](_display.md#getsupportedmetadatakey) )(uint32_t devId, uint32_t \*num, DisplayInfo::widthHDRMetadataKey \*keys) | 获取显示设备支持的 HDRMetadataKey。 | 49| ([DeviceFuncs::Commit](_display.md#commit) )(uint32_t devId, int32_t \*fence) | 提交合成送显请求。 | 50| ([DeviceFuncs::InvokeDisplayCmd](_display.md#invokedisplaycmd) )(uint32_t devId,...) | 调用显示设备命令。 | 51| ([DeviceFuncs::CreateVirtualDisplay](_display.md#createvirtualdisplay) )(uint32_t width, uint32_t height, int32_t \*format, uint32_t \*devId) | 创建虚拟显示设备。 | 52| ([DeviceFuncs::DestroyVirtualDisplay](_display.md#destroyvirtualdisplay) )(uint32_t devId) | 销毁虚拟显示设备。 | 53| ([DeviceFuncs::SetVirtualDisplayBuffer](_display.md#setvirtualdisplaybuffer) )(uint32_t devId, BufferHandle \*buffer, int32_t fence) | 设置虚拟屏的输出缓存。 | 54| ([DeviceFuncs::GetWriteBackFrame](_display.md#getwritebackframe) )(uint32_t devId, BufferHandle \*buffer, int32_t \*fence) | 获取显示设备的回写帧。 | 55| ([DeviceFuncs::CreateWriteBack](#createwriteback)DeviceFuncs::CreateWriteBack)(uint32_t \*devId, uint32_t width, uint32_t height, int32_t \*format) | PixelFormat, 接口实现层可以根据硬件需求,修改format并返回给图形服务。 | 56| ([DeviceFuncs::DestroyWriteBack](#destroywriteback) )(uint32_t devId) | 销毁指定显示设备的回写点。 | 57 58 59## **类成员变量说明** 60 61 62### CreateWriteBack 63 64 65``` 66int32_t(* DeviceFuncs::CreateWriteBack) (uint32_t *devId, uint32_t width, uint32_t height, int32_t *format) 67``` 68 69**描述:** 70 71PixelFormat, 接口实现层可以根据硬件需求,修改format并返回给图形服务。 72 73**参数:** 74 75 | 名称 | 描述 | 76| -------- | -------- | 77| devId | 输入参数,指示需要操作的设备ID,接口实现层在创建完回写点后将回写点设备ID存放在该参数中返回给图形服务。 | 78| width | 输入参数,回写像素宽度。 | 79| height | 输入参数,回写像素高度。 | 80| format | 输入参数,回写点数据格式,详情参考[PixelFormat](_display.md#pixelformat),接口实现层可以根据硬件需求,修改format并返回给图形服务。 | 81 82**返回:** 83 84DISPLAY_SUCCESS 表示执行成功。 85 86其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。 87 88 89### DestroyWriteBack 90 91 92``` 93int32_t(* DeviceFuncs::DestroyWriteBack) (uint32_t devId) 94``` 95 96**描述:** 97 98销毁指定显示设备的回写点。 99 100该接口用來销毁指定的回写点。 101 102**参数:** 103 104 | 名称 | 描述 | 105| -------- | -------- | 106| devId | 输入参数,指示需要操作的设备ID。 | 107 108**返回:** 109 110DISPLAY_SUCCESS 表示执行成功。 111 112其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。 113