diff options
author | panoskorovesis <panoskorovesis@outlook.com> | 2021-06-09 10:32:25 +0300 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2021-06-09 15:49:06 +0200 |
commit | dbd86edb55de543d9b0b88bca1d43676da88215a (patch) | |
tree | 4e3458ed6df6114180705b0f068dde0eeca065f5 /vcl/source/gdi | |
parent | 1adbb3e00593af8eed5baf7019fa9b177186567c (diff) |
Add GradientEx cppunit test to vcl
The test creates two GradientEx and checks
their attributes. In mtfxmldump.cxx the
case regarding GradientEx was completed
Change-Id: I52f2303fa3123b97fb8a4b0783610c0bae300fc8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116819
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'vcl/source/gdi')
-rw-r--r-- | vcl/source/gdi/mtfxmldump.cxx | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/vcl/source/gdi/mtfxmldump.cxx b/vcl/source/gdi/mtfxmldump.cxx index d612898e6c8c..8bd21b9d7460 100644 --- a/vcl/source/gdi/mtfxmldump.cxx +++ b/vcl/source/gdi/mtfxmldump.cxx @@ -722,7 +722,6 @@ void MetafileXmlDump::writeXml(const GDIMetaFile& rMetaFile, tools::XmlWriter& r } rWriter.endElement(); } - rWriter.endElement(); } break; @@ -1273,7 +1272,34 @@ void MetafileXmlDump::writeXml(const GDIMetaFile& rMetaFile, tools::XmlWriter& r } break; - //case MetaActionType::GRADIENTEX: + case MetaActionType::GRADIENTEX: + { + const MetaGradientExAction* pMetaGradientExAction = static_cast<MetaGradientExAction*>(pAction); + + rWriter.startElement(sCurrentElementTag); + writeGradient(rWriter, pMetaGradientExAction->GetGradient()); + + tools::PolyPolygon const& rPolyPolygon(pMetaGradientExAction->GetPolyPolygon()); + for (sal_uInt16 j = 0; j < rPolyPolygon.Count(); ++j) + { + rWriter.startElement("polygon"); + tools::Polygon const& rPolygon = rPolyPolygon[j]; + bool bFlags = rPolygon.HasFlags(); + for (sal_uInt16 i = 0; i < rPolygon.GetSize(); ++i) + { + rWriter.startElement("point"); + writePoint(rWriter, rPolygon[i]); + if (bFlags) + rWriter.attribute("flags", convertPolygonFlags(rPolygon.GetFlags(i))); + rWriter.endElement(); + } + rWriter.endElement(); + } + + rWriter.endElement(); + } + break; + //case MetaActionType::LAYOUTMODE: //case MetaActionType::TEXTLANGUAGE: |