diff options
author | panoskorovesis <panoskorovesis@outlook.com> | 2021-07-05 09:42:09 +0300 |
---|---|---|
committer | panoskorovesis <panoskorovesis@outlook.com> | 2021-07-06 13:11:24 +0300 |
commit | 183ac11da61400a064508074be526982b8410c27 (patch) | |
tree | 9843fd88c1970ea3629573f84be4969b3a42d531 | |
parent | ecb63e193e20d5a920fce637e8aa1c0acd743b20 (diff) |
Add Handler for MetaRect Read
The handler separates the read method from metaact.hxx
Read implementation is now in SvmReader.hxx
Change-Id: I824a06d9018b473fd2398802d69b4952d33c4ada
-rw-r--r-- | include/vcl/filter/SvmReader.hxx | 1 | ||||
-rw-r--r-- | include/vcl/metaact.hxx | 1 | ||||
-rw-r--r-- | vcl/source/filter/svm/SvmReader.cxx | 16 |
3 files changed, 17 insertions, 1 deletions
diff --git a/include/vcl/filter/SvmReader.hxx b/include/vcl/filter/SvmReader.hxx index c8ece1c5043c..0537eedb0b90 100644 --- a/include/vcl/filter/SvmReader.hxx +++ b/include/vcl/filter/SvmReader.hxx @@ -39,6 +39,7 @@ public: rtl::Reference<MetaAction> MetaActionHandler(ImplMetaReadData* pData); rtl::Reference<MetaAction> LineColorHandler(); rtl::Reference<MetaAction> FillColorHandler(); + rtl::Reference<MetaAction> RectHandler(); }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/metaact.hxx b/include/vcl/metaact.hxx index 657a06c9227a..cf18190c230f 100644 --- a/include/vcl/metaact.hxx +++ b/include/vcl/metaact.hxx @@ -216,6 +216,7 @@ public: virtual void Scale( double fScaleX, double fScaleY ) override; const tools::Rectangle& GetRect() const { return maRect; } + void SetRect(tools::Rectangle& rRect) { maRect = rRect; } }; class UNLESS_MERGELIBS(VCL_DLLPUBLIC) MetaRoundRectAction final : public MetaAction diff --git a/vcl/source/filter/svm/SvmReader.cxx b/vcl/source/filter/svm/SvmReader.cxx index e30984148517..7bc892102d20 100644 --- a/vcl/source/filter/svm/SvmReader.cxx +++ b/vcl/source/filter/svm/SvmReader.cxx @@ -168,7 +168,7 @@ rtl::Reference<MetaAction> SvmReader::MetaActionHandler(ImplMetaReadData* pData) pAction = new MetaLineAction; break; case MetaActionType::RECT: - pAction = new MetaRectAction; + return RectHandler(); break; case MetaActionType::ROUNDRECT: pAction = new MetaRoundRectAction; @@ -370,4 +370,18 @@ rtl::Reference<MetaAction> SvmReader::FillColorHandler() return pAction; } + +rtl::Reference<MetaAction> SvmReader::RectHandler() +{ + auto pAction = new MetaRectAction(); + + VersionCompatRead aCompat(mrStream); + TypeSerializer aSerializer(mrStream); + + tools::Rectangle aRectangle; + aSerializer.readRectangle(aRectangle); + pAction->SetRect(aRectangle); + + return pAction; +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |