• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# LayerFuncs
2
3
4## **概述**
5
6显示图层驱动接口结构体,定义显示图层驱动接口函数指针。
7
8**相关模块:**
9
10[Display](_display.md)
11
12
13## **汇总**
14
15
16### Public 属性
17
18  | 名称 | 描述 |
19| -------- | -------- |
20| ([InitDisplay](#initdisplay))(uint32_t devId) | 初始化显示设备。 |
21| ([DeinitDisplay](#deinitdisplay))(uint32_t devId) | 取消初始化显示设备。 |
22| ([GetDisplayInfo](#getdisplayinfo))(uint32_t devId, DisplayInfo \*dispInfo) | 获取显示设备相关信息。 |
23| ([CreateLayer](#createlayer))(uint32_t devId, const LayerInfo \*layerInfo, uint32_t \*layerId) | 打开图层。 |
24| ([CloseLayer](#closelayer))(uint32_t devId, uint32_t layerId) | 关闭图层。 |
25| ([SetLayerVisible](#setlayervisible))(uint32_t devId, uint32_t layerId, bool visible) | 设置图层是否可见。 |
26| ([GetLayerVisibleState](#getlayervisiblestate))(uint32_t devId, uint32_t layerId, bool \*visible) | 获取图层是否可见状态。 |
27| ([SetLayerSize](#setlayersize))(uint32_t devId, uint32_t layerId, IRect \*rect) | 设置图层大小。 |
28| ([GetLayerSize](#getlayersize))(uint32_t devId, uint32_t layerId, IRect \*rect) | 获取图层大小。 |
29| ([SetLayerCrop](#setlayercrop))(uint32_t devId, uint32_t layerId, IRect \*rect) | 设置图层裁剪区域。 |
30| ([SetLayerZorder](#setlayerzorder))(uint32_t devId, uint32_t layerId, uint32_t zorder) | 设置图层Z轴次序。 |
31| ([GetLayerZorder](#getlayerzorder))(uint32_t devId, uint32_t layerId, uint32_t \*zorder) | 获取图层Z轴次序。 |
32| ([SetLayerPreMulti](#setlayerpremulti))(uint32_t devId, uint32_t layerId, bool preMul) | 设置图层预乘。 |
33| ([GetLayerPreMulti](#getlayerpremulti))(uint32_t devId, uint32_t layerId, bool \*preMul) | 获取图层预乘标识。 |
34| ([SetLayerAlpha](#setlayeralpha))(uint32_t devId, uint32_t layerId, LayerAlpha \*alpha) | 设置图层Alpha值。 |
35| ([GetLayerAlpha](#getlayeralpha))(uint32_t devId, uint32_t layerId, LayerAlpha \*alpha) | 获取图层Alpha值。 |
36| ([SetLayerColorKey](#setlayercolorkey))(uint32_t devId, uint32_t layerId, bool enable, uint32_t key) | 设置图层colorkey属性,在图层叠加时使用。 |
37| ([GetLayerColorKey](#getlayercolorkey))(uint32_t devId, uint32_t layerId, bool \*enable, uint32_t \*key) | 获取图层colorkey。 |
38| ([SetLayerPalette](#setlayerpalette))(uint32_t devId, uint32_t layerId, uint32_t \*palette, uint32_t len) | 设置图层调色板。 |
39| ([GetLayerPalette](#getlayerpalette))(uint32_t devId, uint32_t layerId, uint32_t \*palette, uint32_t len) | 获取图层调色板。 |
40| ([SetTransformMode](#settransformmode))(uint32_t devId, uint32_t layerId, TransformType type) | 设置图层变换模式,根据不同的场景设置图层的旋转、缩放、移位等。 |
41| ([SetLayerCompression](#setlayercompression))(uint32_t devId, uint32_t layerId, int32_t compType) | 设置图层压缩功能。 |
42| ([GetLayerCompression](#getlayercompression))(uint32_t devId, uint32_t layerId, int32_t \*compType) | 获取图层压缩功能是否打开。 |
43| ([SetLayerDirtyRegion](#setlayerdirtyregion))(uint32_t devId, uint32_t layerId, IRect \*region) | 设置图层刷新区域。 |
44| ([GetLayerBuffer](#getlayerbuffer))(uint32_t devId, uint32_t layerId, LayerBuffer \*buffer) | 获取图层的buffer。 |
45| ([Flush](#flush))(uint32_t devId, uint32_t layerId, LayerBuffer \*buffer) | 刷新图层。 |
46| ([WaitForVBlank](#waitforvblank))(uint32_t devId, uint32_t layerId, int32_t timeOut) | 实现等待帧消隐期到来功能。 |
47| ([SnapShot](#snapshot))(uint32_t devId, LayerBuffer \*buffer) | 实现抓图功能。 |
48| ([SetLayerVisibleRegion](#setlayervisibleregion))(uint32_t devId, uint32_t layerId, uint32_t num, IRect \*rect) | 设置一个图层的可见区域。 |
49| ([SetLayerBuffer](#setlayerbuffer))(uint32_t devId, uint32_t layerId, const BufferHandle \*buffer, int32_t fence) | 设置一个层的缓冲区。 |
50| ([InvokeLayerCmd](#invokelayercmd))(uint32_t devId, uint32_t layerId, uint32_t cmd,...) | 扩展接口。 |
51| ([SetLayerCompositionType](#setlayercompositiontype))(uint32_t devId, uint32_t layerId, CompositionType type) | 设置客户端期望的组合类型。 |
52| ([SetLayerBlendType](#setlayerblendtype))(uint32_t devId, uint32_t layerId, BlendType type) | 设置混合类型。 |
53| ([SetLayerColorTransform](#setlayercolortransform))(uint32_t devId, uint32_t layerId, const float \*matrix) | 设置图层当前的颜色转换矩阵。 |
54| ([SetLayerColorDataSpace](#setlayercolordataspace))(uint32_t devId, uint32_t layerId, ColorDataSpace colorSpace) | 设置图层的颜色数据空间。 |
55| ([GetLayerColorDataSpace](#getlayercolordataspace))(uint32_t devId, uint32_t layerId, ColorDataSpace \*colorSpace) | 获取图层当前的颜色数据空间。 |
56| ([SetLayerMetaData](#setlayermetadata))(uint32_t devId, uint32_t layerId, uint32_t num, const HDRMetaData \*metaData) | 设置图层的HDRmetaData。 |
57| ([SetLayerMetaDataSet](#setlayermetadataset))(uint32_t devId, uint32_t layerId, HDRMetadataKey key, uint32_t num, const uint8_t \*metaData) | 设置图层的metaData set。 |
58| ([GetSupportedPresentTimestamp](#getsupportedpresenttimestamp))(uint32_t devId, uint32_t layerId, PresentTimestampType \*type) | 获取图层支持的上屏时间戳类型。 |
59| ([GetHwPresentTimestamp](#gethwpresenttimestamp))(uint32_t devId, uint32_t layerId, PresentTimestamp \*pts) | 获取图层的上屏时间戳信息。 |
60| ([SetLayerTunnelHandle](#setlayertunnelhandle))(uint32_t devId, uint32_t layerId, ExtDataHandle \*handle) | 设置图层的tunnel句柄。 |
61| ([GetLayerReleaseFence](#getlayerreleasefence))(uint32_t devId, uint32_t layerId, int32_t \*fence) | 获取图层的同步栅栏。 |
62
63
64## **类成员变量说明**
65
66
67### CloseLayer
68
69
70```
71int32_t(* LayerFuncs::CloseLayer) (uint32_t devId, uint32_t layerId)
72```
73
74**描述:**
75
76关闭图层。
77
78在完成显示后,如果不在需要使用图层,调用关闭图层接口关闭图层。
79
80**参数:**
81
82  | 名称 | 描述 |
83| -------- | -------- |
84| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
85| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
86
87**返回:**
88
89DISPLAY_SUCCESS 表示执行成功。
90
91其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
92
93**参见:**
94
95[CreateLayer](#createlayer)
96
97
98### CreateLayer
99
100
101```
102int32_t(* LayerFuncs::CreateLayer) (uint32_t devId, const LayerInfo *layerInfo, uint32_t *layerId)
103```
104
105**描述:**
106
107打开图层。
108
109GUI在使用图层时,需要先根据图层信息打开图层,打开图层成功可获得图层ID,根据图层ID使用图层各接口。
110
111**参数:**
112
113  | 名称 | 描述 |
114| -------- | -------- |
115| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
116| layerInfo | 输入参数,图层信息,上层GUI打开图层时需传递图层信息,包括图层类型,图层大小,像素格式等信息。 |
117| layerId | 输入参数,图层ID,打开图层成功后返回给GUI的图层ID,用于标识唯一的图层。 |
118
119**返回:**
120
121DISPLAY_SUCCESS 表示执行成功。
122
123其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
124
125**参见:**
126
127[CloseLayer](#closelayer)
128
129
130### DeinitDisplay
131
132
133```
134int32_t(* LayerFuncs::DeinitDisplay) (uint32_t devId)
135```
136
137**描述:**
138
139取消初始化显示设备。
140
141**参数:**
142
143  | 名称 | 描述 |
144| -------- | -------- |
145| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
146
147**返回:**
148
149DISPLAY_SUCCESS 表示执行成功。
150
151其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
152
153**参见:**
154
155[InitDisplay](#initdisplay)
156
157
158### Flush
159
160
161```
162int32_t(* LayerFuncs::Flush) (uint32_t devId, uint32_t layerId, LayerBuffer *buffer)
163```
164
165**描述:**
166
167刷新图层。
168
169将buffer显示数据刷新到指定的layerId图层上,实现图像数据显示到屏幕上。
170
171**参数:**
172
173  | 名称 | 描述 |
174| -------- | -------- |
175| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
176| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
177| buffer | 输出参数,待刷新的buffer。 |
178
179**返回:**
180
181DISPLAY_SUCCESS 表示执行成功。
182
183其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
184
185
186### GetDisplayInfo
187
188
189```
190int32_t(* LayerFuncs::GetDisplayInfo) (uint32_t devId, DisplayInfo *dispInfo)
191```
192
193**描述:**
194
195获取显示设备相关信息。
196
197**参数:**
198
199  | 名称 | 描述 |
200| -------- | -------- |
201| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
202| dispInfo | 输出参数,显示相关信息。 |
203
204**返回:**
205
206DISPLAY_SUCCESS 表示执行成功。
207
208其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
209
210
211### GetHwPresentTimestamp
212
213
214```
215int32_t(* LayerFuncs::GetHwPresentTimestamp) (uint32_t devId, uint32_t layerId, PresentTimestamp *pts)
216```
217
218**描述:**
219
220获取图层的上屏时间戳信息。
221
222**参数:**
223
224  | 名称 | 描述 |
225| -------- | -------- |
226| devId | 输入参数,指示需要操作的设备ID。 |
227| layerId | 输入参数,指示需要操作的图层ID。 |
228| pts | 输出参数,保存图层的上屏时间戳信息, 由接口实现层进行写入。 |
229
230**返回:**
231
232DISPLAY_SUCCESS 表示执行成功。
233
234其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
235
236
237### GetLayerAlpha
238
239
240```
241int32_t(* LayerFuncs::GetLayerAlpha) (uint32_t devId, uint32_t layerId, LayerAlpha *alpha)
242```
243
244**描述:**
245
246获取图层alpha值。
247
248**参数:**
249
250  | 名称 | 描述 |
251| -------- | -------- |
252| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
253| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
254| alpha | 输出参数,保存获取的图层alpha值。 |
255
256**返回:**
257
258DISPLAY_SUCCESS 表示执行成功。
259
260其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
261
262**参见:**
263
264[SetLayerAlpha](#setlayeralpha)
265
266
267### GetLayerBuffer
268
269
270```
271int32_t(* LayerFuncs::GetLayerBuffer) (uint32_t devId, uint32_t layerId, LayerBuffer *buffer)
272```
273
274**描述:**
275
276获取图层的buffer。
277
278向buffer中绘图后,调用Flush接口显示到屏幕上。
279
280**参数:**
281
282  | 名称 | 描述 |
283| -------- | -------- |
284| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
285| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
286| buffer | 输出参数,保存获取的图层buffer。 |
287
288**返回:**
289
290DISPLAY_SUCCESS 表示执行成功。
291
292其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
293
294**参见:**
295
296[Flush](#flush)
297
298
299### GetLayerColorDataSpace
300
301
302```
303int32_t(* LayerFuncs::GetLayerColorDataSpace) (uint32_t devId, uint32_t layerId, ColorDataSpace *colorSpace)
304```
305
306**描述:**
307
308获取图层当前的颜色数据空间。
309
310**参数:**
311
312  | 名称 | 描述 |
313| -------- | -------- |
314| devId | 输入参数,指示需要操作的设备ID。 |
315| layerId | 输入参数,指示需要操作的图层ID。 |
316| colorSpace | 输出参数,保存对应图层的颜色数据空间。 |
317
318**返回:**
319
320DISPLAY_SUCCESS 表示执行成功。
321
322其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
323
324
325### GetLayerColorKey
326
327
328```
329int32_t(* LayerFuncs::GetLayerColorKey) (uint32_t devId, uint32_t layerId, bool *enable, uint32_t *key)
330```
331
332**描述:**
333
334获取图层colorkey。
335
336**参数:**
337
338  | 名称 | 描述 |
339| -------- | -------- |
340| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
341| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
342| enable | 输出参数,保存获取的enable色键使能标识。 |
343| key | 输出参数,保存获取的色键值,即颜色值。 |
344
345**返回:**
346
347DISPLAY_SUCCESS 表示执行成功。
348
349其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
350
351**参见:**
352
353[SetLayerColorKey](#setlayercolorkey)
354
355
356### GetLayerCompression
357
358
359```
360int32_t(* LayerFuncs::GetLayerCompression) (uint32_t devId, uint32_t layerId, int32_t *compType)
361```
362
363**描述:**
364
365获取图层压缩功能是否打开。
366
367**参数:**
368
369  | 名称 | 描述 |
370| -------- | -------- |
371| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
372| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
373| compType | 输出参数,保存获取的图层压缩功能状态。 |
374
375**返回:**
376
377DISPLAY_SUCCESS 表示执行成功。
378
379其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
380
381**参见:**
382
383[SetLayerCompression](#setlayercompression)
384
385
386### GetLayerPalette
387
388
389```
390int32_t(* LayerFuncs::GetLayerPalette) (uint32_t devId, uint32_t layerId, uint32_t *palette, uint32_t len)
391```
392
393**描述:**
394
395获取图层调色板。
396
397**参数:**
398
399  | 名称 | 描述 |
400| -------- | -------- |
401| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
402| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
403| palette | 输出参数,保存获取的图层调色板。 |
404| len | 输入参数,调色板长度。 |
405
406**返回:**
407
408DISPLAY_SUCCESS 表示执行成功。
409
410其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
411
412**参见:**
413
414[SetLayerPalette](#setlayerpalette)
415
416
417### GetLayerPreMulti
418
419
420```
421int32_t(* LayerFuncs::GetLayerPreMulti) (uint32_t devId, uint32_t layerId, bool *preMul)
422```
423
424**描述:**
425
426获取图层预乘标识。
427
428**参数:**
429
430  | 名称 | 描述 |
431| -------- | -------- |
432| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
433| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
434| preMul | 输出参数,保存获取的图层预乘使能标识。 |
435
436**返回:**
437
438DISPLAY_SUCCESS 表示执行成功。
439
440其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
441
442**参见:**
443
444[SetLayerPreMulti](#setlayerpremulti)
445
446
447### GetLayerReleaseFence
448
449
450```
451int32_t(* LayerFuncs::GetLayerReleaseFence) (uint32_t devId, uint32_t layerId, int32_t *fence)
452```
453
454**描述:**
455
456获取图层的同步栅栏。
457
458**参数:**
459
460  | 名称 | 描述 |
461| -------- | -------- |
462| devId | 输入参数,指示需要操作的设备ID。 |
463| layerId | 输入参数,指示需要操作的图层ID。 |
464| fence | 输出参数,保存图层的 release fence, 由接口实现层进行写入。 |
465
466**返回:**
467
468DISPLAY_SUCCESS 表示执行成功。
469
470其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
471
472
473### GetLayerSize
474
475
476```
477int32_t(* LayerFuncs::GetLayerSize) (uint32_t devId, uint32_t layerId, IRect *rect)
478```
479
480**描述:**
481
482获取图层大小。
483
484**参数:**
485
486  | 名称 | 描述 |
487| -------- | -------- |
488| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
489| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
490| rect | 输出参数,保存获取的图层大小。 |
491
492**返回:**
493
494DISPLAY_SUCCESS 表示执行成功。
495
496其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
497
498**参见:**
499
500[SetLayerSize](#setlayersize)
501
502
503### GetLayerVisibleState
504
505
506```
507int32_t(* LayerFuncs::GetLayerVisibleState) (uint32_t devId, uint32_t layerId, bool *visible)
508```
509
510**描述:**
511
512获取图层是否可见状态。
513
514**参数:**
515
516  | 名称 | 描述 |
517| -------- | -------- |
518| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
519| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
520| visible | 输出参数,保存获取的图层可见状态,true表示图层可见,false表示图层不可见。 |
521
522**返回:**
523
524DISPLAY_SUCCESS 表示执行成功。
525
526其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
527
528**参见:**
529
530[SetLayerVisible](#setlayervisible)
531
532
533### GetLayerZorder
534
535
536```
537int32_t(* LayerFuncs::GetLayerZorder) (uint32_t devId, uint32_t layerId, uint32_t *zorder)
538```
539
540**描述:**
541
542获取图层Z轴次序。
543
544**参数:**
545
546  | 名称 | 描述 |
547| -------- | -------- |
548| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
549| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
550| zorder | 输出参数,保存获取的图层Z轴次序,为整数值,取值范围为[0, 255],值越大图层越往上排列。 |
551
552**返回:**
553
554DISPLAY_SUCCESS 表示执行成功。
555
556其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
557
558**参见:**
559
560[SetLayerZorder](#setlayerzorder)
561
562
563### GetSupportedPresentTimestamp
564
565
566```
567int32_t(* LayerFuncs::GetSupportedPresentTimestamp) (uint32_t devId, uint32_t layerId, PresentTimestampType *type)
568```
569
570**描述:**
571
572获取图层支持的上屏时间戳类型。
573
574**参数:**
575
576  | 名称 | 描述 |
577| -------- | -------- |
578| devId | 输入参数,指示需要操作的设备ID。 |
579| layerId | 输入参数,指示需要操作的图层ID。 |
580| type | 输出参数,保存图层支持的上屏时间戳类型, 由接口实现层进行写入。 |
581
582**返回:**
583
584DISPLAY_SUCCESS 表示执行成功。
585
586其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
587
588
589### InitDisplay
590
591
592```
593int32_t(* LayerFuncs::InitDisplay) (uint32_t devId)
594```
595
596**描述:**
597
598初始化显示设备。
599
600**参数:**
601
602  | 名称 | 描述 |
603| -------- | -------- |
604| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
605
606**返回:**
607
608DISPLAY_SUCCESS 表示执行成功。
609
610其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
611
612**参见:**
613
614[DeinitDisplay](#deinitdisplay)
615
616
617### InvokeLayerCmd
618
619
620```
621int32_t(* LayerFuncs::InvokeLayerCmd) (uint32_t devId, uint32_t layerId, uint32_t cmd,...)
622```
623
624**描述:**
625
626扩展接口
627
628**参数:**
629
630  | 名称 | 描述 |
631| -------- | -------- |
632| devId | 输入参数,显示设备的ID。取值范围为0 ~ 4,其中0表示第一个显示设备,4表示最后一个显示设备。 |
633| layerId | 输入参数,层ID,唯一标识一个层。可以对该层进行操作。 |
634| cmd | 输入参数,表示扩展cmd,用于识别不同的意图。 |
635
636**返回:**
637
638DISPLAY_SUCCESS 表示执行成功。
639
640其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
641
642
643### SetLayerAlpha
644
645
646```
647int32_t(* LayerFuncs::SetLayerAlpha) (uint32_t devId, uint32_t layerId, LayerAlpha *alpha)
648```
649
650**描述:**
651
652设置图层alpha值。
653
654**参数:**
655
656  | 名称 | 描述 |
657| -------- | -------- |
658| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
659| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
660| alpha | 输入参数,待设置的图层 alpha 值。 |
661
662**返回:**
663
664DISPLAY_SUCCESS 表示执行成功。
665
666其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
667
668**参见:**
669
670[GetLayerAlpha](#getlayeralpha)
671
672
673### SetLayerBlendType
674
675
676```
677int32_t(* LayerFuncs::SetLayerBlendType) (uint32_t devId, uint32_t layerId, BlendType type)
678```
679
680**描述:**
681
682设置混合类型
683
684**参数:**
685
686  | 名称 | 描述 |
687| -------- | -------- |
688| devId | 输入参数,显示设备的ID。取值范围为0 ~ 4,其中0表示第一个显示设备,4表示最后一个显示设备。 |
689| layerId | 输入参数,层ID,唯一标识一个层。可以对该层进行操作。 |
690| type | 输入参数,指示混合类型。 |
691
692**返回:**
693
694DISPLAY_SUCCESS 表示执行成功。
695
696其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
697
698
699### SetLayerBuffer
700
701
702```
703int32_t(* LayerFuncs::SetLayerBuffer) (uint32_t devId, uint32_t layerId, const BufferHandle *buffer, int32_t fence)
704```
705
706**描述:**
707
708设置一个层的缓冲区。
709
710**参数:**
711
712  | 名称 | 描述 |
713| -------- | -------- |
714| devId | 输入参数,显示设备的ID。取值范围为0 ~ 4,其中0表示第一个显示设备,4表示最后一个显示设备。 |
715| layerId | 输入参数,层ID,唯一标识一个层。可以对该层进行操作。 |
716| buffer | 输入参数,指示缓冲区句柄的指针,该指针包含所有用于合成的缓冲区的所有信息。 |
717| fence | 输入参数,同步文件的fd。 |
718
719**返回:**
720
721DISPLAY_SUCCESS 表示执行成功。
722
723其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
724
725
726### SetLayerColorDataSpace
727
728
729```
730int32_t(* LayerFuncs::SetLayerColorDataSpace) (uint32_t devId, uint32_t layerId, ColorDataSpace colorSpace)
731```
732
733**描述:**
734
735设置图层的颜色数据空间。
736
737**参数:**
738
739  | 名称 | 描述 |
740| -------- | -------- |
741| devId | 输入参数,指示需要操作的设备ID。 |
742| layerId | 输入参数,指示需要操作的图层ID。 |
743| colorSpace | 输入参数,表示需要设置的颜色数据空间。 |
744
745**返回:**
746
747DISPLAY_SUCCESS 表示执行成功。
748
749其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
750
751
752### SetLayerColorKey
753
754
755```
756int32_t(* LayerFuncs::SetLayerColorKey) (uint32_t devId, uint32_t layerId, bool enable, uint32_t key)
757```
758
759**描述:**
760
761设置图层colorkey属性,在图层叠加时使用。
762
763**参数:**
764
765  | 名称 | 描述 |
766| -------- | -------- |
767| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
768| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
769| enable | 输入参数,待设置的色键使能标识。 |
770| key | 输入参数,待设置的色键值,即颜色值。 |
771
772**返回:**
773
774DISPLAY_SUCCESS 表示执行成功。
775
776其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
777
778**参见:**
779
780[GetLayerColorKey](#getlayercolorkey)
781
782
783### SetLayerColorTransform
784
785
786```
787int32_t(* LayerFuncs::SetLayerColorTransform) (uint32_t devId, uint32_t layerId, const float *matrix)
788```
789
790**描述:**
791
792设置图层当前的颜色转换矩阵。
793
794**参数:**
795
796  | 名称 | 描述 |
797| -------- | -------- |
798| devId | 输入参数,指示需要操作的设备ID。 |
799| layerId | 输入参数,指示需要操作的图层ID。 |
800| matrix | 输入参数,表示需要设置的颜色转换模式。 |
801
802**返回:**
803
804DISPLAY_SUCCESS 表示执行成功。
805
806其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
807
808
809### SetLayerCompositionType
810
811
812```
813int32_t(* LayerFuncs::SetLayerCompositionType) (uint32_t devId, uint32_t layerId, CompositionType type)
814```
815
816**描述:**
817
818设置客户端期望的组合类型。
819
820**参数:**
821
822  | 名称 | 描述 |
823| -------- | -------- |
824| devId | 输入参数,显示设备的ID。取值范围为0 ~ 4,其中0表示第一个显示设备,4表示最后一个显示设备。 |
825| layerId | 输入参数,层ID,唯一标识一个层。可以对该层进行操作。 |
826| type | 输入参数,指示客户端期望的组合类型。它可能随实现而变化。 |
827
828**返回:**
829
830DISPLAY_SUCCESS 表示执行成功。
831
832其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
833
834
835### SetLayerCompression
836
837
838```
839int32_t(* LayerFuncs::SetLayerCompression) (uint32_t devId, uint32_t layerId, int32_t compType)
840```
841
842**描述:**
843
844设置图层压缩功能。
845
846在特定场景下,需要对图像数据进行压缩,可设置启动或关闭图层压缩功能。
847
848**参数:**
849
850  | 名称 | 描述 |
851| -------- | -------- |
852| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
853| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
854| compType | 输入参数,图层压缩使能标识。 |
855
856**返回:**
857
858DISPLAY_SUCCESS 表示执行成功。
859
860其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
861
862**参见:**
863
864[GetLayerCompression](#getlayercompression)
865
866
867### SetLayerCrop
868
869
870```
871int32_t(* LayerFuncs::SetLayerCrop) (uint32_t devId, uint32_t layerId, IRect *rect)
872```
873
874**描述:**
875
876设置图层裁剪区域。
877
878**参数:**
879
880  | 名称 | 描述 |
881| -------- | -------- |
882| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
883| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
884| rect | 输入参数,待设置的裁剪区域。 |
885
886**返回:**
887
888DISPLAY_SUCCESS 表示执行成功。
889
890其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
891
892
893### SetLayerDirtyRegion
894
895
896```
897int32_t(* LayerFuncs::SetLayerDirtyRegion) (uint32_t devId, uint32_t layerId, IRect *region)
898```
899
900**描述:**
901
902设置图层刷新区域。
903
904GUI图形系统绘制好图像数据后,在调用Flush接口刷新屏幕之前需要设置图层刷新区域。
905
906**参数:**
907
908  | 名称 | 描述 |
909| -------- | -------- |
910| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
911| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
912| region | 输入参数,待设置的刷新区域。 |
913
914**返回:**
915
916DISPLAY_SUCCESS 表示执行成功。
917
918其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
919
920
921### SetLayerMetaData
922
923
924```
925int32_t(* LayerFuncs::SetLayerMetaData) (uint32_t devId, uint32_t layerId, uint32_t num, const HDRMetaData *metaData)
926```
927
928**描述:**
929
930设置图层的HDRmetaData。
931
932**参数:**
933
934  | 名称 | 描述 |
935| -------- | -------- |
936| devId | 输入参数,指示需要操作的设备ID。 |
937| layerId | 输入参数,指示需要操作的图层ID。 |
938| num | 输入参数,metadata 数组个数。 |
939| metaData | 输入参数,表示需要设置的 metadata 数组首地址。 |
940
941**返回:**
942
943DISPLAY_SUCCESS 表示执行成功。
944
945其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
946
947
948### SetLayerMetaDataSet
949
950
951```
952int32_t(* LayerFuncs::SetLayerMetaDataSet) (uint32_t devId, uint32_t layerId, HDRMetadataKey key, uint32_t num, const uint8_t *metaData)
953```
954
955**描述:**
956
957设置图层的metaData set。
958
959**参数:**
960
961  | 名称 | 描述 |
962| -------- | -------- |
963| devId | 输入参数,指示需要操作的设备ID。 |
964| layerId | 输入参数,指示需要操作的图层ID。 |
965| key | 输入参数,表示需要设置的[HDRMetadataKey](_display.md#hdrmetadatakey)。 |
966| num | 输入参数,metadata 数组个数。 |
967| metaData | 输入参数,表示需要设置的 metadata 数组首地址, 数据类型为uint8_t。 |
968
969**返回:**
970
971DISPLAY_SUCCESS 表示执行成功。
972
973其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
974
975
976### SetLayerPalette
977
978
979```
980int32_t(* LayerFuncs::SetLayerPalette) (uint32_t devId, uint32_t layerId, uint32_t *palette, uint32_t len)
981```
982
983**描述:**
984
985设置图层调色板。
986
987**参数:**
988
989  | 名称 | 描述 |
990| -------- | -------- |
991| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
992| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
993| palette | 输入参数,待设置的图层调色板。 |
994| len | 输入参数,调色板长度。 |
995
996**返回:**
997
998DISPLAY_SUCCESS 表示执行成功。
999
1000其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
1001
1002**参见:**
1003
1004[GetLayerPalette](#getlayerpalette)
1005
1006
1007### SetLayerPreMulti
1008
1009
1010```
1011int32_t(* LayerFuncs::SetLayerPreMulti) (uint32_t devId, uint32_t layerId, bool preMul)
1012```
1013
1014**描述:**
1015
1016设置图层预乘。
1017
1018**参数:**
1019
1020  | 名称 | 描述 |
1021| -------- | -------- |
1022| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
1023| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
1024| preMul | 输入参数,待设置的图层预乘使能标识,1表示使能图层预乘,0表示不使能图层预乘。 |
1025
1026**返回:**
1027
1028DISPLAY_SUCCESS 表示执行成功。
1029
1030其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
1031
1032**参见:**
1033
1034[GetLayerPreMulti](#getlayerpremulti)
1035
1036
1037### SetLayerSize
1038
1039
1040```
1041int32_t(* LayerFuncs::SetLayerSize) (uint32_t devId, uint32_t layerId, IRect *rect)
1042```
1043
1044**描述:**
1045
1046设置图层大小。
1047
1048**参数:**
1049
1050  | 名称 | 描述 |
1051| -------- | -------- |
1052| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
1053| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
1054| rect | 输入参数,待设置的图层大小,单位为像素。 |
1055
1056**返回:**
1057
1058DISPLAY_SUCCESS 表示执行成功。
1059
1060其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
1061
1062**参见:**
1063
1064[GetLayerSize](#getlayersize)
1065
1066
1067### SetLayerTunnelHandle
1068
1069
1070```
1071int32_t(* LayerFuncs::SetLayerTunnelHandle) (uint32_t devId, uint32_t layerId, ExtDataHandle *handle)
1072```
1073
1074**描述:**
1075
1076设置图层的tunnel句柄。
1077
1078**参数:**
1079
1080  | 名称 | 描述 |
1081| -------- | -------- |
1082| devId | 输入参数,指示需要操作的设备ID。 |
1083| layerId | 输入参数,指示需要操作的图层ID。 |
1084| handle | 输入参数,表示需要设置的句柄。 |
1085
1086**返回:**
1087
1088DISPLAY_SUCCESS 表示执行成功。
1089
1090其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
1091
1092
1093### SetLayerVisible
1094
1095
1096```
1097int32_t(* LayerFuncs::SetLayerVisible) (uint32_t devId, uint32_t layerId, bool visible)
1098```
1099
1100**描述:**
1101
1102设置图层是否可见。
1103
1104不可见情况下图层不显示在屏幕上,可见情况下图层显示在屏幕上。
1105
1106**参数:**
1107
1108  | 名称 | 描述 |
1109| -------- | -------- |
1110| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
1111| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
1112| visible | 输入参数,待设置的图层可见标识,设置true表示图层可见,设置false表示图层不可见。 |
1113
1114**返回:**
1115
1116DISPLAY_SUCCESS 表示执行成功。
1117
1118其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
1119
1120**参见:**
1121
1122[GetLayerVisibleState](#getlayervisiblestate)
1123
1124
1125### SetLayerVisibleRegion
1126
1127
1128```
1129int32_t(* LayerFuncs::SetLayerVisibleRegion) (uint32_t devId, uint32_t layerId, uint32_t num, IRect *rect)
1130```
1131
1132**描述:**
1133
1134设置一个图层的可见区域
1135
1136**参数:**
1137
1138  | 名称 | 描述 |
1139| -------- | -------- |
1140| devId | 输入参数,显示设备的ID。取值范围为0 ~ 4,其中0表示第一个显示设备,4表示最后一个显示设备。 |
1141| layerId | 输入参数,层ID,唯一标识一个层。可以对该层进行操作。 |
1142| num | 输入参数,指定rect的计数,该区域包含多个[IRect](_i_rect.md),num表示该区域中有多少个rect区域。 |
1143| rect | 输出参数,rectes对象的指针。 |
1144
1145**返回:**
1146
1147DISPLAY_SUCCESS 表示执行成功。
1148
1149其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
1150
1151
1152### SetLayerZorder
1153
1154
1155```
1156int32_t(* LayerFuncs::SetLayerZorder) (uint32_t devId, uint32_t layerId, uint32_t zorder)
1157```
1158
1159**描述:**
1160
1161设置图层Z轴次序。
1162
1163图层的Z序值越大,图层越靠上显示。
1164
1165**参数:**
1166
1167  | 名称 | 描述 |
1168| -------- | -------- |
1169| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
1170| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
1171| zorder | 输入参数,待设置的图层Z序,为整数值,取值范围为[0, 255],值越大图层越往上排列。 |
1172
1173**返回:**
1174
1175DISPLAY_SUCCESS 表示执行成功。
1176
1177其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
1178
1179**参见:**
1180
1181[GetLayerZorder](#getlayerzorder)
1182
1183
1184### SetTransformMode
1185
1186
1187```
1188int32_t(* LayerFuncs::SetTransformMode) (uint32_t devId, uint32_t layerId, TransformType type)
1189```
1190
1191**描述:**
1192
1193设置图层变换模式,根据不同的场景设置图层的旋转、缩放、移位等。
1194
1195**参数:**
1196
1197  | 名称 | 描述 |
1198| -------- | -------- |
1199| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
1200| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
1201| type | 输入参数,待设置的图层变换模式。 |
1202
1203**返回:**
1204
1205DISPLAY_SUCCESS 表示执行成功。
1206
1207其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
1208
1209
1210### SnapShot
1211
1212
1213```
1214int32_t(* LayerFuncs::SnapShot) (uint32_t devId, LayerBuffer *buffer)
1215```
1216
1217**描述:**
1218
1219实现抓图功能。
1220
1221本函数将显示设备上的图像数据截图保存到buffer中,用于调试、应用截图等场景。
1222
1223otherwise.
1224
1225**参数:**
1226
1227  | 名称 | 描述 |
1228| -------- | -------- |
1229| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
1230| buffer | 输出参数,保存截屏的buffer信息。 |
1231
1232**返回:**
1233
1234DISPLAY_SUCCESS 表示执行成功。
1235
1236其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
1237
1238
1239### WaitForVBlank
1240
1241
1242```
1243int32_t(* LayerFuncs::WaitForVBlank) (uint32_t devId, uint32_t layerId, int32_t timeOut)
1244```
1245
1246**描述:**
1247
1248实现等待帧消隐期到来功能。
1249
1250该函数会让系统等待,直到帧消隐期到来,用于软件和硬件之间的同步。
1251
1252**参数:**
1253
1254  | 名称 | 描述 |
1255| -------- | -------- |
1256| devId | 输入参数,显示设备ID,用于支持多个显示设备,取值从0开始,0表示第一个设备,最大支持5个设备。 |
1257| layerId | 输入参数,图层ID,图层的唯一标识,根据图层ID操作图层。 |
1258| timeOut | 输入参数,超时时间,在设置的超时时间后,没有等到帧消隐期到来则超时返回。 |
1259
1260**返回:**
1261
1262DISPLAY_SUCCESS 表示执行成功。
1263
1264其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
1265