diff options
author | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2021-06-08 23:07:28 +0200 |
---|---|---|
committer | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2021-06-09 20:19:27 +0200 |
commit | 01ded1e6d362dbcd7148334c6965d6ad00981d4a (patch) | |
tree | 589c45e2a1b8c46e1c03f4281e16caca397e8a38 /drawinglayer | |
parent | fca7d50b17fae217bd34e9e6f5e3a8b0fda93833 (diff) |
WMF tdf#55058 tdf#142722 Add implementation of BitBlt and StretchBlt
With previous implementation, only BitBlt record with 1 bit color depth
was supported and StretchBlt was not implemented at all.
With this commit the support for 1 bit, 24 bit and 32 bit,
for both BitBlt and StretchBlt were added.
Change-Id: I061b2beae8c2f143ddff9c8c8bb64bf52f4cf502
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116873
Tested-by: Jenkins
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Diffstat (limited to 'drawinglayer')
-rw-r--r-- | drawinglayer/source/tools/primitive2dxmldump.cxx | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/drawinglayer/source/tools/primitive2dxmldump.cxx b/drawinglayer/source/tools/primitive2dxmldump.cxx index 295c13fde6e9..9ed0e796fb01 100644 --- a/drawinglayer/source/tools/primitive2dxmldump.cxx +++ b/drawinglayer/source/tools/primitive2dxmldump.cxx @@ -228,8 +228,22 @@ void Primitive2dXmlDump::decomposeAndWrite( rWriter.attribute("height", rSizePixel.getHeight()); rWriter.attribute("width", rSizePixel.getWidth()); - rWriter.attribute("checksum", aBitmapEx.GetChecksum()); + rWriter.attribute("checksum", OString(std::to_string( aBitmapEx.GetChecksum() ))); + for (tools::Long y=0; y<rSizePixel.getHeight(); y++) + { + + rWriter.startElement("data"); + OUString aBitmapData = ""; + for (tools::Long x=0; x<rSizePixel.getHeight(); x++) + { + if (x !=0) + aBitmapData = aBitmapData + ","; + aBitmapData = aBitmapData + aBitmapEx.GetPixelColor(x, y).AsRGBHexString(); + } + rWriter.attribute("row", aBitmapData); + rWriter.endElement(); + } rWriter.endElement(); } break; |