summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2019-11-05 12:58:18 +0100
committerLuboš Luňák <l.lunak@collabora.com>2019-11-26 13:24:55 +0100
commit256c81ac820cdfebc0c28cc8ed7c431334197815 (patch)
tree053b32c3135c27f7ba183387dba25807b638b45e /vcl
parentee249e98d7ac3097d2217a231c014d032c89f208 (diff)
handle properly Skia color endianess
Change-Id: I59af62fa92903823eb7105d82157017e485ba0df
Diffstat (limited to 'vcl')
-rw-r--r--vcl/skia/gdiimpl.cxx34
1 files changed, 18 insertions, 16 deletions
diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index 18bd87efdc88..d85ba18ffa76 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -831,27 +831,29 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl
// TODO Cache the bitmap
SkBitmap aBitmap;
aBitmap.allocN32Pixels(4, 4);
+ const SkPMColor white = SkPreMultiplyARGB(0xFF, 0xFF, 0xFF, 0xFF);
+ const SkPMColor black = SkPreMultiplyARGB(0xFF, 0x00, 0x00, 0x00);
SkPMColor* scanline;
scanline = aBitmap.getAddr32(0, 0);
- *scanline++ = 0xFFFFFFFF;
- *scanline++ = 0xFFFFFFFF;
- *scanline++ = 0xFF000000;
- *scanline++ = 0xFF000000;
+ *scanline++ = white;
+ *scanline++ = white;
+ *scanline++ = black;
+ *scanline++ = black;
scanline = aBitmap.getAddr32(0, 1);
- *scanline++ = 0xFFFFFFFF;
- *scanline++ = 0xFFFFFFFF;
- *scanline++ = 0xFF000000;
- *scanline++ = 0xFF000000;
+ *scanline++ = white;
+ *scanline++ = white;
+ *scanline++ = black;
+ *scanline++ = black;
scanline = aBitmap.getAddr32(0, 2);
- *scanline++ = 0xFF000000;
- *scanline++ = 0xFF000000;
- *scanline++ = 0xFFFFFFFF;
- *scanline++ = 0xFFFFFFFF;
+ *scanline++ = black;
+ *scanline++ = black;
+ *scanline++ = white;
+ *scanline++ = white;
scanline = aBitmap.getAddr32(0, 3);
- *scanline++ = 0xFF000000;
- *scanline++ = 0xFF000000;
- *scanline++ = 0xFFFFFFFF;
- *scanline++ = 0xFFFFFFFF;
+ *scanline++ = black;
+ *scanline++ = black;
+ *scanline++ = white;
+ *scanline++ = white;
// The bitmap is repeated in both directions the checker pattern is as big
// as the polygon (usually rectangle)
aPaint.setShader(aBitmap.makeShader(SkTileMode::kRepeat, SkTileMode::kRepeat));