include/vcl/filter/SvmReader.hxx | 1 + include/vcl/metaact.hxx | 1 + vcl/source/filter/svm/SvmReader.cxx | 17 ++++++++++++++++- 3 files changed, 18 insertions(+), 1 deletion(-)
New commits: commit 0fab99d596f87739a3c98776591ca4f0c51b15b9 Author: panoskorovesis <[email protected]> AuthorDate: Tue Jul 6 13:04:02 2021 +0300 Commit: Tomaž Vajngerl <[email protected]> CommitDate: Thu Jul 8 08:56:02 2021 +0200 Add Handler for MetaEllipse Read The handler separates the MetaEllipseAction::Read from metaact.hxx Read implementation is now in SvmReader.hxx Change-Id: I40c5f7c2993dd34cb370d909e251be9a588f6168 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118473 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <[email protected]> diff --git a/include/vcl/filter/SvmReader.hxx b/include/vcl/filter/SvmReader.hxx index 7df5a1a45e3a..acee4279eb22 100644 --- a/include/vcl/filter/SvmReader.hxx +++ b/include/vcl/filter/SvmReader.hxx @@ -44,6 +44,7 @@ public: rtl::Reference<MetaAction> PixelHandler(); rtl::Reference<MetaAction> LineHandler(); rtl::Reference<MetaAction> RoundRectHandler(); + rtl::Reference<MetaAction> EllipseHandler(); }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/metaact.hxx b/include/vcl/metaact.hxx index 1b20cbf72952..44c1e5db4917 100644 --- a/include/vcl/metaact.hxx +++ b/include/vcl/metaact.hxx @@ -287,6 +287,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) MetaArcAction final : public MetaAction diff --git a/vcl/source/filter/svm/SvmReader.cxx b/vcl/source/filter/svm/SvmReader.cxx index ba5311ac9ccf..87969933cee4 100644 --- a/vcl/source/filter/svm/SvmReader.cxx +++ b/vcl/source/filter/svm/SvmReader.cxx @@ -174,7 +174,7 @@ rtl::Reference<MetaAction> SvmReader::MetaActionHandler(ImplMetaReadData* pData) return RoundRectHandler(); break; case MetaActionType::ELLIPSE: - pAction = new MetaEllipseAction; + return EllipseHandler(); break; case MetaActionType::ARC: pAction = new MetaArcAction; @@ -463,4 +463,19 @@ rtl::Reference<MetaAction> SvmReader::RoundRectHandler() return pAction; } + +rtl::Reference<MetaAction> SvmReader::EllipseHandler() +{ + auto pAction = new MetaEllipseAction(); + + VersionCompatRead aCompat(mrStream); + TypeSerializer aSerializer(mrStream); + + tools::Rectangle aRectangle; + aSerializer.readRectangle(aRectangle); + + pAction->SetRect(aRectangle); + + return pAction; +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
