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