1# IDisplayComposer 2 3 4## 概述 5 6显示合成接口声明。 7 8主要提供注册热插拔事件回调、获取显示设备能力集等功能,在v1_1.IDisplayComposer基础上新增注册更改VBlankIdle事件回调、清除缓冲区、硬光标特性等功能,具体方法使用详见函数说明。 9 10**起始版本:** 5.0 11 12**相关模块:**[Display](index_composer_display_v12.md) 13 14 15## 汇总 16 17 18### Public 成员函数 19 20| 名称 | 描述 | 21| -------- | -------- | 22| [RegDisplayVBlankIdleCallback](#regdisplayvblankidlecallback) ([in] [IVBlankIdleCallback](annotated_composer_display_v12_interface_i_v_blank_idle_callback.md) cb) | 注册更改VBlankIdle时调用的回调。 | 23| [ClearClientBuffer](#clearclientbuffer) ([in] unsigned int devId) | 表示清除所有客户端缓冲区。 | 24| [ClearLayerBuffer](#clearlayerbuffer) ([in] unsigned int devId, [in] unsigned int layerId) | 表示清除所有图层缓冲区。 | 25| [SetHardwareCursorPosition](#sethardwarecursorposition) ([in] unsigned int devId, [in] int x, [in] int y) | 设置硬光标位置。 | 26| [EnableHardwareCursorStats](#enablehardwarecursorstats) ([in] unsigned int devId, [in] boolean enable) | 启用硬光标。 | 27| [GetHardwareCursorStats](#gethardwarecursorstats) ([in] unsigned int devId, [out] unsigned int frameCount, [out] unsigned int vsyncCount) | 获取硬光标状态。 | 28| [SetDisplayActiveRegion](#setdisplayactiveregion) ([in] unsigned int devId, [in] struct IRect rect) | 设置显示活动区域。 | 29| [FastPresent](#fastpresent) ([in] unsigned int devId, [in] struct [PresentParam](annotated_composer_display_v12_present_param.md) param, [in] NativeBuffer[] inHandles) | 根据设备ID、显示参数以及缓冲区句柄快速显示。 | 30 31 32## 成员函数说明 33 34 35### ClearClientBuffer() 36 37``` 38IDisplayComposer::ClearClientBuffer([in] unsigned int devId) 39``` 40 41**描述** 42 43表示清除所有客户端缓冲区。 44 45**起始版本:** 5.0 46 47**参数:** 48 49| 名称 | 描述 | 50| -------- | -------- | 51| devId | 表示设备ID。 | 52 53**返回:** 54 550 表示执行成功。 56 57其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 58 59 60### ClearLayerBuffer() 61 62``` 63IDisplayComposer::ClearLayerBuffer([in] unsigned int devId, [in] unsigned int layerId) 64``` 65 66**描述** 67 68表示清除所有图层缓冲区。 69 70**起始版本:** 5.0 71 72**参数:** 73 74| 名称 | 描述 | 75| -------- | -------- | 76| devId | 表示设备ID。 | 77| layerId | 表示图层ID。 | 78 79**返回:** 80 810 表示执行成功。 82 83其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 84 85 86### EnableHardwareCursorStats() 87 88``` 89IDisplayComposer::EnableHardwareCursorStats([in] unsigned int devId, [in] boolean enable) 90``` 91 92**描述** 93 94启用硬光标。 95 96**起始版本:** 5.0 97 98**参数:** 99 100| 名称 | 描述 | 101| -------- | -------- | 102| devId | 表示设备ID。 | 103| enable | 表示是否启用硬光标。 | 104 105**返回:** 106 1070 表示执行成功。 108 109其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 110 111 112### FastPresent() 113 114``` 115IDisplayComposer::FastPresent([in] unsigned int devId, [in] struct PresentParam param, [in] NativeBuffer[] inHandles) 116``` 117 118**描述** 119 120根据设备ID、显示参数以及缓冲区句柄快速显示。 121 122**起始版本:** 5.0 123 124**参数:** 125 126| 名称 | 描述 | 127| -------- | -------- | 128| devId | 表示设备ID。 | 129| param | 表示当前参数的数据结构。 | 130| inHandles | 表示输入缓冲区句柄。 | 131 132**返回:** 133 1340 表示执行成功。 135 136其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 137 138 139### GetHardwareCursorStats() 140 141``` 142IDisplayComposer::GetHardwareCursorStats([in] unsigned int devId, [out] unsigned int frameCount, [out] unsigned int vsyncCount) 143``` 144 145**描述** 146 147获取硬光标状态。 148 149**起始版本:** 5.0 150 151**参数:** 152 153| 名称 | 描述 | 154| -------- | -------- | 155| devId | 表示设备ID。 | 156| frameCount | 表示硬光标帧数。 | 157| vsyncCount | 表示硬光标同步计数。 | 158 159**返回:** 160 1610 表示执行成功。 162 163其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 164 165 166### RegDisplayVBlankIdleCallback() 167 168``` 169IDisplayComposer::RegDisplayVBlankIdleCallback([in] IVBlankIdleCallback cb) 170``` 171 172**描述** 173 174注册更改VBlankIdle时调用的回调。 175 176**起始版本:** 5.0 177 178**参数:** 179 180| 名称 | 描述 | 181| -------- | -------- | 182| cb | 表示用于通知图形服务已准备好更改 VBlankIdle 的实例。 | 183 184**返回:** 185 1860 表示执行成功。 187 188其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 189 190 191### SetDisplayActiveRegion() 192 193``` 194IDisplayComposer::SetDisplayActiveRegion([in] unsigned int devId, [in] struct IRect rect) 195``` 196 197**描述** 198 199设置显示活动区域。 200 201**起始版本:** 5.0 202 203**参数:** 204 205| 名称 | 描述 | 206| -------- | -------- | 207| devId | 表示设备ID。 | 208| rect | 表示指向客户端缓冲区裁剪区域的指针。 | 209 210**返回:** 211 2120 表示执行成功。 213 214其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 215 216 217### SetHardwareCursorPosition() 218 219``` 220IDisplayComposer::SetHardwareCursorPosition([in] unsigned int devId, [in] int x, [in] int y) 221``` 222 223**描述** 224 225设置硬光标位置。 226 227**起始版本:** 5.0 228 229**参数:** 230 231| 名称 | 描述 | 232| -------- | -------- | 233| devId | 表示设备ID。 | 234| x | 表示硬光标的横坐标。 | 235| y | 表示硬光标的纵坐标。 | 236 237**返回:** 238 2390 表示执行成功。 240 241其他值表示执行失败,具体错误码查看[DispErrCode](_display_v10.md#disperrcode)。 242