1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=ndk -Weverything -Wno-missing-permission-annotation --structured --version 4 --hash notfrozen -t --stability vintf --min_sdk_version current -pout/soong/.intermediates/hardware/interfaces/graphics/common/aidl/android.hardware.graphics.common_interface/6/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/common/aidl/android.hardware.common_interface/2/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/drm/common/aidl/android.hardware.drm.common_interface/1/preprocessed.aidl --previous_api_dir=hardware/interfaces/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3 --previous_hash d24fcd9648b8b2e7287f9238eee9180244612c10 --ninja -d out/soong/.intermediates/hardware/interfaces/graphics/composer/aidl/android.hardware.graphics.composer3-V4-ndk-source/gen/staging/android/hardware/graphics/composer3/LayerCommand.cpp.d -h out/soong/.intermediates/hardware/interfaces/graphics/composer/aidl/android.hardware.graphics.composer3-V4-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/graphics/composer/aidl/android.hardware.graphics.composer3-V4-ndk-source/gen/staging -Nhardware/interfaces/graphics/composer/aidl hardware/interfaces/graphics/composer/aidl/android/hardware/graphics/composer3/LayerCommand.aidl
4  *
5  * DO NOT CHECK THIS FILE INTO A CODE TREE (e.g. git, etc..).
6  * ALWAYS GENERATE THIS FILE FROM UPDATED AIDL COMPILER
7  * AS A BUILD INTERMEDIATE ONLY. THIS IS NOT SOURCE CODE.
8  */
9 #pragma once
10 
11 #include <cstdint>
12 #include <memory>
13 #include <optional>
14 #include <string>
15 #include <vector>
16 #include <android/binder_interface_utils.h>
17 #include <android/binder_parcelable_utils.h>
18 #include <android/binder_to_string.h>
19 #include <aidl/android/hardware/common/NativeHandle.h>
20 #include <aidl/android/hardware/graphics/common/FRect.h>
21 #include <aidl/android/hardware/graphics/common/Point.h>
22 #include <aidl/android/hardware/graphics/common/Rect.h>
23 #include <aidl/android/hardware/graphics/composer3/Buffer.h>
24 #include <aidl/android/hardware/graphics/composer3/Color.h>
25 #include <aidl/android/hardware/graphics/composer3/LayerBrightness.h>
26 #include <aidl/android/hardware/graphics/composer3/LayerLifecycleBatchCommandType.h>
27 #include <aidl/android/hardware/graphics/composer3/Luts.h>
28 #include <aidl/android/hardware/graphics/composer3/ParcelableBlendMode.h>
29 #include <aidl/android/hardware/graphics/composer3/ParcelableComposition.h>
30 #include <aidl/android/hardware/graphics/composer3/ParcelableDataspace.h>
31 #include <aidl/android/hardware/graphics/composer3/ParcelableTransform.h>
32 #include <aidl/android/hardware/graphics/composer3/PerFrameMetadata.h>
33 #include <aidl/android/hardware/graphics/composer3/PerFrameMetadataBlob.h>
34 #include <aidl/android/hardware/graphics/composer3/PlaneAlpha.h>
35 #include <aidl/android/hardware/graphics/composer3/ZOrder.h>
36 #ifdef BINDER_STABILITY_SUPPORT
37 #include <android/binder_stability.h>
38 #endif  // BINDER_STABILITY_SUPPORT
39 
40 namespace aidl::android::hardware::common {
41 class NativeHandle;
42 }  // namespace aidl::android::hardware::common
43 namespace aidl::android::hardware::graphics::common {
44 class FRect;
45 class Point;
46 class Rect;
47 }  // namespace aidl::android::hardware::graphics::common
48 namespace aidl::android::hardware::graphics::composer3 {
49 class Buffer;
50 class Color;
51 class LayerBrightness;
52 class Luts;
53 class ParcelableBlendMode;
54 class ParcelableComposition;
55 class ParcelableDataspace;
56 class ParcelableTransform;
57 class PerFrameMetadata;
58 class PerFrameMetadataBlob;
59 class PlaneAlpha;
60 class ZOrder;
61 }  // namespace aidl::android::hardware::graphics::composer3
62 namespace aidl {
63 namespace android {
64 namespace hardware {
65 namespace graphics {
66 namespace composer3 {
67 class LayerCommand {
68 public:
69   typedef std::false_type fixed_size;
70   static const char* descriptor;
71 
72   int64_t layer = 0L;
73   std::optional<::aidl::android::hardware::graphics::common::Point> cursorPosition;
74   std::optional<::aidl::android::hardware::graphics::composer3::Buffer> buffer;
75   std::optional<std::vector<std::optional<::aidl::android::hardware::graphics::common::Rect>>> damage;
76   std::optional<::aidl::android::hardware::graphics::composer3::ParcelableBlendMode> blendMode;
77   std::optional<::aidl::android::hardware::graphics::composer3::Color> color;
78   std::optional<::aidl::android::hardware::graphics::composer3::ParcelableComposition> composition;
79   std::optional<::aidl::android::hardware::graphics::composer3::ParcelableDataspace> dataspace;
80   std::optional<::aidl::android::hardware::graphics::common::Rect> displayFrame;
81   std::optional<::aidl::android::hardware::graphics::composer3::PlaneAlpha> planeAlpha;
82   std::optional<::aidl::android::hardware::common::NativeHandle> sidebandStream;
83   std::optional<::aidl::android::hardware::graphics::common::FRect> sourceCrop;
84   std::optional<::aidl::android::hardware::graphics::composer3::ParcelableTransform> transform;
85   std::optional<std::vector<std::optional<::aidl::android::hardware::graphics::common::Rect>>> visibleRegion;
86   std::optional<::aidl::android::hardware::graphics::composer3::ZOrder> z;
87   std::optional<std::vector<float>> colorTransform;
88   std::optional<::aidl::android::hardware::graphics::composer3::LayerBrightness> brightness;
89   std::optional<std::vector<std::optional<::aidl::android::hardware::graphics::composer3::PerFrameMetadata>>> perFrameMetadata;
90   std::optional<std::vector<std::optional<::aidl::android::hardware::graphics::composer3::PerFrameMetadataBlob>>> perFrameMetadataBlob;
91   std::optional<std::vector<std::optional<::aidl::android::hardware::graphics::common::Rect>>> blockingRegion;
92   std::optional<std::vector<int32_t>> bufferSlotsToClear;
93   ::aidl::android::hardware::graphics::composer3::LayerLifecycleBatchCommandType layerLifecycleBatchCommandType = ::aidl::android::hardware::graphics::composer3::LayerLifecycleBatchCommandType(0);
94   int32_t newBufferSlotCount = 0;
95   std::optional<::aidl::android::hardware::graphics::composer3::Luts> luts;
96   int64_t pictureProfileId = 0L;
97 
98   binder_status_t readFromParcel(const AParcel* parcel);
99   binder_status_t writeToParcel(AParcel* parcel) const;
100 
101   inline bool operator==(const LayerCommand& _rhs) const {
102     return std::tie(layer, cursorPosition, buffer, damage, blendMode, color, composition, dataspace, displayFrame, planeAlpha, sidebandStream, sourceCrop, transform, visibleRegion, z, colorTransform, brightness, perFrameMetadata, perFrameMetadataBlob, blockingRegion, bufferSlotsToClear, layerLifecycleBatchCommandType, newBufferSlotCount, luts, pictureProfileId) == std::tie(_rhs.layer, _rhs.cursorPosition, _rhs.buffer, _rhs.damage, _rhs.blendMode, _rhs.color, _rhs.composition, _rhs.dataspace, _rhs.displayFrame, _rhs.planeAlpha, _rhs.sidebandStream, _rhs.sourceCrop, _rhs.transform, _rhs.visibleRegion, _rhs.z, _rhs.colorTransform, _rhs.brightness, _rhs.perFrameMetadata, _rhs.perFrameMetadataBlob, _rhs.blockingRegion, _rhs.bufferSlotsToClear, _rhs.layerLifecycleBatchCommandType, _rhs.newBufferSlotCount, _rhs.luts, _rhs.pictureProfileId);
103   }
104   inline bool operator<(const LayerCommand& _rhs) const {
105     return std::tie(layer, cursorPosition, buffer, damage, blendMode, color, composition, dataspace, displayFrame, planeAlpha, sidebandStream, sourceCrop, transform, visibleRegion, z, colorTransform, brightness, perFrameMetadata, perFrameMetadataBlob, blockingRegion, bufferSlotsToClear, layerLifecycleBatchCommandType, newBufferSlotCount, luts, pictureProfileId) < std::tie(_rhs.layer, _rhs.cursorPosition, _rhs.buffer, _rhs.damage, _rhs.blendMode, _rhs.color, _rhs.composition, _rhs.dataspace, _rhs.displayFrame, _rhs.planeAlpha, _rhs.sidebandStream, _rhs.sourceCrop, _rhs.transform, _rhs.visibleRegion, _rhs.z, _rhs.colorTransform, _rhs.brightness, _rhs.perFrameMetadata, _rhs.perFrameMetadataBlob, _rhs.blockingRegion, _rhs.bufferSlotsToClear, _rhs.layerLifecycleBatchCommandType, _rhs.newBufferSlotCount, _rhs.luts, _rhs.pictureProfileId);
106   }
107   inline bool operator!=(const LayerCommand& _rhs) const {
108     return !(*this == _rhs);
109   }
110   inline bool operator>(const LayerCommand& _rhs) const {
111     return _rhs < *this;
112   }
113   inline bool operator>=(const LayerCommand& _rhs) const {
114     return !(*this < _rhs);
115   }
116   inline bool operator<=(const LayerCommand& _rhs) const {
117     return !(_rhs < *this);
118   }
119 
120   static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()121   inline std::string toString() const {
122     std::ostringstream _aidl_os;
123     _aidl_os << "LayerCommand{";
124     _aidl_os << "layer: " << ::android::internal::ToString(layer);
125     _aidl_os << ", cursorPosition: " << ::android::internal::ToString(cursorPosition);
126     _aidl_os << ", buffer: " << ::android::internal::ToString(buffer);
127     _aidl_os << ", damage: " << ::android::internal::ToString(damage);
128     _aidl_os << ", blendMode: " << ::android::internal::ToString(blendMode);
129     _aidl_os << ", color: " << ::android::internal::ToString(color);
130     _aidl_os << ", composition: " << ::android::internal::ToString(composition);
131     _aidl_os << ", dataspace: " << ::android::internal::ToString(dataspace);
132     _aidl_os << ", displayFrame: " << ::android::internal::ToString(displayFrame);
133     _aidl_os << ", planeAlpha: " << ::android::internal::ToString(planeAlpha);
134     _aidl_os << ", sidebandStream: " << ::android::internal::ToString(sidebandStream);
135     _aidl_os << ", sourceCrop: " << ::android::internal::ToString(sourceCrop);
136     _aidl_os << ", transform: " << ::android::internal::ToString(transform);
137     _aidl_os << ", visibleRegion: " << ::android::internal::ToString(visibleRegion);
138     _aidl_os << ", z: " << ::android::internal::ToString(z);
139     _aidl_os << ", colorTransform: " << ::android::internal::ToString(colorTransform);
140     _aidl_os << ", brightness: " << ::android::internal::ToString(brightness);
141     _aidl_os << ", perFrameMetadata: " << ::android::internal::ToString(perFrameMetadata);
142     _aidl_os << ", perFrameMetadataBlob: " << ::android::internal::ToString(perFrameMetadataBlob);
143     _aidl_os << ", blockingRegion: " << ::android::internal::ToString(blockingRegion);
144     _aidl_os << ", bufferSlotsToClear: " << ::android::internal::ToString(bufferSlotsToClear);
145     _aidl_os << ", layerLifecycleBatchCommandType: " << ::android::internal::ToString(layerLifecycleBatchCommandType);
146     _aidl_os << ", newBufferSlotCount: " << ::android::internal::ToString(newBufferSlotCount);
147     _aidl_os << ", luts: " << ::android::internal::ToString(luts);
148     _aidl_os << ", pictureProfileId: " << ::android::internal::ToString(pictureProfileId);
149     _aidl_os << "}";
150     return _aidl_os.str();
151   }
152 };
153 }  // namespace composer3
154 }  // namespace graphics
155 }  // namespace hardware
156 }  // namespace android
157 }  // namespace aidl
158