1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#ifndef OHOS_HDI_DISPLAY_COMPOSER_V1_0_DISPLAYCOMPOSERTYPE_H
17#define OHOS_HDI_DISPLAY_COMPOSER_V1_0_DISPLAYCOMPOSERTYPE_H
18
19#include <cstdbool>
20#include <cstdint>
21#include <string>
22#include <vector>
23#include "hdifd_parcelable.h"
24
25#ifndef HDI_BUFF_MAX_SIZE
26#define HDI_BUFF_MAX_SIZE (1024 * 200)
27#endif
28
29#ifndef HDI_CHECK_VALUE_RETURN
30#define HDI_CHECK_VALUE_RETURN(lv, compare, rv, ret) do { \
31    if ((lv) compare (rv)) { \
32        return ret; \
33    } \
34} while (false)
35#endif
36
37#ifndef HDI_CHECK_VALUE_RET_GOTO
38#define HDI_CHECK_VALUE_RET_GOTO(lv, compare, rv, ret, value, table) do { \
39    if ((lv) compare (rv)) { \
40        ret = value; \
41        goto table; \
42    } \
43} while (false)
44#endif
45
46namespace OHOS {
47class MessageParcel;
48}
49
50namespace OHOS {
51namespace HDI {
52namespace Display {
53namespace Composer {
54namespace V1_0 {
55
56using namespace OHOS;
57using namespace OHOS::HDI::Display;
58
59enum DispCmd : int32_t {
60    REQUEST_CMD_PREPARE_DISPLAY_LAYERS = 64,
61    REQUEST_CMD_SET_DISPLAY_CLIENT_BUFFER = 65,
62    REQUEST_CMD_SET_DISPLAY_CLIENT_DAMAGE = 66,
63    REQUEST_CMD_COMMIT = 67,
64    REQUEST_CMD_SET_LAYER_ALPHA = 68,
65    REQUEST_CMD_SET_LAYER_REGION = 69,
66    REQUEST_CMD_SET_LAYER_CROP = 70,
67    REQUEST_CMD_SET_LAYER_ZORDER = 71,
68    REQUEST_CMD_SET_LAYER_PREMULTI = 72,
69    REQUEST_CMD_SET_LAYER_TRANSFORM_MODE = 73,
70    REQUEST_CMD_SET_LAYER_DIRTY_REGION = 74,
71    REQUEST_CMD_SET_LAYER_VISIBLE_REGION = 75,
72    REQUEST_CMD_SET_LAYER_BUFFER = 76,
73    REQUEST_CMD_SET_LAYER_COMPOSITION_TYPE = 77,
74    REQUEST_CMD_SET_LAYER_BLEND_TYPE = 78,
75    REQUEST_CMD_SET_LAYER_VISIBLE = 79,
76    REQUEST_CMD_SET_LAYER_MASK_INFO = 80,
77    REQUEST_CMD_SET_LAYER_COLOR = 81,
78    REQUEST_CMD_BUTT,
79    REPLY_CMD_SET_ERROR = 512,
80    REPLY_CMD_PREPARE_DISPLAY_LAYERS = 513,
81    REPLY_CMD_COMMIT = 514,
82    REPLY_CMD_BUTT,
83    CONTROL_CMD_REQUEST_BEGIN = 1024,
84    CONTROL_CMD_REPLY_BEGIN = 1025,
85    CONTROL_CMD_REQUEST_END = 1026,
86    CONTROL_CMD_REPLY_END = 1027,
87    CONTROL_CMD_BUTT,
88};
89
90enum DispErrCode : int32_t {
91    DISPLAY_SUCCESS = 0,
92    DISPLAY_FAILURE = -1,
93    DISPLAY_FD_ERR = -2,
94    DISPLAY_PARAM_ERR = -3,
95    DISPLAY_NULL_PTR = -4,
96    DISPLAY_NOT_SUPPORT = -5,
97    DISPLAY_NOMEM = -6,
98    DISPLAY_SYS_BUSY = -7,
99    DISPLAY_NOT_PERM = -8,
100};
101
102enum PixelFormat : int32_t {
103    PIXEL_FMT_CLUT8 = 0,
104    PIXEL_FMT_CLUT1,
105    PIXEL_FMT_CLUT4,
106    PIXEL_FMT_RGB_565,
107    PIXEL_FMT_RGBA_5658,
108    PIXEL_FMT_RGBX_4444,
109    PIXEL_FMT_RGBA_4444,
110    PIXEL_FMT_RGB_444,
111    PIXEL_FMT_RGBX_5551,
112    PIXEL_FMT_RGBA_5551,
113    PIXEL_FMT_RGB_555,
114    PIXEL_FMT_RGBX_8888,
115    PIXEL_FMT_RGBA_8888,
116    PIXEL_FMT_RGB_888,
117    PIXEL_FMT_BGR_565,
118    PIXEL_FMT_BGRX_4444,
119    PIXEL_FMT_BGRA_4444,
120    PIXEL_FMT_BGRX_5551,
121    PIXEL_FMT_BGRA_5551,
122    PIXEL_FMT_BGRX_8888,
123    PIXEL_FMT_BGRA_8888,
124    PIXEL_FMT_YUV_422_I,
125    PIXEL_FMT_YCBCR_422_SP,
126    PIXEL_FMT_YCRCB_422_SP,
127    PIXEL_FMT_YCBCR_420_SP,
128    PIXEL_FMT_YCRCB_420_SP,
129    PIXEL_FMT_YCBCR_422_P,
130    PIXEL_FMT_YCRCB_422_P,
131    PIXEL_FMT_YCBCR_420_P,
132    PIXEL_FMT_YCRCB_420_P,
133    PIXEL_FMT_YUYV_422_PKG,
134    PIXEL_FMT_UYVY_422_PKG,
135    PIXEL_FMT_YVYU_422_PKG,
136    PIXEL_FMT_VYUY_422_PKG,
137    PIXEL_FMT_RGBA_1010102,
138    PIXEL_FMT_VENDER_MASK = 0X7FFF0000,
139    PIXEL_FMT_BUTT = 0X7FFFFFFF,
140};
141
142enum BufferUsage : uint64_t {
143    HBM_USE_CPU_READ = (1ULL << 0),
144    HBM_USE_CPU_WRITE = (1ULL << 1),
145    HBM_USE_MEM_MMZ = (1ULL << 2),
146    HBM_USE_MEM_DMA = (1ULL << 3),
147    HBM_USE_MEM_SHARE = (1ULL << 4),
148    HBM_USE_MEM_MMZ_CACHE = (1ULL << 5),
149    HBM_USE_MEM_FB = (1ULL << 6),
150    HBM_USE_ASSIGN_SIZE = (1ULL << 7),
151    HBM_USE_HW_RENDER = (1ULL << 8),
152    HBM_USE_HW_TEXTURE = (1ULL << 9),
153    HBM_USE_HW_COMPOSER = (1ULL << 10),
154    HBM_USE_PROTECTED = (1ULL << 11),
155    HBM_USE_CAMERA_READ = (1ULL << 12),
156    HBM_USE_CAMERA_WRITE = (1ULL << 13),
157    HBM_USE_VIDEO_ENCODER = (1ULL << 14),
158    HBM_USE_VIDEO_DECODER = (1ULL << 15),
159    HBM_USE_CPU_READ_OFTEN = (1ULL << 16),
160    HBM_USE_VENDOR_PRI0 = (1ULL << 44),
161    HBM_USE_VENDOR_PRI1 = (1ULL << 45),
162    HBM_USE_VENDOR_PRI2 = (1ULL << 46),
163    HBM_USE_VENDOR_PRI3 = (1ULL << 47),
164    HBM_USE_VENDOR_PRI4 = (1ULL << 48),
165    HBM_USE_VENDOR_PRI5 = (1ULL << 49),
166    HBM_USE_VENDOR_PRI6 = (1ULL << 50),
167    HBM_USE_VENDOR_PRI7 = (1ULL << 51),
168    HBM_USE_VENDOR_PRI8 = (1ULL << 52),
169    HBM_USE_VENDOR_PRI9 = (1ULL << 53),
170    HBM_USE_VENDOR_PRI10 = (1ULL << 54),
171    HBM_USE_VENDOR_PRI11 = (1ULL << 55),
172    HBM_USE_VENDOR_PRI12 = (1ULL << 56),
173    HBM_USE_VENDOR_PRI13 = (1ULL << 57),
174    HBM_USE_VENDOR_PRI14 = (1ULL << 58),
175    HBM_USE_VENDOR_PRI15 = (1ULL << 59),
176    HBM_USE_VENDOR_PRI16 = (1ULL << 60),
177    HBM_USE_VENDOR_PRI17 = (1ULL << 61),
178    HBM_USE_VENDOR_PRI18 = (1ULL << 62),
179    HBM_USE_VENDOR_PRI19 = (1ULL << 63),
180};
181
182enum TransformType : int32_t {
183    ROTATE_NONE = 0,
184    ROTATE_90,
185    ROTATE_180,
186    ROTATE_270,
187    MIRROR_H,
188    MIRROR_V,
189    MIRROR_H_ROTATE_90,
190    MIRROR_V_ROTATE_90,
191    ROTATE_BUTT,
192};
193
194enum DispPowerStatus : int32_t {
195    POWER_STATUS_ON = 0,
196    POWER_STATUS_STANDBY = 1,
197    POWER_STATUS_SUSPEND = 2,
198    POWER_STATUS_OFF = 3,
199    POWER_STATUS_BUTT,
200};
201
202enum CompositionType : int32_t {
203    COMPOSITION_CLIENT,
204    COMPOSITION_DEVICE,
205    COMPOSITION_CURSOR,
206    COMPOSITION_VIDEO,
207    COMPOSITION_DEVICE_CLEAR,
208    COMPOSITION_CLIENT_CLEAR,
209    COMPOSITION_TUNNEL,
210    COMPOSITION_BUTT,
211};
212
213enum LayerType : int32_t {
214    LAYER_TYPE_GRAPHIC,
215    LAYER_TYPE_OVERLAY,
216    LAYER_TYPE_SDIEBAND,
217    LAYER_TYPE_CURSOR,
218    LAYER_TYPE_BUTT,
219};
220
221enum BlendType : int32_t {
222    BLEND_NONE = 0,
223    BLEND_CLEAR,
224    BLEND_SRC,
225    BLEND_SRCOVER,
226    BLEND_DSTOVER,
227    BLEND_SRCIN,
228    BLEND_DSTIN,
229    BLEND_SRCOUT,
230    BLEND_DSTOUT,
231    BLEND_SRCATOP,
232    BLEND_DSTATOP,
233    BLEND_ADD,
234    BLEND_XOR,
235    BLEND_DST,
236    BLEND_AKS,
237    BLEND_AKD,
238    BLEND_BUTT,
239};
240
241enum RopType : int32_t {
242    ROP_BLACK = 0,
243    ROP_NOTMERGEPEN,
244    ROP_MASKNOTPEN,
245    ROP_NOTCOPYPEN,
246    ROP_MASKPENNOT,
247    ROP_NOT,
248    ROP_XORPEN,
249    ROP_NOTMASKPEN,
250    ROP_MASKPEN,
251    ROP_NOTXORPEN,
252    ROP_NOP,
253    ROP_MERGENOTPEN,
254    ROP_COPYPE,
255    ROP_MERGEPENNOT,
256    ROP_MERGEPEN,
257    ROP_WHITE,
258    ROP_BUTT,
259};
260
261enum ColorKey : int32_t {
262    CKEY_NONE = 0,
263    CKEY_SRC,
264    CKEY_DST,
265    CKEY_BUTT,
266};
267
268enum MirrorType : int32_t {
269    MIRROR_NONE = 0,
270    MIRROR_LR,
271    MIRROR_TB,
272    MIRROR_BUTT,
273};
274
275enum Connection : int32_t {
276    CON_INVALID = 0,
277    CONNECTED,
278    DISCONNECTED,
279};
280
281enum InterfaceType : int32_t {
282    DISP_INTF_HDMI = 0,
283    DISP_INTF_LCD,
284    DISP_INTF_BT1120,
285    DISP_INTF_BT656,
286    DISP_INTF_YPBPR,
287    DISP_INTF_RGB,
288    DISP_INTF_CVBS,
289    DISP_INTF_SVIDEO,
290    DISP_INTF_VGA,
291    DISP_INTF_MIPI,
292    DISP_INTF_PANEL,
293    DISP_INTF_BUTT,
294};
295
296struct PropertyObject {
297    std::string name;
298    uint32_t propId;
299    uint64_t value;
300};
301
302struct DisplayCapability {
303    std::string name;
304    OHOS::HDI::Display::Composer::V1_0::InterfaceType type;
305    uint32_t phyWidth;
306    uint32_t phyHeight;
307    uint32_t supportLayers;
308    uint32_t virtualDispCount;
309    bool supportWriteBack;
310    uint32_t propertyCount;
311    std::vector<OHOS::HDI::Display::Composer::V1_0::PropertyObject> props;
312};
313
314struct DisplayModeInfo {
315    int32_t width;
316    int32_t height;
317    uint32_t freshRate;
318    int32_t id;
319} __attribute__ ((aligned(8)));
320
321struct LayerInfo {
322    int32_t width;
323    int32_t height;
324    OHOS::HDI::Display::Composer::V1_0::LayerType type;
325    int32_t bpp;
326    OHOS::HDI::Display::Composer::V1_0::PixelFormat pixFormat;
327} __attribute__ ((aligned(8)));
328
329struct LayerAlpha {
330    bool enGlobalAlpha;
331    bool enPixelAlpha;
332    uint8_t alpha0;
333    uint8_t alpha1;
334    uint8_t gAlpha;
335} __attribute__ ((aligned(8)));
336
337struct IRect {
338    int32_t x;
339    int32_t y;
340    int32_t w;
341    int32_t h;
342} __attribute__ ((aligned(8)));
343
344struct ISurface {
345    uint64_t phyAddr;
346    int32_t height;
347    int32_t width;
348    int32_t stride;
349    OHOS::HDI::Display::Composer::V1_0::PixelFormat enColorFmt;
350    bool bYCbCrClut;
351    bool bAlphaMax255;
352    bool bAlphaExt1555;
353    uint8_t alpha0;
354    uint8_t alpha1;
355    uint64_t cbcrPhyAddr;
356    int32_t cbcrStride;
357    uint64_t clutPhyAddr;
358} __attribute__ ((aligned(8)));
359
360struct ILine {
361    int32_t x0;
362    int32_t y0;
363    int32_t x1;
364    int32_t y1;
365    uint32_t color;
366} __attribute__ ((aligned(8)));
367
368struct ICircle {
369    int32_t x;
370    int32_t y;
371    int32_t r;
372    uint32_t color;
373} __attribute__ ((aligned(8)));
374
375struct Rectangle {
376    OHOS::HDI::Display::Composer::V1_0::IRect rect;
377    uint32_t color;
378} __attribute__ ((aligned(8)));
379
380struct GfxOpt {
381    bool enGlobalAlpha;
382    uint32_t globalAlpha;
383    bool enPixelAlpha;
384    OHOS::HDI::Display::Composer::V1_0::BlendType blendType;
385    OHOS::HDI::Display::Composer::V1_0::ColorKey colorKeyFrom;
386    bool enableRop;
387    OHOS::HDI::Display::Composer::V1_0::RopType colorRopType;
388    OHOS::HDI::Display::Composer::V1_0::RopType alphaRopType;
389    bool enableScale;
390    OHOS::HDI::Display::Composer::V1_0::TransformType rotateType;
391    OHOS::HDI::Display::Composer::V1_0::MirrorType mirrorType;
392} __attribute__ ((aligned(8)));
393
394enum ColorGamut : int32_t {
395    COLOR_GAMUT_INVALID = -1,
396    COLOR_GAMUT_NATIVE = 0,
397    COLOR_GAMUT_STANDARD_BT601 = 1,
398    COLOR_GAMUT_STANDARD_BT709 = 2,
399    COLOR_GAMUT_DCI_P3 = 3,
400    COLOR_GAMUT_SRGB = 4,
401    COLOR_GAMUT_ADOBE_RGB = 5,
402    COLOR_GAMUT_DISPLAY_P3 = 6,
403    COLOR_GAMUT_BT2020 = 7,
404    COLOR_GAMUT_BT2100_PQ = 8,
405    COLOR_GAMUT_BT2100_HLG = 9,
406    COLOR_GAMUT_DISPLAY_BT2020 = 10,
407};
408
409enum GamutMap : int32_t {
410    GAMUT_MAP_CONSTANT = 0,
411    GAMUT_MAP_EXPANSION = 1,
412    GAMUT_MAP_HDR_CONSTANT = 2,
413    GAMUT_MAP_HDR_EXPANSION = 3,
414};
415
416enum ColorDataSpace : int32_t {
417    COLOR_DATA_SPACE_UNKNOWN = 0,
418    GAMUT_BT601 = 0x00000001,
419    GAMUT_BT709 = 0x00000002,
420    GAMUT_DCI_P3 = 0x00000003,
421    GAMUT_SRGB = 0x00000004,
422    GAMUT_ADOBE_RGB = 0x00000005,
423    GAMUT_DISPLAY_P3 = 0x00000006,
424    GAMUT_BT2020 = 0x00000007,
425    GAMUT_BT2100_PQ = 0x00000008,
426    GAMUT_BT2100_HLG = 0x00000009,
427    GAMUT_DISPLAY_BT2020 = 0x0000000a,
428    TRANSFORM_FUNC_UNSPECIFIED = 0x00000100,
429    TRANSFORM_FUNC_LINEAR = 0x00000200,
430    TRANSFORM_FUNC_SRGB = 0x00000300,
431    TRANSFORM_FUNC_SMPTE_170M = 0x00000400,
432    TRANSFORM_FUNC_GM2_2 = 0x00000500,
433    TRANSFORM_FUNC_GM2_6 = 0x00000600,
434    TRANSFORM_FUNC_GM2_8 = 0x00000700,
435    TRANSFORM_FUNC_ST2084 = 0x00000800,
436    TRANSFORM_FUNC_HLG = 0x00000900,
437    PRECISION_UNSPECIFIED = 0x00010000,
438    PRECISION_FULL = 0x00020000,
439    PRESION_LIMITED = 0x00030000,
440    PRESION_EXTENDED = 0x00040000,
441    BT601_SMPTE170M_FULL = 1 | 1024 | 131072,
442    BT601_SMPTE170M_LIMITED = 1 | 1024 | 196608,
443    BT709_LINEAR_FULL = 2 | 512 | 131072,
444    BT709_LINEAR_EXTENDED = 2 | 512 | 262144,
445    BT709_SRGB_FULL = 2 | 768 | 131072,
446    BT709_SRGB_EXTENDED = 2 | 768 | 262144,
447    BT709_SMPTE170M_LIMITED = 2 | 1024 | 196608,
448    DCI_P3_LINEAR_FULL = 3 | 512 | 131072,
449    DCI_P3_GAMMA26_FULL = 3 | 1536 | 131072,
450    DISPLAY_P3_LINEAR_FULL = 6 | 512 | 131072,
451    DCI_P3_SRGB_FULL = 3 | 768 | 131072,
452    ADOBE_RGB_GAMMA22_FULL = 5 | 1280 | 131072,
453    BT2020_LINEAR_FULL = 7 | 512 | 131072,
454    BT2020_SRGB_FULL = 7 | 768 | 131072,
455    BT2020_SMPTE170M_FULL = 7 | 1024 | 131072,
456    BT2020_ST2084_FULL = 7 | 2048 | 131072,
457    BT2020_HLG_FULL = 7 | 2304 | 131072,
458    BT2020_ST2084_LIMITED = 7 | 2048 | 196608,
459};
460
461enum HDRFormat : int32_t {
462    NOT_SUPPORT_HDR = 0,
463    DOLBY_VISION = 1,
464    HDR10 = 2,
465    HLG = 3,
466    HDR10_PLUS = 4,
467    HDR_VIVID = 5,
468};
469
470struct HDRCapability {
471    uint32_t formatCount;
472    std::vector<OHOS::HDI::Display::Composer::V1_0::HDRFormat> formats;
473    float maxLum;
474    float maxAverageLum;
475    float minLum;
476};
477
478enum HDRMetadataKey : int32_t {
479    MATAKEY_RED_PRIMARY_X = 0,
480    MATAKEY_RED_PRIMARY_Y = 1,
481    MATAKEY_GREEN_PRIMARY_X = 2,
482    MATAKEY_GREEN_PRIMARY_Y = 3,
483    MATAKEY_BLUE_PRIMARY_X = 4,
484    MATAKEY_BLUE_PRIMARY_Y = 5,
485    MATAKEY_WHITE_PRIMARY_X = 6,
486    MATAKEY_WHITE_PRIMARY_Y = 7,
487    MATAKEY_MAX_LUMINANCE = 8,
488    MATAKEY_MIN_LUMINANCE = 9,
489    MATAKEY_MAX_CONTENT_LIGHT_LEVEL = 10,
490    MATAKEY_MAX_FRAME_AVERAGE_LIGHT_LEVEL = 11,
491    MATAKEY_HDR10_PLUS = 12,
492    MATAKEY_HDR_VIVID = 13,
493};
494
495struct HDRMetaData {
496    OHOS::HDI::Display::Composer::V1_0::HDRMetadataKey key;
497    float value;
498} __attribute__ ((aligned(8)));
499
500enum PresentTimestampType : int32_t {
501    HARDWARE_DISPLAY_PTS_UNSUPPORTED = 0,
502    HARDWARE_DISPLAY_PTS_DELAY = 1 << 0,
503    HARDWARE_DISPLAY_PTS_TIMESTAMP = 1 << 1,
504};
505
506enum MaskInfo : int32_t {
507    LAYER_NORAML = 0,
508    LAYER_HBM_SYNC = 1,
509};
510
511struct PresentTimestamp {
512    OHOS::HDI::Display::Composer::V1_0::PresentTimestampType type;
513    int64_t time;
514} __attribute__ ((aligned(8)));
515
516struct ExtDataHandle {
517    int32_t fd;
518    uint32_t reserveInts;
519    std::vector<int32_t> reserve;
520};
521
522struct YUVDescInfo {
523    uint64_t baseAddr;
524    uint32_t yOffset;
525    uint32_t uOffset;
526    uint32_t vOffset;
527    uint32_t yStride;
528    uint32_t uvStride;
529    uint32_t uvStep;
530} __attribute__ ((aligned(8)));
531
532struct HdifdInfo {
533    int32_t id;
534    sptr<OHOS::HDI::Display::HdifdParcelable> hdiFd;
535};
536
537struct LayerColor {
538    uint8_t r;
539    uint8_t g;
540    uint8_t b;
541    uint8_t a;
542} __attribute__ ((aligned(8)));
543
544bool PropertyObjectBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::PropertyObject& dataBlock);
545
546bool PropertyObjectBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::PropertyObject& dataBlock);
547
548bool DisplayCapabilityBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::DisplayCapability& dataBlock);
549
550bool DisplayCapabilityBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::DisplayCapability& dataBlock);
551
552bool DisplayModeInfoBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::DisplayModeInfo& dataBlock);
553
554bool DisplayModeInfoBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::DisplayModeInfo& dataBlock);
555
556bool LayerInfoBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::LayerInfo& dataBlock);
557
558bool LayerInfoBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::LayerInfo& dataBlock);
559
560bool LayerAlphaBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::LayerAlpha& dataBlock);
561
562bool LayerAlphaBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::LayerAlpha& dataBlock);
563
564bool IRectBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::IRect& dataBlock);
565
566bool IRectBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::IRect& dataBlock);
567
568bool ISurfaceBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::ISurface& dataBlock);
569
570bool ISurfaceBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::ISurface& dataBlock);
571
572bool ILineBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::ILine& dataBlock);
573
574bool ILineBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::ILine& dataBlock);
575
576bool ICircleBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::ICircle& dataBlock);
577
578bool ICircleBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::ICircle& dataBlock);
579
580bool RectangleBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::Rectangle& dataBlock);
581
582bool RectangleBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::Rectangle& dataBlock);
583
584bool GfxOptBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::GfxOpt& dataBlock);
585
586bool GfxOptBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::GfxOpt& dataBlock);
587
588bool HDRCapabilityBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::HDRCapability& dataBlock);
589
590bool HDRCapabilityBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::HDRCapability& dataBlock);
591
592bool HDRMetaDataBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::HDRMetaData& dataBlock);
593
594bool HDRMetaDataBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::HDRMetaData& dataBlock);
595
596bool PresentTimestampBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::PresentTimestamp& dataBlock);
597
598bool PresentTimestampBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::PresentTimestamp& dataBlock);
599
600bool ExtDataHandleBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::ExtDataHandle& dataBlock);
601
602bool ExtDataHandleBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::ExtDataHandle& dataBlock);
603
604bool YUVDescInfoBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::YUVDescInfo& dataBlock);
605
606bool YUVDescInfoBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::YUVDescInfo& dataBlock);
607
608bool HdifdInfoBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::HdifdInfo& dataBlock);
609
610bool HdifdInfoBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::HdifdInfo& dataBlock);
611
612bool LayerColorBlockMarshalling(OHOS::MessageParcel &data, const OHOS::HDI::Display::Composer::V1_0::LayerColor& dataBlock);
613
614bool LayerColorBlockUnmarshalling(OHOS::MessageParcel &data, OHOS::HDI::Display::Composer::V1_0::LayerColor& dataBlock);
615
616} // V1_0
617} // Composer
618} // Display
619} // HDI
620} // OHOS
621
622#endif // OHOS_HDI_DISPLAY_COMPOSER_V1_0_DISPLAYCOMPOSERTYPE_H
623
624