[Libreoffice-commits] libvisio.git: configure.ac src/lib
Fridrich Å trba
fridrich.strba at bluewin.ch
Thu Nov 14 05:18:27 PST 2013
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.strba at 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
More information about the Libreoffice-commits
mailing list