src/lib/CDRContentCollector.cpp | 11 +++++++---- src/lib/CDRContentCollector.h | 2 +- src/lib/CDROutputElementList.cpp | 15 +++++++-------- src/lib/CDROutputElementList.h | 2 +- 4 files changed, 16 insertions(+), 14 deletions(-)
New commits: commit 84d90a4d213b15337a8030aa18e843554ca1c882 Author: Fridrich Å trba <fridrich.st...@bluewin.ch> Date: Sat Nov 23 14:08:09 2013 +0100 Fold in the gradient Change-Id: I431b96cc00343492e0cac255b3b9482a780d7749 diff --git a/src/lib/CDRContentCollector.cpp b/src/lib/CDRContentCollector.cpp index b792842..0ce93f2 100644 --- a/src/lib/CDRContentCollector.cpp +++ b/src/lib/CDRContentCollector.cpp @@ -186,10 +186,9 @@ void libcdr::CDRContentCollector::_flushCurrentPath() double x = 0.0; double y = 0.0; librevenge::RVNGPropertyList style; - librevenge::RVNGPropertyListVector gradient; - _fillProperties(style, gradient); + _fillProperties(style); _lineProperties(style); - outputElement.addStyle(style, gradient); + outputElement.addStyle(style); m_currentPath.transform(m_currentTransforms); if (!m_groupTransforms.empty()) m_currentPath.transform(m_groupTransforms.top()); @@ -602,7 +601,7 @@ void libcdr::CDRContentCollector::collectPolygonTransform(unsigned numAngles, un m_polygon = new CDRPolygon(numAngles, nextPoint, rx, ry, cx, cy); } -void libcdr::CDRContentCollector::_fillProperties(librevenge::RVNGPropertyList &propList, librevenge::RVNGPropertyListVector &vec) +void libcdr::CDRContentCollector::_fillProperties(librevenge::RVNGPropertyList &propList) { if (m_fillOpacity < 1.0) propList.insert("draw:opacity", m_fillOpacity, librevenge::RVNG_PERCENT); @@ -674,6 +673,7 @@ void libcdr::CDRContentCollector::_fillProperties(librevenge::RVNGPropertyList & while (angle > 360.0) angle -= 360.0; propList.insert("draw:angle", (int)angle); + librevenge::RVNGPropertyListVector vec; for (unsigned i = 0; i < m_currentFillStyle.gradient.m_stops.size(); i++) { libcdr::CDRGradientStop &gradStop = m_currentFillStyle.gradient.m_stops[i]; @@ -683,6 +683,7 @@ void libcdr::CDRContentCollector::_fillProperties(librevenge::RVNGPropertyList & stopElement.insert("svg:stop-opacity", m_fillOpacity, librevenge::RVNG_PERCENT); vec.append(stopElement); } + propList.insert("svg:linearGradient", vec); break; } } @@ -697,6 +698,7 @@ void libcdr::CDRContentCollector::_fillProperties(librevenge::RVNGPropertyList & while (angle > 360.0) angle -= 360.0; propList.insert("draw:angle", (int)angle); + librevenge::RVNGPropertyListVector vec; for (unsigned i = 0; i < m_currentFillStyle.gradient.m_stops.size(); i++) { libcdr::CDRGradientStop &gradStop = m_currentFillStyle.gradient.m_stops[i]; @@ -706,6 +708,7 @@ void libcdr::CDRContentCollector::_fillProperties(librevenge::RVNGPropertyList & stopElement.insert("svg:stop-opacity", m_fillOpacity, librevenge::RVNG_PERCENT); vec.append(stopElement); } + propList.insert("svg:linearGradient", vec); } break; case 7: // Pattern diff --git a/src/lib/CDRContentCollector.h b/src/lib/CDRContentCollector.h index 80b42d9..b84f84b 100644 --- a/src/lib/CDRContentCollector.h +++ b/src/lib/CDRContentCollector.h @@ -95,7 +95,7 @@ private: void _endPage(); void _flushCurrentPath(); - void _fillProperties(librevenge::RVNGPropertyList &propList, librevenge::RVNGPropertyListVector &vec); + void _fillProperties(librevenge::RVNGPropertyList &propList); void _lineProperties(librevenge::RVNGPropertyList &propList); void _generateBitmapFromPattern(librevenge::RVNGBinaryData &bitmap, const CDRPattern &pattern, const CDRColor &fgColor, const CDRColor &bgColor); diff --git a/src/lib/CDROutputElementList.cpp b/src/lib/CDROutputElementList.cpp index f70c57b..6a2ecd3 100644 --- a/src/lib/CDROutputElementList.cpp +++ b/src/lib/CDROutputElementList.cpp @@ -45,16 +45,15 @@ public: class CDRStyleOutputElement : public CDROutputElement { public: - CDRStyleOutputElement(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGPropertyListVector &propListVec); + CDRStyleOutputElement(const librevenge::RVNGPropertyList &propList); virtual ~CDRStyleOutputElement() {} virtual void draw(librevenge::RVNGDrawingInterface *painter); virtual CDROutputElement *clone() { - return new CDRStyleOutputElement(m_propList, m_propListVec); + return new CDRStyleOutputElement(m_propList); } private: librevenge::RVNGPropertyList m_propList; - librevenge::RVNGPropertyListVector m_propListVec; }; @@ -214,13 +213,13 @@ public: } // namespace libcdr -libcdr::CDRStyleOutputElement::CDRStyleOutputElement(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGPropertyListVector &propListVec) : - m_propList(propList), m_propListVec(propListVec) {} +libcdr::CDRStyleOutputElement::CDRStyleOutputElement(const librevenge::RVNGPropertyList &propList) : + m_propList(propList) {} void libcdr::CDRStyleOutputElement::draw(librevenge::RVNGDrawingInterface *painter) { if (painter) - painter->setStyle(m_propList, m_propListVec); + painter->setStyle(m_propList); } @@ -367,9 +366,9 @@ void libcdr::CDROutputElementList::draw(librevenge::RVNGDrawingInterface *painte (*iter)->draw(painter); } -void libcdr::CDROutputElementList::addStyle(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGPropertyListVector &propListVec) +void libcdr::CDROutputElementList::addStyle(const librevenge::RVNGPropertyList &propList) { - m_elements.push_back(new CDRStyleOutputElement(propList, propListVec)); + m_elements.push_back(new CDRStyleOutputElement(propList)); } void libcdr::CDROutputElementList::addPath(const librevenge::RVNGPropertyList &propList) diff --git a/src/lib/CDROutputElementList.h b/src/lib/CDROutputElementList.h index 06fae1a..ed33401 100644 --- a/src/lib/CDROutputElementList.h +++ b/src/lib/CDROutputElementList.h @@ -49,7 +49,7 @@ public: CDROutputElementList &operator=(const CDROutputElementList &elementList); virtual ~CDROutputElementList(); void draw(librevenge::RVNGDrawingInterface *painter) const; - void addStyle(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGPropertyListVector &propListVec); + void addStyle(const librevenge::RVNGPropertyList &propList); void addPath(const librevenge::RVNGPropertyList &propList); void addGraphicObject(const librevenge::RVNGPropertyList &propList); void addStartTextObject(const librevenge::RVNGPropertyList &propList);
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits