diff options
Diffstat (limited to 'libs/gralloc/types/include/gralloctypes/Gralloc4.h')
-rw-r--r-- | libs/gralloc/types/include/gralloctypes/Gralloc4.h | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/libs/gralloc/types/include/gralloctypes/Gralloc4.h b/libs/gralloc/types/include/gralloctypes/Gralloc4.h index 2f418acca5..1a7c2c946a 100644 --- a/libs/gralloc/types/include/gralloctypes/Gralloc4.h +++ b/libs/gralloc/types/include/gralloctypes/Gralloc4.h @@ -32,6 +32,202 @@ #include <android/hardware/graphics/mapper/4.0/IMapper.h> namespace android { + +/** + * Define equality operators for Stable AIDL types. + */ +inline bool operator==(const aidl::android::hardware::graphics::common::ExtendableType& lhs, + const aidl::android::hardware::graphics::common::ExtendableType& rhs) { + return !std::strcmp(lhs.name.c_str(), rhs.name.c_str()) && lhs.value == rhs.value; +} + +inline bool operator!=(const aidl::android::hardware::graphics::common::ExtendableType& lhs, + const aidl::android::hardware::graphics::common::ExtendableType& rhs) { + return !(lhs == rhs); +} + +inline bool operator==(const aidl::android::hardware::graphics::common::PlaneLayoutComponent& lhs, + const aidl::android::hardware::graphics::common::PlaneLayoutComponent& rhs) { + if (lhs.type.name != rhs.type.name) { + return false; + } + if (lhs.type.value != rhs.type.value) { + return false; + } + if (lhs.sizeInBits != rhs.sizeInBits) { + return false; + } + if (lhs.offsetInBits != rhs.offsetInBits) { + return false; + } + return true; +} + +inline bool operator!=(const aidl::android::hardware::graphics::common::PlaneLayoutComponent& lhs, + const aidl::android::hardware::graphics::common::PlaneLayoutComponent& rhs) { + return !(lhs == rhs); +} + +inline bool operator==(const aidl::android::hardware::graphics::common::Rect& lhs, + const aidl::android::hardware::graphics::common::Rect& rhs) { + if (lhs.left != rhs.left) { + return false; + } + if (lhs.top != rhs.top) { + return false; + } + if (lhs.right != rhs.right) { + return false; + } + if (lhs.bottom != rhs.bottom) { + return false; + } + return true; +} + +inline bool operator!=(const aidl::android::hardware::graphics::common::Rect& lhs, + const aidl::android::hardware::graphics::common::Rect& rhs) { + return !(lhs == rhs); +} + +inline bool operator==(const std::vector<aidl::android::hardware::graphics::common::Rect>& lhs, + const std::vector<aidl::android::hardware::graphics::common::Rect>& rhs) { + if (lhs.size() != rhs.size()) { + return false; + } + for (size_t i = 0; i < lhs.size(); i++) { + if (lhs[i] != rhs[i]) { + return false; + } + } + return true; +} + +inline bool operator!=(const std::vector<aidl::android::hardware::graphics::common::Rect>& lhs, + const std::vector<aidl::android::hardware::graphics::common::Rect>& rhs) { + return !(lhs == rhs); +} + +inline bool operator==(const aidl::android::hardware::graphics::common::PlaneLayout& lhs, + const aidl::android::hardware::graphics::common::PlaneLayout& rhs) { + if (lhs.offsetInBytes != rhs.offsetInBytes) { + return false; + } + if (lhs.sampleIncrementInBits != rhs.sampleIncrementInBits) { + return false; + } + if (lhs.strideInBytes != rhs.strideInBytes) { + return false; + } + if (lhs.widthInSamples != rhs.widthInSamples) { + return false; + } + if (lhs.heightInSamples != rhs.heightInSamples) { + return false; + } + if (lhs.totalSizeInBytes != rhs.totalSizeInBytes) { + return false; + } + if (lhs.horizontalSubsampling != rhs.horizontalSubsampling) { + return false; + } + if (lhs.verticalSubsampling != rhs.verticalSubsampling) { + return false; + } + if (lhs.components.size() != rhs.components.size()) { + return false; + } + for (size_t i = 0; i < lhs.components.size(); i++) { + if (lhs.components[i] != rhs.components[i]) { + return false; + } + } + return true; +} + +inline bool operator!=(const aidl::android::hardware::graphics::common::PlaneLayout& lhs, + const aidl::android::hardware::graphics::common::PlaneLayout& rhs) { + return !(lhs == rhs); +} + +inline bool operator==(const std::vector<aidl::android::hardware::graphics::common::PlaneLayout>& lhs, + const std::vector<aidl::android::hardware::graphics::common::PlaneLayout>& rhs) { + if (lhs.size() != rhs.size()) { + return false; + } + for (size_t i = 0; i < lhs.size(); i++) { + if (lhs[i] != rhs[i]) { + return false; + } + } + return true; +} + +inline bool operator!=(const std::vector<aidl::android::hardware::graphics::common::PlaneLayout>& lhs, + const std::vector<aidl::android::hardware::graphics::common::PlaneLayout>& rhs) { + return !(lhs == rhs); +} + +inline bool operator==(const aidl::android::hardware::graphics::common::XyColor& lhs, + const aidl::android::hardware::graphics::common::XyColor& rhs) { + if (lhs.x != rhs.x) { + return false; + } + if (lhs.y != rhs.y) { + return false; + } + return true; +} + +inline bool operator!=(const aidl::android::hardware::graphics::common::XyColor& lhs, + const aidl::android::hardware::graphics::common::XyColor& rhs) { + return !(lhs == rhs); +} + +inline bool operator==(const aidl::android::hardware::graphics::common::Smpte2086& lhs, + const aidl::android::hardware::graphics::common::Smpte2086& rhs) { + if (lhs.primaryRed != rhs.primaryRed) { + return false; + } + if (lhs.primaryGreen != rhs.primaryGreen) { + return false; + } + if (lhs.primaryBlue != rhs.primaryBlue) { + return false; + } + if (lhs.whitePoint != rhs.whitePoint) { + return false; + } + if (lhs.maxLuminance != rhs.maxLuminance) { + return false; + } + if (lhs.minLuminance != rhs.minLuminance) { + return false; + } + return true; +} + +inline bool operator!=(const aidl::android::hardware::graphics::common::Smpte2086& lhs, + const aidl::android::hardware::graphics::common::Smpte2086& rhs) { + return !(lhs == rhs); +} + +inline bool operator==(const aidl::android::hardware::graphics::common::Cta861_3& lhs, + const aidl::android::hardware::graphics::common::Cta861_3& rhs) { + if (lhs.maxContentLightLevel != rhs.maxContentLightLevel) { + return false; + } + if (lhs.maxFrameAverageLightLevel != rhs.maxFrameAverageLightLevel) { + return false; + } + return true; +} + +inline bool operator!=(const aidl::android::hardware::graphics::common::Cta861_3& lhs, + const aidl::android::hardware::graphics::common::Cta861_3& rhs) { + return !(lhs == rhs); +} + namespace gralloc4 { #define GRALLOC4_STANDARD_METADATA_TYPE "android.hardware.graphics.common.StandardMetadataType" |