diff options
-rw-r--r-- | include/vcl/filter/SvmWriter.hxx | 1 | ||||
-rw-r--r-- | vcl/source/filter/svm/SvmWriter.cxx | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/include/vcl/filter/SvmWriter.hxx b/include/vcl/filter/SvmWriter.hxx index 9729c562d485..e83afee8b5c1 100644 --- a/include/vcl/filter/SvmWriter.hxx +++ b/include/vcl/filter/SvmWriter.hxx @@ -46,4 +46,5 @@ public: void RoundRectHandler(MetaRoundRectAction* pAction); void EllipseHandler(MetaEllipseAction* pAction); void ArcHandler(MetaArcAction* pAction); + void PieHandler(MetaPieAction* pAction); };
\ No newline at end of file diff --git a/vcl/source/filter/svm/SvmWriter.cxx b/vcl/source/filter/svm/SvmWriter.cxx index c9f0bb6f6e3e..685230726836 100644 --- a/vcl/source/filter/svm/SvmWriter.cxx +++ b/vcl/source/filter/svm/SvmWriter.cxx @@ -127,6 +127,13 @@ void SvmWriter::MetaActionHandler(MetaAction* pAction, ImplMetaWriteData* pData) } break; + case MetaActionType::PIE: + { + auto* pMetaAction = static_cast<MetaPieAction*>(pAction); + PieHandler(pMetaAction); + } + break; + /* default case prevents test failure and will be removed once all the handlers are completed */ default: @@ -208,4 +215,15 @@ void SvmWriter::ArcHandler(MetaArcAction* pAction) aSerializer.writePoint(pAction->GetStartPoint()); aSerializer.writePoint(pAction->GetEndPoint()); } + +void SvmWriter::PieHandler(MetaPieAction* pAction) +{ + mrStream.WriteUInt16(static_cast<sal_uInt16>(pAction->GetType())); + + VersionCompatWrite aCompat(mrStream, 1); + TypeSerializer aSerializer(mrStream); + aSerializer.writeRectangle(pAction->GetRect()); + aSerializer.writePoint(pAction->GetStartPoint()); + aSerializer.writePoint(pAction->GetEndPoint()); +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |