77#include < fidl/fuchsia.hardware.display.types/cpp/wire.h>
88#include < fidl/fuchsia.images2/cpp/wire.h>
99#include < fuchsia/hardware/display/controller/c/banjo.h>
10- #include < lib/image-format/image_format.h>
1110
1211#include < cstdint>
1312#include < initializer_list>
1413
1514#include < gmock/gmock.h>
1615#include < gtest/gtest.h>
1716
17+ #include " src/graphics/display/lib/api-types/cpp/pixel-format.h"
18+
1819namespace display {
1920
2021namespace {
2122
2223constexpr Color kRgbaGreyish ({
23- .format = fuchsia_images2::wire:: PixelFormat::kR8G8B8A8 ,
24+ .format = PixelFormat::kR8G8B8A8 ,
2425 .bytes = std::initializer_list<uint8_t >{0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 },
2526});
2627
2728constexpr Color kRgbaGreyish2 ({
28- .format = fuchsia_images2::wire:: PixelFormat::kR8G8B8A8 ,
29+ .format = PixelFormat::kR8G8B8A8 ,
2930 .bytes = std::initializer_list<uint8_t >{0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 },
3031});
3132
3233constexpr Color kBgraGreyish2 ({
33- .format = fuchsia_images2::wire:: PixelFormat::kB8G8R8A8 ,
34+ .format = PixelFormat::kB8G8R8A8 ,
3435 .bytes = std::initializer_list<uint8_t >{0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 },
3536});
3637
@@ -47,7 +48,7 @@ TEST(ColorTest, EqualityIsSymmetric) {
4748
4849TEST (ColorTest, EqualityForDifferentContents) {
4950 static constexpr Color kRgbaFuchsia ({
50- .format = fuchsia_images2::wire:: PixelFormat::kR8G8B8A8 ,
51+ .format = PixelFormat::kR8G8B8A8 ,
5152 .bytes = std::initializer_list<uint8_t >{0xff , 0x00 , 0xff , 0xff , 0 , 0 , 0 , 0 },
5253 });
5354
@@ -57,7 +58,7 @@ TEST(ColorTest, EqualityForDifferentContents) {
5758
5859TEST (ColorTest, EqualityForDifferentFormats) {
5960 static constexpr Color kBgraGreyish ({
60- .format = fuchsia_images2::wire:: PixelFormat::kB8G8R8A8 ,
61+ .format = PixelFormat::kB8G8R8A8 ,
6162 .bytes = std::initializer_list<uint8_t >{0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 },
6263 });
6364 EXPECT_NE (kRgbaGreyish , kBgraGreyish );
@@ -66,10 +67,10 @@ TEST(ColorTest, EqualityForDifferentFormats) {
6667
6768TEST (ColorTest, FromDesignatedInitializer) {
6869 static constexpr Color color ({
69- .format = fuchsia_images2::wire:: PixelFormat::kR8G8B8A8 ,
70+ .format = PixelFormat::kR8G8B8A8 ,
7071 .bytes = std::initializer_list<uint8_t >{0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 },
7172 });
72- EXPECT_EQ (fuchsia_images2::wire:: PixelFormat::kR8G8B8A8 , color.format ());
73+ EXPECT_EQ (PixelFormat::kR8G8B8A8 , color.format ());
7374 EXPECT_THAT (color.bytes (), testing::ElementsAreArray (std::initializer_list<uint8_t >{
7475 0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 }));
7576}
@@ -81,26 +82,27 @@ TEST(ColorTest, FromFidlColor) {
8182 };
8283
8384 static constexpr Color color = Color::From (fidl_color);
84- EXPECT_EQ (fuchsia_images2::wire:: PixelFormat::kR8G8B8A8 , color.format ());
85+ EXPECT_EQ (PixelFormat::kR8G8B8A8 , color.format ());
8586 EXPECT_THAT (color.bytes (), testing::ElementsAreArray (std::initializer_list<uint8_t >{
8687 0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 }));
8788}
8889
8990TEST (ColorTest, FromBanjoColor) {
9091 static constexpr color_t banjo_color = {
91- .format = static_cast <uint32_t >(fuchsia_images2::wire::PixelFormat::kR8G8B8A8 ),
92+ .format = static_cast <fuchsia_images2_pixel_format_enum_value_t >(
93+ fuchsia_images2::wire::PixelFormat::kR8G8B8A8 ),
9294 .bytes = {0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 },
9395 };
9496
9597 static constexpr Color color = Color::From (banjo_color);
96- EXPECT_EQ (fuchsia_images2::wire:: PixelFormat::kR8G8B8A8 , color.format ());
98+ EXPECT_EQ (PixelFormat::kR8G8B8A8 , color.format ());
9799 EXPECT_THAT (color.bytes (), testing::ElementsAreArray (std::initializer_list<uint8_t >{
98100 0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 }));
99101}
100102
101103TEST (ColorTest, ToFidlColor) {
102104 static constexpr Color color ({
103- .format = fuchsia_images2::wire:: PixelFormat::kR8G8B8A8 ,
105+ .format = PixelFormat::kR8G8B8A8 ,
104106 .bytes = std::initializer_list<uint8_t >{0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 },
105107 });
106108
@@ -112,12 +114,13 @@ TEST(ColorTest, ToFidlColor) {
112114
113115TEST (ColorTest, ToBanjoColor) {
114116 static constexpr Color color ({
115- .format = fuchsia_images2::wire:: PixelFormat::kR8G8B8A8 ,
117+ .format = PixelFormat::kR8G8B8A8 ,
116118 .bytes = std::initializer_list<uint8_t >{0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 },
117119 });
118120
119121 static constexpr color_t banjo_color = color.ToBanjo ();
120- EXPECT_EQ (static_cast <uint32_t >(fuchsia_images2::wire::PixelFormat::kR8G8B8A8 ),
122+ EXPECT_EQ (static_cast <fuchsia_images2_pixel_format_enum_value_t >(
123+ fuchsia_images2::wire::PixelFormat::kR8G8B8A8 ),
121124 banjo_color.format );
122125 EXPECT_THAT (banjo_color.bytes , testing::ElementsAreArray (std::initializer_list<uint8_t >{
123126 0x41 , 0x42 , 0x43 , 0x44 , 0 , 0 , 0 , 0 }));
@@ -138,62 +141,31 @@ TEST(ColorTest, IsValidBanjoRgbaGreyish) {
138141}
139142
140143TEST (ColorTest, SupportsFormatRgbaFormats) {
141- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire:: PixelFormat::kB8G8R8A8 ));
142- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire:: PixelFormat::kR8G8B8A8 ));
143- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire:: PixelFormat::kB8G8R8A8 ));
144- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire:: PixelFormat::kA2B10G10R10 ));
145- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire:: PixelFormat::kA2R10G10B10 ));
144+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kB8G8R8A8 ));
145+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kR8G8B8A8 ));
146+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kB8G8R8A8 ));
147+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kA2B10G10R10 ));
148+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kA2R10G10B10 ));
146149}
147150
148151TEST (ColorTest, SupportsFormatRgbFormats) {
149- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire:: PixelFormat::kB8G8R8 ));
150- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire:: PixelFormat::kR5G6B5 ));
151- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire:: PixelFormat::kR3G3B2 ));
152- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire:: PixelFormat::kR8G8B8 ));
152+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kB8G8R8 ));
153+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kR5G6B5 ));
154+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kR3G3B2 ));
155+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kR8G8B8 ));
153156}
154157
155158TEST (ColorTest, SupportsFormatImplicitColorChannels) {
156- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kL8 ));
157- EXPECT_TRUE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kR8 ));
158- }
159-
160- TEST (ColorTest, SupportsFormatUnspecifiedAlpha) {
161- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kB8G8R8X8 ));
162- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kR8G8B8X8 ));
163- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kR2G2B2X2 ));
159+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kL8 ));
160+ EXPECT_TRUE (Color::SupportsFormat (PixelFormat::kR8 ));
164161}
165162
166163TEST (ColorTest, SupportsFormatMultiPlanar) {
167- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kI420 ));
168- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kM420 ));
169- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kNv12 ));
170- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kYuy2 ));
171- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kYv12 ));
172- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kP010 ));
173- }
174-
175- TEST (ColorTest, SupportsFormatInvalid) {
176- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kInvalid ));
177- EXPECT_FALSE (Color::SupportsFormat (fuchsia_images2::wire::PixelFormat::kMjpeg ));
178- }
179-
180- TEST (ColorTest, EncodingSizeMatchesImageFormat) {
181- static constexpr std::array kSupportedFormats = {
182- fuchsia_images2::PixelFormat::kR8G8B8A8 , fuchsia_images2::PixelFormat::kB8G8R8A8 ,
183- fuchsia_images2::PixelFormat::kB8G8R8 , fuchsia_images2::PixelFormat::kR5G6B5 ,
184- fuchsia_images2::PixelFormat::kR3G3B2 , fuchsia_images2::PixelFormat::kL8 ,
185- fuchsia_images2::PixelFormat::kR8 , fuchsia_images2::PixelFormat::kA2R10G10B10 ,
186- fuchsia_images2::PixelFormat::kA2B10G10R10 , fuchsia_images2::PixelFormat::kR8G8B8 ,
187- };
188-
189- for (fuchsia_images2::PixelFormat format : kSupportedFormats ) {
190- SCOPED_TRACE (::testing::Message () << " Format code: " << static_cast <uint32_t >(format));
191- ASSERT_TRUE (Color::SupportsFormat (format));
192- const PixelFormatAndModifier sysmem_format (format,
193- fuchsia_images2::wire::PixelFormatModifier::kLinear );
194- EXPECT_EQ (ImageFormatBitsPerPixel (sysmem_format),
195- static_cast <uint32_t >(Color::EncodingSize (format) * 8 ));
196- }
164+ EXPECT_FALSE (Color::SupportsFormat (PixelFormat::kI420 ));
165+ EXPECT_FALSE (Color::SupportsFormat (PixelFormat::kNv12 ));
166+ EXPECT_FALSE (Color::SupportsFormat (PixelFormat::kYuy2 ));
167+ EXPECT_FALSE (Color::SupportsFormat (PixelFormat::kYv12 ));
168+ EXPECT_FALSE (Color::SupportsFormat (PixelFormat::kP010 ));
197169}
198170
199171} // namespace
0 commit comments