configure.ac | 4 ---- src/lib/VDXParser.cpp | 2 +- src/lib/VSDContentCollector.cpp | 19 ++++++++++--------- src/lib/VSDOutputElementList.cpp | 15 +++++++-------- src/lib/VSDOutputElementList.h | 2 +- src/lib/libvisio_utils.cpp | 24 ------------------------ src/lib/libvisio_utils.h | 2 -- 7 files changed, 19 insertions(+), 49 deletions(-)
New commits: commit 160bf0730eccf727d59b6ad41417631c48844915 Author: Fridrich Å trba <fridrich.st...@bluewin.ch> Date: Thu Nov 14 14:18:02 2013 +0100 Adapt to API change in librevenge Change-Id: I5a705cc554d6bedbbf93cd1bf798461dc50f376a diff --git a/configure.ac b/configure.ac index 673af7c..7fa0150 100644 --- a/configure.ac +++ b/configure.ac @@ -104,11 +104,7 @@ AC_SUBST(ZLIB_LIBS) AC_CHECK_HEADERS( boost/algorithm/string.hpp \ - boost/archive/iterators/binary_from_base64.hpp \ - boost/archive/iterators/remove_whitespace.hpp \ - boost/archive/iterators/transform_width.hpp \ boost/optional.hpp \ - boost/range/iterator_range.hpp \ boost/spirit/include/classic.hpp, [], [AC_MSG_ERROR(Required boost headers not found. install boost >= 1.36)], diff --git a/src/lib/VDXParser.cpp b/src/lib/VDXParser.cpp index 292243e..2136636 100644 --- a/src/lib/VDXParser.cpp +++ b/src/lib/VDXParser.cpp @@ -843,7 +843,7 @@ void libvisio::VDXParser::getBinaryData(xmlTextReaderPtr reader) if (!m_shape.m_foreign) m_shape.m_foreign = new ForeignData(); m_shape.m_foreign->data.clear(); - appendFromBase64(m_shape.m_foreign->data, data, xmlStrlen(data)); + m_shape.m_foreign->data.append(librevenge::RVNGString((const char *)data)); } } } diff --git a/src/lib/VSDContentCollector.cpp b/src/lib/VSDContentCollector.cpp index 68cb54f..a9537d3 100644 --- a/src/lib/VSDContentCollector.cpp +++ b/src/lib/VSDContentCollector.cpp @@ -707,7 +707,8 @@ void libvisio::VSDContentCollector::_flushCurrentForeignData() if (m_currentForeignData.size() && m_currentForeignProps["librevenge:mime-type"] && m_foreignWidth != 0.0 && m_foreignHeight != 0.0) { m_shapeOutputDrawing->addStyle(styleProps, librevenge::RVNGPropertyListVector()); - m_shapeOutputDrawing->addGraphicObject(m_currentForeignProps, m_currentForeignData); + m_currentForeignProps.insert("office:binary-data", m_currentForeignData); + m_shapeOutputDrawing->addGraphicObject(m_currentForeignProps); } m_currentForeignData.clear(); m_currentForeignProps.clear(); @@ -1111,15 +1112,15 @@ void libvisio::VSDContentCollector::_handleForeignData(const librevenge::RVNGBin m_currentForeignData.append((unsigned char)(((binaryData.size() + 14) & 0x00ff0000) >> 16)); m_currentForeignData.append((unsigned char)(((binaryData.size() + 14) & 0xff000000) >> 24)); - m_currentForeignData.append(0x00); - m_currentForeignData.append(0x00); - m_currentForeignData.append(0x00); - m_currentForeignData.append(0x00); + m_currentForeignData.append((unsigned char)0x00); + m_currentForeignData.append((unsigned char)0x00); + m_currentForeignData.append((unsigned char)0x00); + m_currentForeignData.append((unsigned char)0x00); - m_currentForeignData.append(0x36); - m_currentForeignData.append(0x00); - m_currentForeignData.append(0x00); - m_currentForeignData.append(0x00); + m_currentForeignData.append((unsigned char)0x36); + m_currentForeignData.append((unsigned char)0x00); + m_currentForeignData.append((unsigned char)0x00); + m_currentForeignData.append((unsigned char)0x00); } m_currentForeignData.append(binaryData); diff --git a/src/lib/VSDOutputElementList.cpp b/src/lib/VSDOutputElementList.cpp index af6275f..9fe4a66 100644 --- a/src/lib/VSDOutputElementList.cpp +++ b/src/lib/VSDOutputElementList.cpp @@ -77,16 +77,15 @@ private: class VSDGraphicObjectOutputElement : public VSDOutputElement { public: - VSDGraphicObjectOutputElement(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGBinaryData &binaryData); + VSDGraphicObjectOutputElement(const librevenge::RVNGPropertyList &propList); virtual ~VSDGraphicObjectOutputElement() {} virtual void draw(librevenge::RVNGDrawingInterface *painter); virtual VSDOutputElement *clone() { - return new VSDGraphicObjectOutputElement(m_propList, m_binaryData); + return new VSDGraphicObjectOutputElement(m_propList); } private: librevenge::RVNGPropertyList m_propList; - librevenge::RVNGBinaryData m_binaryData; }; @@ -240,13 +239,13 @@ void libvisio::VSDPathOutputElement::draw(librevenge::RVNGDrawingInterface *pain } -libvisio::VSDGraphicObjectOutputElement::VSDGraphicObjectOutputElement(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGBinaryData &binaryData) : - m_propList(propList), m_binaryData(binaryData) {} +libvisio::VSDGraphicObjectOutputElement::VSDGraphicObjectOutputElement(const librevenge::RVNGPropertyList &propList) : + m_propList(propList) {} void libvisio::VSDGraphicObjectOutputElement::draw(librevenge::RVNGDrawingInterface *painter) { if (painter) - painter->drawGraphicObject(m_propList, m_binaryData); + painter->drawGraphicObject(m_propList); } @@ -389,9 +388,9 @@ void libvisio::VSDOutputElementList::addPath(const librevenge::RVNGPropertyListV m_elements.push_back(new VSDPathOutputElement(propListVec)); } -void libvisio::VSDOutputElementList::addGraphicObject(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGBinaryData &binaryData) +void libvisio::VSDOutputElementList::addGraphicObject(const librevenge::RVNGPropertyList &propList) { - m_elements.push_back(new VSDGraphicObjectOutputElement(propList, binaryData)); + m_elements.push_back(new VSDGraphicObjectOutputElement(propList)); } void libvisio::VSDOutputElementList::addStartTextObject(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGPropertyListVector &propListVec) diff --git a/src/lib/VSDOutputElementList.h b/src/lib/VSDOutputElementList.h index c86e5f9..d65e946 100644 --- a/src/lib/VSDOutputElementList.h +++ b/src/lib/VSDOutputElementList.h @@ -52,7 +52,7 @@ public: void draw(librevenge::RVNGDrawingInterface *painter) const; void addStyle(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGPropertyListVector &propListVec); void addPath(const librevenge::RVNGPropertyListVector &propListVec); - void addGraphicObject(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGBinaryData &binaryData); + void addGraphicObject(const librevenge::RVNGPropertyList &propList); void addStartTextObject(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGPropertyListVector &propListVec); void addOpenParagraph(const librevenge::RVNGPropertyList &propList, const librevenge::RVNGPropertyListVector &propListVec); void addOpenSpan(const librevenge::RVNGPropertyList &propList); diff --git a/src/lib/libvisio_utils.cpp b/src/lib/libvisio_utils.cpp index a5c12d0..818933f 100644 --- a/src/lib/libvisio_utils.cpp +++ b/src/lib/libvisio_utils.cpp @@ -34,11 +34,6 @@ #include "VSDInternalStream.h" #include "libvisio_utils.h" -#include <boost/archive/iterators/binary_from_base64.hpp> -#include <boost/archive/iterators/remove_whitespace.hpp> -#include <boost/archive/iterators/transform_width.hpp> -#include <boost/range/iterator_range.hpp> - uint8_t libvisio::readU8(librevenge::RVNGInputStream *input) { if (!input || input->isEnd()) @@ -126,25 +121,6 @@ double libvisio::readDouble(librevenge::RVNGInputStream *input) return tmpUnion.d; } -void libvisio::appendFromBase64(librevenge::RVNGBinaryData &data, const unsigned char *base64Data, size_t base64DataLength) -{ - std::string base64String((const char *)base64Data, base64DataLength); - unsigned numPadding = std::count(base64String.begin(), base64String.end(), '='); - std::replace(base64String.begin(),base64String.end(),'=','A'); // replace '=' by base64 encoding of '\0' - typedef boost::archive::iterators::transform_width< - boost::archive::iterators::binary_from_base64< - boost::archive::iterators::remove_whitespace< std::string::const_iterator > >, 8, 6 > base64_decoder; - - std::vector<unsigned char> buffer; - std::copy(base64_decoder(base64String.begin()), base64_decoder(base64String.end()), std::back_inserter(buffer)); - if (!buffer.empty()) - { - buffer.erase(buffer.end()-numPadding,buffer.end()); // erase padding '\0' characters - if (!buffer.empty()) - data.append(&buffer[0], buffer.size()); - } -} - const librevenge::RVNGString libvisio::getColourString(const Colour &c) { librevenge::RVNGString sColour; diff --git a/src/lib/libvisio_utils.h b/src/lib/libvisio_utils.h index 1ffb386..9916502 100644 --- a/src/lib/libvisio_utils.h +++ b/src/lib/libvisio_utils.h @@ -98,8 +98,6 @@ uint64_t readU64(librevenge::RVNGInputStream *input); double readDouble(librevenge::RVNGInputStream *input); -void appendFromBase64(librevenge::RVNGBinaryData &data, const unsigned char *base64Data, size_t base64DataLength); - const librevenge::RVNGString getColourString(const Colour &c); class EndOfStreamException
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits