diff options
author | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2015-05-17 18:50:56 +0200 |
---|---|---|
committer | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2015-05-17 18:50:56 +0200 |
commit | b78fa71bb976dcc5521d3f92d69663032b1b4139 (patch) | |
tree | 1eef1c5cbb586a773e84649ff708acfe6a9f88f7 | |
parent | 1da9f329d0ed20390b0ec854596912024ca7b509 (diff) |
Output SymbolInstance
Change-Id: I57a9d6834ade9cd6603a8bf1fd81adf7ef6d9230
-rw-r--r-- | src/lib/FHCollector.cpp | 18 | ||||
-rw-r--r-- | src/lib/FHCollector.h | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/lib/FHCollector.cpp b/src/lib/FHCollector.cpp index c88d160..f8bb63d 100644 --- a/src/lib/FHCollector.cpp +++ b/src/lib/FHCollector.cpp @@ -501,6 +501,7 @@ void libfreehand::FHCollector::_outputSomething(unsigned somethingId, ::libreven _outputDisplayText(_findDisplayText(somethingId), painter); _outputImageImport(_findImageImport(somethingId), painter); _outputNewBlend(_findNewBlend(somethingId), painter); + _outputSymbolInstance(_findSymbolInstance(somethingId), painter); } void libfreehand::FHCollector::_outputGroup(const libfreehand::FHGroup *group, ::librevenge::RVNGDrawingInterface *painter) @@ -570,6 +571,23 @@ void libfreehand::FHCollector::_outputNewBlend(const libfreehand::FHNewBlend *ne m_currentTransforms.pop(); } +void libfreehand::FHCollector::_outputSymbolInstance(const libfreehand::FHSymbolInstance *symbolInstance, ::librevenge::RVNGDrawingInterface *painter) +{ + if (!painter || !symbolInstance) + return; + + m_currentTransforms.push(symbolInstance->m_xForm); + + const FHSymbolClass *symbolClass = _findSymbolClass(symbolInstance->m_symbolClassId); + if (symbolClass) + { + _outputSomething(symbolClass->m_groupId, painter); + } + + if (!m_currentTransforms.empty()) + m_currentTransforms.pop(); +} + void libfreehand::FHCollector::outputDrawing(::librevenge::RVNGDrawingInterface *painter) { diff --git a/src/lib/FHCollector.h b/src/lib/FHCollector.h index 84ef5d3..3093655 100644 --- a/src/lib/FHCollector.h +++ b/src/lib/FHCollector.h @@ -92,6 +92,7 @@ private: void _outputDisplayText(const FHDisplayText *displayText, ::librevenge::RVNGDrawingInterface *painter); void _outputImageImport(const FHImageImport *image, ::librevenge::RVNGDrawingInterface *painter); void _outputNewBlend(const FHNewBlend *newBlend, ::librevenge::RVNGDrawingInterface *painter); + void _outputSymbolInstance(const FHSymbolInstance *symbolInstance, ::librevenge::RVNGDrawingInterface *painter); void _outputSomething(unsigned somethingId, ::librevenge::RVNGDrawingInterface *painter); const std::vector<unsigned> *_findListElements(unsigned id); |