From d9e3efcf204ae5ff6222553e8f8cf6601993d299 Mon Sep 17 00:00:00 2001 From: ali kettab Date: Wed, 13 Sep 2023 20:40:39 +0100 Subject: [PATCH] Update bitmap tests for wxQt --- tests/graphics/bitmap.cpp | 136 +++++++++++++++++++++----------------- 1 file changed, 74 insertions(+), 62 deletions(-) diff --git a/tests/graphics/bitmap.cpp b/tests/graphics/bitmap.cpp index 1437cfefc1..3c433e64fb 100644 --- a/tests/graphics/bitmap.cpp +++ b/tests/graphics/bitmap.cpp @@ -50,10 +50,22 @@ typedef wxPixelFormat wxNative32PixelFormat; typedef wxPixelData wxNative32PixelData; #endif // __WXMSW__ -#ifdef __WXOSX__ +#if defined(__WXOSX__) || defined(__WXQT__) // 32 bpp xRGB bitmaps are native ones typedef wxNativePixelData wxNative32PixelData; -#endif // __WXOSX__ +#endif // __WXOSX__ || __WXQT__ + +// masked/unmasked colours are revered in wxQt: + +#ifndef __WXQT__ +#define wxMASK_COLOUR_OPAQUE wxWHITE +#define wxMASK_COLOUR_TRANSPARENT wxBLACK +#else // __WXQT__ +#define wxMASK_COLOUR_OPAQUE wxBLACK +#define wxMASK_COLOUR_TRANSPARENT wxWHITE +#endif // !__WXQT__ + +static const wxColour wxMASK_COLOUR = *wxMASK_COLOUR_OPAQUE; // ---------------------------------------------------------------------------- // tests @@ -82,8 +94,8 @@ TEST_CASE("BitmapTestCase::Monochrome", "[bitmap][monochrome]") REQUIRE(mono.IsOk()); REQUIRE(mono.GetDepth() == 1); - // wxMonoPixelData only exists in wxMSW -#if defined(__WXMSW__) + // wxMonoPixelData only exists in wxMSW and wxQt +#if defined(__WXMSW__) || defined(__WXQT__) // draw lines on top and left, but leaving blank top and left lines { wxMonoPixelData data(mono); @@ -103,8 +115,8 @@ TEST_CASE("BitmapTestCase::Monochrome", "[bitmap][monochrome]") } TempFile mono_lines_horse("mono_lines_horse.bmp"); REQUIRE(mono.SaveFile(mono_lines_horse.GetName(), wxBITMAP_TYPE_BMP)); -#endif // __WXMSW__ -#endif // !__WXGTK__ +#endif // __WXMSW__ || __WXQT__ +#endif // !__WXGTK__ } TEST_CASE("BitmapTestCase::Mask", "[bitmap][mask]") @@ -225,7 +237,7 @@ TEST_CASE("BitmapTestCase::ToImage", "[bitmap][image][convertto]") wxColour bmpc(iBmp.Red(), iBmp.Green(), iBmp.Blue()); wxColour maskc(iMask.Red(), iMask.Green(), iMask.Blue()); wxColour imgc(image.GetRed(x, y), image.GetGreen(x, y), image.GetBlue(x, y)); - if ( maskc == *wxWHITE ) + if ( maskc == wxMASK_COLOUR ) { CHECK_EQUAL_COLOUR_RGB(imgc, bmpc); unmaskedPixelsCount++; @@ -253,12 +265,12 @@ TEST_CASE("BitmapTestCase::ToImage", "[bitmap][image][convertto]") const wxColour clrBg(*wxGREEN); const unsigned char alpha = 92; -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // premultiplied values const wxColour clrFgAlpha(((clrFg.Red() * alpha) + 127) / 255, ((clrFg.Green() * alpha) + 127) / 255, ((clrFg.Blue() * alpha) + 127) / 255); #else const wxColour clrFgAlpha(clrFg); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ wxAlphaPixelData data(bmp); REQUIRE(data); @@ -306,13 +318,13 @@ TEST_CASE("BitmapTestCase::ToImage", "[bitmap][image][convertto]") { wxColour bmpc(iBmp.Red(), iBmp.Green(), iBmp.Blue(), iBmp.Alpha()); wxColour imgc(image.GetRed(x, y), image.GetGreen(x, y), image.GetBlue(x, y), image.GetAlpha(x,y)); -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // Premultiplied values unsigned char r = ((imgc.Red() * imgc.Alpha()) + 127) / 255; unsigned char g = ((imgc.Green() * imgc.Alpha()) + 127) / 255; unsigned char b = ((imgc.Blue() * imgc.Alpha()) + 127) / 255; imgc.Set(r, g, b, imgc.Alpha()); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ CHECK_EQUAL_COLOUR_RGBA(imgc, bmpc); } rowStartBmp.OffsetY(dataBmp, 1); @@ -330,12 +342,12 @@ TEST_CASE("BitmapTestCase::ToImage", "[bitmap][image][convertto]") const wxColour clrFg(*wxCYAN); const wxColour clrBg(*wxGREEN); const unsigned char alpha = 92; -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // premultiplied values const wxColour clrFgAlpha(((clrFg.Red() * alpha) + 127) / 255, ((clrFg.Green() * alpha) + 127) / 255, ((clrFg.Blue() * alpha) + 127) / 255); #else const wxColour clrFgAlpha(clrFg); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ wxAlphaPixelData data(bmp); REQUIRE(data); @@ -410,15 +422,15 @@ TEST_CASE("BitmapTestCase::ToImage", "[bitmap][image][convertto]") wxColour bmpc(iBmp.Red(), iBmp.Green(), iBmp.Blue(), iBmp.Alpha()); wxColour maskc(iMask.Red(), iMask.Green(), iMask.Blue()); wxColour imgc(image.GetRed(x, y), image.GetGreen(x, y), image.GetBlue(x, y), image.GetAlpha(x,y)); - if ( maskc == *wxWHITE ) + if ( maskc == wxMASK_COLOUR ) { -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // Premultiplied values unsigned char r = ((imgc.Red() * imgc.Alpha()) + 127) / 255; unsigned char g = ((imgc.Green() * imgc.Alpha()) + 127) / 255; unsigned char b = ((imgc.Blue() * imgc.Alpha()) + 127) / 255; imgc.Set(r, g, b, imgc.Alpha()); -#endif // __WXMSW__ || __WXOSX +#endif // __WXMSW__ || __WXOSX || __WXQT__ CHECK_EQUAL_COLOUR_RGBA(imgc, bmpc); unmaskedPixelsCount++; } @@ -506,7 +518,7 @@ TEST_CASE("BitmapTestCase::FromImage", "[bitmap][image][convertfrom]") wxColour maskc(iMask.Red(), iMask.Green(), iMask.Blue()); wxColour imgc(img.GetRed(x, y), img.GetGreen(x, y), img.GetBlue(x, y)); CHECK_EQUAL_COLOUR_RGB(bmpc, imgc); - wxColour c = maskc == *wxWHITE ? fillCol : maskCol; + wxColour c = maskc == wxMASK_COLOUR ? fillCol : maskCol; CHECK_EQUAL_COLOUR_RGB(bmpc, c); } rowStartBmp.OffsetY(dataBmp, 1); @@ -545,13 +557,13 @@ TEST_CASE("BitmapTestCase::FromImage", "[bitmap][image][convertfrom]") { wxColour bmpc(iBmp.Red(), iBmp.Green(), iBmp.Blue(), iBmp.Alpha()); wxColour imgc(img.GetRed(x, y), img.GetGreen(x, y), img.GetBlue(x, y), img.GetAlpha(x, y)); -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // Premultiplied values unsigned char r = ((imgc.Red() * imgc.Alpha()) + 127) / 255; unsigned char g = ((imgc.Green() * imgc.Alpha()) + 127) / 255; unsigned char b = ((imgc.Blue() * imgc.Alpha()) + 127) / 255; imgc.Set(r, g, b, imgc.Alpha()); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ CHECK_EQUAL_COLOUR_RGBA(bmpc, imgc); } rowStartBmp.OffsetY(dataBmp, 1); @@ -596,23 +608,23 @@ TEST_CASE("BitmapTestCase::FromImage", "[bitmap][image][convertfrom]") wxColour bmpc(iBmp.Red(), iBmp.Green(), iBmp.Blue(), iBmp.Alpha()); wxColour maskc(iMask.Red(), iMask.Green(), iMask.Blue()); wxColour imgc(img.GetRed(x, y), img.GetGreen(x, y), img.GetBlue(x, y), img.GetAlpha(x, y)); -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // Premultiplied values unsigned char r = ((imgc.Red() * imgc.Alpha()) + 127) / 255; unsigned char g = ((imgc.Green() * imgc.Alpha()) + 127) / 255; unsigned char b = ((imgc.Blue() * imgc.Alpha()) + 127) / 255; imgc.Set(r, g, b, imgc.Alpha()); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ CHECK_EQUAL_COLOUR_RGBA(bmpc, imgc); - wxColour c = maskc == *wxWHITE ? fillCol : maskCol; -#if defined(__WXMSW__) || defined(__WXOSX__) + wxColour c = maskc == wxMASK_COLOUR ? fillCol : maskCol; +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // Premultiplied values r = ((c.Red() * imgc.Alpha()) + 127) / 255; g = ((c.Green() * imgc.Alpha()) + 127) / 255; b = ((c.Blue() * imgc.Alpha()) + 127) / 255; c.Set(r, g, b); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ CHECK_EQUAL_COLOUR_RGB(bmpc, c); } rowStartBmp.OffsetY(dataBmp, 1); @@ -810,12 +822,12 @@ TEST_CASE("BitmapTestCase::DrawAlpha", "[bitmap][draw][alpha]") const wxColour clrBg(*wxGREEN); const unsigned char alpha = 92; -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // premultiplied values const wxColour clrFgAlpha(((clrFg.Red() * alpha) + 127) / 255, ((clrFg.Green() * alpha) + 127) / 255, ((clrFg.Blue() * alpha) + 127) / 255); #else const wxColour clrFgAlpha(clrFg); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ // Bitmap to be drawn wxBitmap bmp(w, h, 32); @@ -873,7 +885,7 @@ TEST_CASE("BitmapTestCase::DrawAlpha", "[bitmap][draw][alpha]") p1.OffsetX(data24, w / 4); // left side is opaque ASSERT_EQUAL_COLOUR_RGB(p1, clrFg); p1.OffsetX(data24, w / 2); // right side is with alpha -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // premultiplied values ASSERT_EQUAL_RGB(p1, clrFgAlpha.Red() + (clrBg.Red() * (255 - alpha) + 127) / 255, clrFgAlpha.Green() + (clrBg.Green() * (255 - alpha) + 127) / 255, @@ -882,9 +894,9 @@ TEST_CASE("BitmapTestCase::DrawAlpha", "[bitmap][draw][alpha]") ASSERT_EQUAL_RGB(p1, (clrFg.Red() * alpha + clrBg.Red() * (255 - alpha) + 127) / 255, (clrFg.Green() * alpha + clrBg.Green() * (255 - alpha) + 127) / 255, (clrFg.Blue() * alpha + clrBg.Blue() * (255 - alpha) + 127) / 255); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // Drawing the bitmap on 32 bpp xRGB target wxBitmap bmpOut32(w, h, 32); REQUIRE_FALSE(bmpOut32.HasAlpha()); @@ -910,7 +922,7 @@ TEST_CASE("BitmapTestCase::DrawAlpha", "[bitmap][draw][alpha]") ASSERT_EQUAL_RGB(p2, clrFgAlpha.Red() + (clrBg.Red() * (255 - alpha) + 127) / 255, clrFgAlpha.Green() + (clrBg.Green() * (255 - alpha) + 127) / 255, clrFgAlpha.Blue() + (clrBg.Blue() * (255 - alpha) + 127) / 255); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ } TEST_CASE("BitmapTestCase::DrawAlphaWithMask", "[bitmap][draw][alpha][withmask]") @@ -925,12 +937,12 @@ TEST_CASE("BitmapTestCase::DrawAlphaWithMask", "[bitmap][draw][alpha][withmask]" const wxColour clrBg(*wxGREEN); const unsigned char alpha = 92; -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // premultiplied values const wxColour clrFgAlpha(((clrFg.Red() * alpha) + 127) / 255, ((clrFg.Green() * alpha) + 127) / 255, ((clrFg.Blue() * alpha) + 127) / 255); #else const wxColour clrFgAlpha(clrFg); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ // Bitmap with mask to be drawn wxBitmap bmp(w, h, 32); @@ -993,7 +1005,7 @@ TEST_CASE("BitmapTestCase::DrawAlphaWithMask", "[bitmap][draw][alpha][withmask]" p1.OffsetX(data24, w / 4); // drawn area - left side opaque ASSERT_EQUAL_COLOUR_RGB(p1, clrFg); p1.OffsetX(data24, w / 2); // drawn area - right side with alpha -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // premultiplied values ASSERT_EQUAL_RGB(p1, clrFgAlpha.Red() + (clrBg.Red() * (255 - alpha) + 127) / 255, clrFgAlpha.Green() + (clrBg.Green() * (255 - alpha) + 127) / 255, @@ -1002,7 +1014,7 @@ TEST_CASE("BitmapTestCase::DrawAlphaWithMask", "[bitmap][draw][alpha][withmask]" ASSERT_EQUAL_RGB(p1, (clrFg.Red() * alpha + clrBg.Red() * (255 - alpha) + 127) / 255, (clrFg.Green() * alpha + clrBg.Green() * (255 - alpha) + 127) / 255, (clrFg.Blue() * alpha + clrBg.Blue() * (255 - alpha) + 127) / 255); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ p1 = rowStart1; p1.OffsetY(data24, h / 2); p1.OffsetX(data24, w / 4); // masked area - left side @@ -1033,7 +1045,7 @@ TEST_CASE("BitmapTestCase::DrawAlphaWithMask", "[bitmap][draw][alpha][withmask]" p1.OffsetX(data24, w / 4); // left upper side opaque ASSERT_EQUAL_COLOUR_RGB(p1, clrFg); p1.OffsetX(data24, w / 2); // right upper side with alpha -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // premultiplied values ASSERT_EQUAL_RGB(p1, clrFgAlpha.Red() + (clrBg.Red() * (255 - alpha) + 127) / 255, clrFgAlpha.Green() + (clrBg.Green() * (255 - alpha) + 127) / 255, @@ -1042,13 +1054,13 @@ TEST_CASE("BitmapTestCase::DrawAlphaWithMask", "[bitmap][draw][alpha][withmask]" ASSERT_EQUAL_RGB(p1, (clrFg.Red() * alpha + clrBg.Red() * (255 - alpha) + 127) / 255, (clrFg.Green() * alpha + clrBg.Green() * (255 - alpha) + 127) / 255, (clrFg.Blue() * alpha + clrBg.Blue() * (255 - alpha) + 127) / 255); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ p1 = rowStart1; p1.OffsetY(data24, h / 2); p1.OffsetX(data24, w / 4); // left lower side - same colour as upper ASSERT_EQUAL_COLOUR_RGB(p1, clrFg); p1.OffsetX(data24, w / 2); // right lower side - same colour as upper -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // premultiplied values ASSERT_EQUAL_RGB(p1, clrFgAlpha.Red() + (clrBg.Red() * (255 - alpha) + 127) / 255, clrFgAlpha.Green() + (clrBg.Green() * (255 - alpha) + 127) / 255, @@ -1057,10 +1069,10 @@ TEST_CASE("BitmapTestCase::DrawAlphaWithMask", "[bitmap][draw][alpha][withmask]" ASSERT_EQUAL_RGB(p1, (clrFg.Red() * alpha + clrBg.Red() * (255 - alpha) + 127) / 255, (clrFg.Green() * alpha + clrBg.Green() * (255 - alpha) + 127) / 255, (clrFg.Blue() * alpha + clrBg.Blue() * (255 - alpha) + 127) / 255); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ } -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // Drawing the bitmap on 32 bpp xRGB target using mask { wxBitmap bmpOut32(w, h, 32); @@ -1133,7 +1145,7 @@ TEST_CASE("BitmapTestCase::DrawAlphaWithMask", "[bitmap][draw][alpha][withmask]" clrFgAlpha.Green() + (clrBg.Green() * (255 - alpha) + 127) / 255, clrFgAlpha.Blue() + (clrBg.Blue() * (255 - alpha) + 127) / 255); } -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ } TEST_CASE("BitmapTestCase::SubBitmapNonAlpha", "[bitmap][subbitmap][nonalpha]") @@ -1287,13 +1299,13 @@ TEST_CASE("BitmapTestCase::SubBitmapNonAlphaWithMask", "[bitmap][subbitmap][nona p.OffsetX(data, w / 2); // bottom-right point maskClrBottomRight = wxColour(p.Red(), p.Green(), p.Blue()); } - CHECK(maskClrTopLeft == *wxWHITE); - CHECK(maskClrTopRight == *wxWHITE); - CHECK(maskClrBottomLeft == *wxBLACK); - CHECK(maskClrBottomRight == *wxBLACK); + CHECK(maskClrTopLeft == *wxMASK_COLOUR_OPAQUE); + CHECK(maskClrTopRight == *wxMASK_COLOUR_OPAQUE); + CHECK(maskClrBottomLeft == *wxMASK_COLOUR_TRANSPARENT); + CHECK(maskClrBottomRight == *wxMASK_COLOUR_TRANSPARENT); - // wxMonoPixelData only exists in wxMSW -#if defined(__WXMSW__) + // wxMonoPixelData only exists in wxMSW and wxQt +#if defined(__WXMSW__) || defined(__WXQT__) bool maskValueTopLeft; bool maskValueTopRight; bool maskValueBottomLeft; @@ -1322,7 +1334,7 @@ TEST_CASE("BitmapTestCase::SubBitmapNonAlphaWithMask", "[bitmap][subbitmap][nona CHECK(maskValueTopRight == true); CHECK(maskValueBottomLeft == false); CHECK(maskValueBottomRight == false); -#endif // __WXMSW__ +#endif // __WXMSW__ || __WXQT__ wxBitmap subBmpMask = subBmp.GetMask()->GetBitmap(); // Check sub bitmap mask attributes @@ -1352,8 +1364,8 @@ TEST_CASE("BitmapTestCase::SubBitmapNonAlphaWithMask", "[bitmap][subbitmap][nona ASSERT_EQUAL_COLOUR_RGB(p, maskClrBottomRight); } - // wxMonoPixelData only exists in wxMSW -#if defined(__WXMSW__) + // wxMonoPixelData only exists in wxMSW and wxQt +#if defined(__WXMSW__) || defined(__WXQT__) { REQUIRE(subBmpMask.GetDepth() == 1); wxMonoPixelData data(subBmpMask); @@ -1373,7 +1385,7 @@ TEST_CASE("BitmapTestCase::SubBitmapNonAlphaWithMask", "[bitmap][subbitmap][nona CHECK(p.Pixel() == maskValueBottomRight); } REQUIRE(subBmpMask.GetDepth() == 1); -#endif // __WXMSW__ +#endif // __WXMSW__ || __WXQT__ } TEST_CASE("BitmapTestCase::SubBitmapAlphaWithMask", "[bitmap][subbitmap][alpha][withmask]") @@ -1388,12 +1400,12 @@ TEST_CASE("BitmapTestCase::SubBitmapAlphaWithMask", "[bitmap][subbitmap][alpha][ const wxColour clrLeft(*wxCYAN); const unsigned char alpha = 92; -#if defined(__WXMSW__) || defined(__WXOSX__) +#if defined(__WXMSW__) || defined(__WXOSX__) || defined(__WXQT__) // premultiplied values const wxColour clrRight(((clrLeft.Red() * alpha) + 127) / 255, ((clrLeft.Green() * alpha) + 127) / 255, ((clrLeft.Blue() * alpha) + 127) / 255, alpha); #else const wxColour clrRight(clrLeft.Red(), clrLeft.Green(), clrLeft.Blue(), alpha); -#endif // __WXMSW__ || __WXOSX__ +#endif // __WXMSW__ || __WXOSX__ || __WXQT__ wxBitmap bmp(w, h, 32); #if defined(__WXMSW__) || defined(__WXOSX__) @@ -1489,13 +1501,13 @@ TEST_CASE("BitmapTestCase::SubBitmapAlphaWithMask", "[bitmap][subbitmap][alpha][ p.OffsetX(data, w / 2); // bottom-right point maskClrBottomRight = wxColour(p.Red(), p.Green(), p.Blue()); } - CHECK(maskClrTopLeft == *wxWHITE); - CHECK(maskClrTopRight == *wxWHITE); - CHECK(maskClrBottomLeft == *wxBLACK); - CHECK(maskClrBottomRight == *wxBLACK); + CHECK(maskClrTopLeft == *wxMASK_COLOUR_OPAQUE); + CHECK(maskClrTopRight == *wxMASK_COLOUR_OPAQUE); + CHECK(maskClrBottomLeft == *wxMASK_COLOUR_TRANSPARENT); + CHECK(maskClrBottomRight == *wxMASK_COLOUR_TRANSPARENT); - // wxMonoPixelData only exists in wxMSW -#if defined(__WXMSW__) + // wxMonoPixelData only exists in wxMSW and wxQt +#if defined(__WXMSW__) || defined(__WXQT__) bool maskValueTopLeft; bool maskValueTopRight; bool maskValueBottomLeft; @@ -1524,7 +1536,7 @@ TEST_CASE("BitmapTestCase::SubBitmapAlphaWithMask", "[bitmap][subbitmap][alpha][ CHECK(maskValueTopRight == true); CHECK(maskValueBottomLeft == false); CHECK(maskValueBottomRight == false); -#endif // __WXMSW__ +#endif // __WXMSW__ || __WXQT__ wxBitmap subBmpMask = subBmp.GetMask()->GetBitmap(); // Check sub bitmap mask attributes @@ -1554,8 +1566,8 @@ TEST_CASE("BitmapTestCase::SubBitmapAlphaWithMask", "[bitmap][subbitmap][alpha][ ASSERT_EQUAL_RGB(p, maskClrBottomRight.Red(), maskClrBottomRight.Green(), maskClrBottomRight.Blue()); } - // wxMonoPixelData only exists in wxMSW -#if defined(__WXMSW__) + // wxMonoPixelData only exists in wxMSW and wxQt +#if defined(__WXMSW__) || defined(__WXQT__) { REQUIRE(subBmpMask.GetDepth() == 1); wxMonoPixelData data(subBmpMask); @@ -1575,7 +1587,7 @@ TEST_CASE("BitmapTestCase::SubBitmapAlphaWithMask", "[bitmap][subbitmap][alpha][ CHECK(p.Pixel() == maskValueBottomRight); } REQUIRE(subBmpMask.GetDepth() == 1); -#endif // __WXMSW__ +#endif // __WXMSW__ || __WXQT__ } namespace Catch