diff options
author | panoskorovesis <panoskorovesis@outlook.com> | 2021-07-15 11:29:04 +0300 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2021-07-27 08:03:45 +0200 |
commit | f8847233c5b935d7ad1ea82bd464868d2bc3f69e (patch) | |
tree | 6028aaa08d5f410c45119a6703cf62eeccdce981 /vcl | |
parent | ffd64889f3cad4fc64d733f5ad08a5c072de7ec6 (diff) |
Add Handler for EPS Read
The handler separates MetaEPSAction::Read from metaact.hxx
Read implementation is now in SvmReader.hxx
Change-Id: I9a56e447865643bbd6e02f9b9da3be715172fe35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119192
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/filter/svm/SvmReader.cxx | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/vcl/source/filter/svm/SvmReader.cxx b/vcl/source/filter/svm/SvmReader.cxx index daed6b7cca72..44c6705007b3 100644 --- a/vcl/source/filter/svm/SvmReader.cxx +++ b/vcl/source/filter/svm/SvmReader.cxx @@ -305,7 +305,7 @@ rtl::Reference<MetaAction> SvmReader::MetaActionHandler(ImplMetaReadData* pData) return FloatTransparentHandler(pData); break; case MetaActionType::EPS: - pAction = new MetaEPSAction; + return EPSHandler(); break; case MetaActionType::REFPOINT: pAction = new MetaRefPointAction; @@ -1336,4 +1336,27 @@ rtl::Reference<MetaAction> SvmReader::FloatTransparentHandler(ImplMetaReadData* return pAction; } + +rtl::Reference<MetaAction> SvmReader::EPSHandler() +{ + auto pAction = new MetaEPSAction(); + + VersionCompatRead aCompat(mrStream); + TypeSerializer aSerializer(mrStream); + GfxLink aGfxLink; + aSerializer.readGfxLink(aGfxLink); + Point aPoint; + aSerializer.readPoint(aPoint); + Size aSize; + aSerializer.readSize(aSize); + GDIMetaFile aSubst; + Read(aSubst); + + pAction->SetLink(aGfxLink); + pAction->SetPoint(aPoint); + pAction->SetSize(aSize); + pAction->SetSubstitute(aSubst); + + return pAction; +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |