[Libreoffice-commits] core.git: vcl/qa vcl/source
panoskorovesis (via logerrit)
logerrit at kemper.freedesktop.org
Wed Jun 16 06:23:32 UTC 2021
vcl/qa/cppunit/svm/data/moveclipregion.svm |binary
vcl/qa/cppunit/svm/svmtest.cxx | 35 +++++++++++++++++++++++++++--
vcl/source/gdi/mtfxmldump.cxx | 11 ++++++++-
3 files changed, 43 insertions(+), 3 deletions(-)
New commits:
commit 240c6557898de6a7777b2b2055d1c133a803b396
Author: panoskorovesis <panoskorovesis at outlook.com>
AuthorDate: Mon Jun 14 14:04:37 2021 +0300
Commit: Tomaž Vajngerl <quikee at gmail.com>
CommitDate: Wed Jun 16 08:22:48 2021 +0200
Add MoveClipRegion cppunit test to vcl
The test creates two MoveClipRegions and checks their attributes.
mtfxmldump.cxx was modified to support MoveClipRegion case.
Change-Id: Ibfabf9d4048cf94e43c259e411a6c59b73baff34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117153
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>
diff --git a/vcl/qa/cppunit/svm/data/moveclipregion.svm b/vcl/qa/cppunit/svm/data/moveclipregion.svm
new file mode 100644
index 000000000000..6b53403741be
Binary files /dev/null and b/vcl/qa/cppunit/svm/data/moveclipregion.svm differ
diff --git a/vcl/qa/cppunit/svm/svmtest.cxx b/vcl/qa/cppunit/svm/svmtest.cxx
index 3fb91f84f006..02fbcdb5c04f 100644
--- a/vcl/qa/cppunit/svm/svmtest.cxx
+++ b/vcl/qa/cppunit/svm/svmtest.cxx
@@ -136,7 +136,7 @@ class SvmTest : public test::BootstrapFixture, public XmlTestTools
void checkIntersectRegionClipRegion(const GDIMetaFile& rMetaFile);
void testIntersectRegionClipRegion();
- //void checkMoveClipRegion(const GDIMetaFile& rMetaFile);
+ void checkMoveClipRegion(const GDIMetaFile& rMetaFile);
void testMoveClipRegion();
void checkLineColor(const GDIMetaFile& rMetaFile);
@@ -1647,8 +1647,39 @@ void SvmTest::testIntersectRegionClipRegion()
checkIntersectRegionClipRegion(readFile(u"intersectregionclipregion.svm"));
}
+void SvmTest::checkMoveClipRegion(const GDIMetaFile& rMetaFile)
+{
+ xmlDocUniquePtr pDoc = dumpMeta(rMetaFile);
+
+ assertXPathAttrs(pDoc, "/metafile/moveclipregion[1]", {
+ {"horzmove", "1"},
+ {"vertmove", "2"}
+ });
+
+ assertXPathAttrs(pDoc, "/metafile/moveclipregion[2]", {
+ {"horzmove", "-3"},
+ {"vertmove", "-4"}
+ });
+}
+
void SvmTest::testMoveClipRegion()
-{}
+{
+ GDIMetaFile aGDIMetaFile;
+ ScopedVclPtrInstance<VirtualDevice> pVirtualDev;
+ setupBaseVirtualDevice(*pVirtualDev, aGDIMetaFile);
+
+ tools::Rectangle aRectangle(Point(1, 2), Size(4, 8));
+
+ vcl::Region aRegion(aRectangle);
+ aRegion.Move(2, 2);
+ pVirtualDev->SetClipRegion(aRegion);
+
+ pVirtualDev->MoveClipRegion(1, 2);
+ pVirtualDev->MoveClipRegion(-3, -4);
+
+ checkMoveClipRegion(writeAndReadStream(aGDIMetaFile));
+ checkMoveClipRegion(readFile(u"moveclipregion.svm"));
+}
void SvmTest::checkLineColor(const GDIMetaFile& rMetaFile)
{
diff --git a/vcl/source/gdi/mtfxmldump.cxx b/vcl/source/gdi/mtfxmldump.cxx
index 7799a3014f15..e5651906ed57 100644
--- a/vcl/source/gdi/mtfxmldump.cxx
+++ b/vcl/source/gdi/mtfxmldump.cxx
@@ -1094,7 +1094,16 @@ void MetafileXmlDump::writeXml(const GDIMetaFile& rMetaFile, tools::XmlWriter& r
}
break;
- // case MetaActionType::MOVECLIPREGION:
+ case MetaActionType::MOVECLIPREGION:
+ {
+ const auto* pMetaMoveClipRegionAction = static_cast<MetaMoveClipRegionAction*>(pAction);
+ rWriter.startElement(sCurrentElementTag);
+
+ rWriter.attribute("horzmove", pMetaMoveClipRegionAction->GetHorzMove());
+ rWriter.attribute("vertmove", pMetaMoveClipRegionAction->GetVertMove());
+ rWriter.endElement();
+ }
+ break;
case MetaActionType::LINECOLOR:
{
More information about the Libreoffice-commits
mailing list