1# IDisplayComposer 2 3## 概述 4 5显示合成接口声明。 6 7主要提供注册热插拔事件回调、获取显示设备能力集等功能,具体方法使用详见函数说明。 8 9**起始版本:** 4.1 10 11**相关模块:**[Display](_display_v11.md) 12 13## 汇总 14 15### Public 成员函数 16 17| 名称 | 描述 | 18| -------- | -------- | 19| [RegSeamlessChangeCallback](#regseamlesschangecallback) ([in] [ISeamlessChangeCallback](interface_i_seamless_change_callback_v11.md) cb) | 注册要在准备好更改帧速率时调用的回调。 | 20| [GetDisplaySupportedModesExt](#getdisplaysupportedmodesext) ([in] unsigned int devId, [out] struct [DisplayModeInfoExt](_display_mode_info_ext_v11.md)[] modes) | 获取显示设备支持的显示模式。 | 21| [SetDisplayModeAsync](#setdisplaymodeasync) ([in] unsigned int devId, [in] unsigned int modeId, [in] [IModeCallback](interface_i_mode_callback_v11.md) cb) | 设置显示设备的显示模式。 | 22| [GetDisplayVBlankPeriod](#getdisplayvblankperiod) ([in] unsigned int devId, [out] unsigned long period) | 获取当前 vblank 周期。 | 23| [SetLayerPerFrameParameter](#setlayerperframeparameter) ([in] unsigned int devId, [in] unsigned int layerId, [in] String key, [out] byte[] value) | 设置给定图层的参数,参数更改必须在此调用后完全生效。 | 24| [GetSupportedLayerPerFrameParameterKey](#getsupportedlayerperframeparameterkey) ([out] String[] keys) | 返回支持的参数键的列表。 | 25| [SetDisplayOverlayResolution](#setdisplayoverlayresolution) ([in] unsigned int devId, [in] unsigned int width, [in] unsigned int height) | 设置给定图层的参数,参数更改必须在此调用后完全生效。 | 26| [RegRefreshCallback](#regrefreshcallback) ([in] IRefreshCallback cb) | 注册要在发生刷新事件时调用的回调。 | 27| [GetDisplaySupportedColorGamuts](#getdisplaysupportedcolorgamuts) ([in] unsigned int devId, [out] struct ColorGamut[] gamuts) | 获取显示设备的色域。 | 28| [GetHDRCapabilityInfos](#gethdrcapabilityinfos) ([in] unsigned int devId, [out] struct HDRCapability info) | 获取显示设备的功能。 | 29 30## 成员函数说明 31 32### GetDisplaySupportedColorGamuts() 33 34``` 35IDisplayComposer::GetDisplaySupportedColorGamuts ([in] unsigned int devId, [out] struct ColorGamut[] gamuts ) 36``` 37 38**描述** 39 40获取显示设备的色域。 41 42**起始版本:** 4.1 43 44**参数:** 45 46| 名称 | 描述 | 47| -------- | -------- | 48| devId | 指示显示设备的 ID。 | 49| gamuts | 指示有关显示设备支持的所有色域的信息的向量。 | 50 51**返回:** 52 530 表示执行成功。 54 55其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 56 57### GetDisplaySupportedModesExt() 58 59``` 60IDisplayComposer::GetDisplaySupportedModesExt ([in] unsigned int devId, [out] struct DisplayModeInfoExt[] modes ) 61``` 62 63**描述** 64 65获取显示设备支持的显示模式。 66 67**起始版本:** 4.1 68 69**参数:** 70 71| 名称 | 描述 | 72| -------- | -------- | 73| devId | 指示显示设备的 ID。 | 74| modes | 表示有关显示设备支持的所有模式的信息向量, 包括所有支持的分辨率、刷新率和 groupId。每种模式都有一个 ID,该 ID 将在以下情况下使用 模式已设置或获取。有关详细信息,请参阅 [DisplayModeInfoExt](_display_mode_info_ext_v11.md)。 | 75 76**返回:** 77 780 表示执行成功。 79 80其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 81 82### GetDisplayVBlankPeriod() 83 84``` 85IDisplayComposer::GetDisplayVBlankPeriod ([in] unsigned int devId, [out] unsigned long period ) 86``` 87 88**描述** 89 90获取当前 vblank 周期。 91 92**起始版本:** 4.1 93 94**参数:** 95 96| 名称 | 描述 | 97| -------- | -------- | 98| devId | 指示显示设备的 ID。 | 99| period | 指示 vblank 周期 (ns)。 | 100 101**返回:** 102 1030 表示执行成功。 104 105其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 106 107### GetHDRCapabilityInfos() 108 109``` 110IDisplayComposer::GetHDRCapabilityInfos ([in] unsigned int devId, [out] struct HDRCapability info ) 111``` 112 113**描述** 114 115获取显示设备的功能。 116 117**起始版本:** 4.1 118 119**参数:** 120 121| 名称 | 描述 | 122| -------- | -------- | 123| devId | 指示显示设备的 ID。 | 124| info | 指示指向 hdr 设备支持的功能的指针。 | 125 126**返回:** 127 1280 表示执行成功。 129 130其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 131 132### GetSupportedLayerPerFrameParameterKey() 133 134``` 135IDisplayComposer::GetSupportedLayerPerFrameParameterKey ([out] String[] keys) 136``` 137 138**描述** 139 140返回支持的参数键的列表。 141 142**起始版本:** 4.1 143 144**参数:** 145 146| 名称 | 描述 | 147| -------- | -------- | 148| keys | 指示支持的参数键。 | 149 150**返回:** 151 1520 表示执行成功。 153 154其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 155 156### RegRefreshCallback() 157 158``` 159IDisplayComposer::RegRefreshCallback ([in] IRefreshCallback cb) 160``` 161 162**描述** 163 164注册要在发生刷新事件时调用的回调。 165 166**起始版本:** 4.1 167 168**参数:** 169 170| 名称 | 描述 | 171| -------- | -------- | 172| cb | 指示用于通知图形服务发生刷新事件的实例。 | 173 174**返回:** 175 1760 表示执行成功。 177 178其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 179 180### RegSeamlessChangeCallback() 181 182``` 183IDisplayComposer::RegSeamlessChangeCallback ([in] ISeamlessChangeCallback cb) 184``` 185 186**描述** 187 188注册要在准备好更改帧速率时调用的回调。 189 190**起始版本:** 4.1 191 192**参数:** 193 194| 名称 | 描述 | 195| -------- | -------- | 196| cb | 指示用于通知图形服务已准备好更改帧速率的实例。 | 197 198**返回:** 199 2000 表示执行成功。 201 202其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 203 204### SetDisplayModeAsync() 205 206``` 207IDisplayComposer::SetDisplayModeAsync ([in] unsigned int devId, [in] unsigned int modeId, [in] IModeCallback cb ) 208``` 209 210**描述** 211 212设置显示设备的显示模式。 213 214**起始版本:** 4.1 215 216**参数:** 217 218| 名称 | 描述 | 219| -------- | -------- | 220| devId | 指示显示设备的 ID。 | 221| modeId | 指示显示模式的 ID。设备切换到指定的显示模式 此接口中的此参数。 | 222| cb | 表示更改模式时要调用的回调。 | 223 224**返回:** 225 2260 表示执行成功。 227 228其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 229 230### SetDisplayOverlayResolution() 231 232``` 233IDisplayComposer::SetDisplayOverlayResolution ([in] unsigned int devId, [in] unsigned int width, [in] unsigned int height ) 234``` 235 236**描述** 237 238设置给定图层的参数,参数更改必须在此调用后完全生效。 239 240**起始版本:** 4.1 241 242**参数:** 243 244| 名称 | 描述 | 245| -------- | -------- | 246| devId | 指示显示设备的 ID。 | 247| width | 指示显示设备的像素宽度。 | 248| height | 指示显示设备的像素高度。 | 249 250**返回:** 251 2520 表示执行成功。 253 254其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 255 256### SetLayerPerFrameParameter() 257 258``` 259IDisplayComposer::SetLayerPerFrameParameter ([in] unsigned int devId, [in] unsigned int layerId, [in] String key, [out] byte[] value ) 260``` 261 262**描述** 263 264设置给定图层的参数,参数更改必须在此调用后完全生效。 265 266**起始版本:** 4.1 267 268**参数:** 269 270| 名称 | 描述 | 271| -------- | -------- | 272| devId | 指示显示设备的 ID。 | 273| layerId | 指示要操作的层的 ID。 | 274| key | 指示特定键。 | 275| value | 指示与键对应的值。 | 276 277**返回:** 278 2790 表示执行成功。 280 281其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 282