MSPUBCollector.h
Go to the documentation of this file.
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* This file is part of the libmspub project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#ifndef INCLUDED_MSPUBCOLLECTOR_H
#define INCLUDED_MSPUBCOLLECTOR_H
#include <list>
#include <map>
#include <set>
#include <utility>
#include <vector>
#include <librevenge/librevenge.h>
#include "BorderArtInfo.h"
#include "ColorReference.h"
#include "EmbeddedFontInfo.h"
#include "MSPUBTypes.h"
#include "PolygonUtils.h"
#include "ShapeInfo.h"
#include "ShapeType.h"
#include "VerticalAlign.h"
namespace libmspub
{
class Fill;
class ShapeGroupElement;
class VectorTransformation2D;
struct Arrow;
struct Coordinate;
struct Dash;
struct Line;
struct Shadow;
struct TableInfo;
class MSPUBCollector
{
friend class Fill;
friend class ImgFill;
friend class SolidFill;
friend class GradientFill;
friend class PatternFill;
public:
typedef std::list<ContentChunkReference>::const_iterator ccr_iterator_t;
MSPUBCollector(librevenge::RVNGDrawingInterface *painter);
virtual ~MSPUBCollector();
// collector functions
void collectMetaData(const librevenge::RVNGPropertyList &metaData);
bool addPage(unsigned seqNum);
bool addTextString(const std::vector<TextParagraph> &str, unsigned id);
void addTextShape(unsigned stringId, unsigned seqNum);
bool addImage(unsigned index, ImgType type, librevenge::RVNGBinaryData img);
void setBorderImageOffset(unsigned index, unsigned offset);
librevenge::RVNGBinaryData *addBorderImage(ImgType type, unsigned borderArtIndex);
void setShapePage(unsigned seqNum, unsigned pageSeqNum);
void setNextPage(unsigned seqNum);
void setShapeType(unsigned seqNum, ShapeType type);
void setShapeCropType(unsigned seqNum, ShapeType cropType);
void setShapePictureRecolor(unsigned seqNum, const ColorReference &recolor);
void setShapePictureBrightness(unsigned seqNum, int brightness);
void setShapePictureContrast(unsigned seqNum, int contrast);
void setShapeTableInfo(unsigned seqNum, const TableInfo &ti);
void setShapeBorderImageId(unsigned seqNum, unsigned borderImageId);
void setShapeCoordinatesInEmu(unsigned seqNum, int xs, int ys, int xe, int ye);
void setShapeImgIndex(unsigned seqNum, unsigned index);
void setShapeFill(unsigned seqNum, std::shared_ptr<Fill> fill, bool skipIfNotBg);
void setShapeDash(unsigned seqNum, const Dash &dash);
void setAdjustValue(unsigned seqNum, unsigned index, int adjust);
void setShapeRotation(unsigned seqNum, double rotation);
void setShapeFlip(unsigned, bool, bool);
void setShapeMargins(unsigned seqNum, unsigned left, unsigned top, unsigned right, unsigned bottom);
void setShapeBorderPosition(unsigned seqNum, BorderPosition pos);
void setShapeCoordinatesRotated90(unsigned seqNum);
void setShapeCustomPath(unsigned seqNum,
const DynamicCustomShape &shape);
void setShapeClipPath(unsigned seqNum, const std::vector<libmspub::Vertex> &clip);
void setShapeVerticalTextAlign(unsigned seqNum, VerticalAlign va);
void designateMasterPage(unsigned seqNum);
void setMasterPage(unsigned pageSeqNum, unsigned masterSeqNum);
void setShapeStretchBorderArt(unsigned seqNum);
void setShapeShadow(unsigned seqNum, const Shadow &shadow);
// Microsoft "Embedded OpenType" ... need to figure out how to convert
// this to a sane format and how to get LibreOffice to understand embedded fonts.
void addEOTFont(const librevenge::RVNGString &name, const librevenge::RVNGBinaryData &data);
void beginGroup();
bool endGroup();
void setShapeLineBackColor(unsigned seqNum, ColorReference backColor);
void addShapeLine(unsigned seqNum, Line line);
void setShapeOrder(unsigned seqNum);
void setPageBgShape(unsigned pageSeqNum, unsigned seqNum);
void setWidthInEmu(unsigned long);
void setHeightInEmu(unsigned long);
void setShapeNumColumns(unsigned seqNum, unsigned numColumns);
void setShapeColumnSpacing(unsigned seqNum, unsigned spacing);
void setShapeBeginArrow(unsigned seqNum, const Arrow &arrow);
void setShapeEndArrow(unsigned seqNum, const Arrow &arrow);
void addTextColor(ColorReference c);
void addFont(std::vector<unsigned char> name);
void addDefaultCharacterStyle(const CharacterStyle &style);
void addDefaultParagraphStyle(const ParagraphStyle &style);
void addPaletteColor(Color);
bool setCurrentGroupSeqNum(unsigned seqNum);
void useEncodingHeuristic();
void setTableCellTextEnds(unsigned textId, const std::vector<unsigned> &ends);
void setTextStringOffset(unsigned textId, unsigned offset);
bool go();
bool hasPage(unsigned seqNum) const;
private:
struct PageInfo
{
std::vector<std::shared_ptr<ShapeGroupElement>> m_shapeGroupsOrdered;
PageInfo() : m_shapeGroupsOrdered() { }
};
MSPUBCollector(const MSPUBCollector &);
MSPUBCollector &operator=(const MSPUBCollector &);
librevenge::RVNGDrawingInterface *m_painter;
std::list<ContentChunkReference> m_contentChunkReferences;
double m_width, m_height;
bool m_widthSet, m_heightSet;
unsigned short m_numPages;
std::map<unsigned, std::vector<TextParagraph> > m_textStringsById;
std::map<unsigned, PageInfo> m_pagesBySeqNum;
std::vector<std::pair<ImgType, librevenge::RVNGBinaryData> > m_images;
std::vector<BorderArtInfo> m_borderImages;
std::vector<ColorReference> m_textColors;
std::vector<std::vector<unsigned char> > m_fonts;
std::vector<CharacterStyle> m_defaultCharStyles;
std::vector<ParagraphStyle> m_defaultParaStyles;
std::map<unsigned, ShapeType> m_shapeTypesBySeqNum;
std::vector<Color> m_paletteColors;
std::vector<unsigned> m_shapeSeqNumsOrdered;
std::map<unsigned, unsigned> m_pageSeqNumsByShapeSeqNum;
std::map<unsigned, unsigned> m_bgShapeSeqNumsByPageSeqNum;
std::set<unsigned> m_skipIfNotBgSeqNums;
std::shared_ptr<ShapeGroupElement> m_currentShapeGroup;
std::vector<std::shared_ptr<ShapeGroupElement>> m_topLevelShapes;
std::map<unsigned, std::shared_ptr<ShapeGroupElement>> m_groupsBySeqNum;
std::list<EmbeddedFontInfo> m_embeddedFonts;
std::map<unsigned, ShapeInfo> m_shapeInfosBySeqNum;
std::set<unsigned> m_masterPages;
std::set<unsigned> m_shapesWithCoordinatesRotated90;
std::map<unsigned, unsigned> m_masterPagesByPageSeqNum;
std::map<unsigned, std::vector<unsigned> > m_tableCellTextEndsByTextId;
std::map<unsigned, unsigned> m_stringOffsetsByTextId;
mutable std::vector<bool> m_calculationValuesSeen;
std::vector<unsigned> m_pageSeqNumsOrdered;
bool m_encodingHeuristic;
std::vector<unsigned char> m_allText;
mutable boost::optional<const char *> m_calculatedEncoding;
librevenge::RVNGPropertyList m_metaData;
// helper functions
std::vector<int> getShapeAdjustValues(const ShapeInfo &info) const;
boost::optional<unsigned> getMasterPageSeqNum(unsigned pageSeqNum) const;
void setRectCoordProps(Coordinate, librevenge::RVNGPropertyList *) const;
boost::optional<std::vector<libmspub::TextParagraph> > getShapeText(const ShapeInfo &info) const;
void setupShapeStructures(ShapeGroupElement &elt);
void addBlackToPaletteIfNecessary();
void assignShapesToPages();
void writePage(unsigned pageSeqNum) const;
void writePageShapes(unsigned pageSeqNum) const;
void writePageBackground(unsigned pageSeqNum) const;
void writeImage(double x, double y, double height, double width,
ImgType type, const librevenge::RVNGBinaryData &blob,
boost::optional<Color> oneBitColor) const;
bool pageIsMaster(unsigned pageSeqNum) const;
std::function<void(void)> paintShape(const ShapeInfo &info, const Coordinate &relativeTo, const VectorTransformation2D &foldedTransform, bool isGroup, const VectorTransformation2D &thisTransform) const;
double getCalculationValue(const ShapeInfo &info, unsigned index, bool recursiveEntry, const std::vector<int> &adjustValues) const;
librevenge::RVNGPropertyList getCharStyleProps(const CharacterStyle &, boost::optional<unsigned> defaultCharStyleIndex) const;
librevenge::RVNGPropertyList getParaStyleProps(const ParagraphStyle &, boost::optional<unsigned> defaultParaStyleIndex) const;
double getSpecialValue(const ShapeInfo &info, const CustomShape &shape, int arg, const std::vector<int> &adjustValues) const;
void ponderStringEncoding(const std::vector<TextParagraph> &str);
const char *getCalculatedEncoding() const;
public:
static librevenge::RVNGString getColorString(const Color &);
};
} // namespace libmspub
#endif /* INCLUDED_MSPUBCOLLECTOR_H */
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
BorderArtInfo.h
ColorReference.h
EmbeddedFontInfo.h
MSPUBTypes.h
PolygonUtils.h
ShapeInfo.h
ShapeType.h
VerticalAlign.h
libmspub::ColorReference
Definition ColorReference.h:20
libmspub::Fill
Definition Fill.h:23
libmspub::MSPUBCollector::m_textStringsById
std::map< unsigned, std::vector< TextParagraph > > m_textStringsById
Definition MSPUBCollector.h:146
libmspub::MSPUBCollector::setHeightInEmu
void setHeightInEmu(unsigned long)
Definition MSPUBCollector.cpp:1911
libmspub::MSPUBCollector::writePage
void writePage(unsigned pageSeqNum) const
Definition MSPUBCollector.cpp:1768
libmspub::MSPUBCollector::m_shapeInfosBySeqNum
std::map< unsigned, ShapeInfo > m_shapeInfosBySeqNum
Definition MSPUBCollector.h:164
libmspub::MSPUBCollector::getParaStyleProps
librevenge::RVNGPropertyList getParaStyleProps(const ParagraphStyle &, boost::optional< unsigned > defaultParaStyleIndex) const
Definition MSPUBCollector.cpp:1542
libmspub::MSPUBCollector::m_masterPages
std::set< unsigned > m_masterPages
Definition MSPUBCollector.h:165
libmspub::MSPUBCollector::m_pagesBySeqNum
std::map< unsigned, PageInfo > m_pagesBySeqNum
Definition MSPUBCollector.h:147
libmspub::MSPUBCollector::addShapeLine
void addShapeLine(unsigned seqNum, Line line)
Definition MSPUBCollector.cpp:569
libmspub::MSPUBCollector::addTextString
bool addTextString(const std::vector< TextParagraph > &str, unsigned id)
Definition MSPUBCollector.cpp:1880
libmspub::MSPUBCollector::m_skipIfNotBgSeqNums
std::set< unsigned > m_skipIfNotBgSeqNums
Definition MSPUBCollector.h:159
libmspub::MSPUBCollector::m_topLevelShapes
std::vector< std::shared_ptr< ShapeGroupElement > > m_topLevelShapes
Definition MSPUBCollector.h:161
libmspub::MSPUBCollector::setMasterPage
void setMasterPage(unsigned pageSeqNum, unsigned masterSeqNum)
Definition MSPUBCollector.cpp:1988
libmspub::MSPUBCollector::setShapeStretchBorderArt
void setShapeStretchBorderArt(unsigned seqNum)
Definition MSPUBCollector.cpp:415
libmspub::MSPUBCollector::setShapeOrder
void setShapeOrder(unsigned seqNum)
Definition MSPUBCollector.cpp:605
libmspub::MSPUBCollector::setNextPage
void setNextPage(unsigned seqNum)
Definition MSPUBCollector.cpp:474
libmspub::MSPUBCollector::setTableCellTextEnds
void setTableCellTextEnds(unsigned textId, const std::vector< unsigned > &ends)
Definition MSPUBCollector.cpp:508
libmspub::MSPUBCollector::m_fonts
std::vector< std::vector< unsigned char > > m_fonts
Definition MSPUBCollector.h:151
libmspub::MSPUBCollector::addPage
bool addPage(unsigned seqNum)
Definition MSPUBCollector.cpp:1496
libmspub::MSPUBCollector::SolidFill
friend class SolidFill
Definition MSPUBCollector.h:48
libmspub::MSPUBCollector::setShapeColumnSpacing
void setShapeColumnSpacing(unsigned seqNum, unsigned spacing)
Definition MSPUBCollector.cpp:409
libmspub::MSPUBCollector::getMasterPageSeqNum
boost::optional< unsigned > getMasterPageSeqNum(unsigned pageSeqNum) const
Definition MSPUBCollector.cpp:1757
libmspub::MSPUBCollector::setShapeFlip
void setShapeFlip(unsigned, bool, bool)
Definition MSPUBCollector.cpp:1471
libmspub::MSPUBCollector::setShapeVerticalTextAlign
void setShapeVerticalTextAlign(unsigned seqNum, VerticalAlign va)
Definition MSPUBCollector.cpp:385
libmspub::MSPUBCollector::m_masterPagesByPageSeqNum
std::map< unsigned, unsigned > m_masterPagesByPageSeqNum
Definition MSPUBCollector.h:167
libmspub::MSPUBCollector::go
bool go()
Definition MSPUBCollector.cpp:1836
libmspub::MSPUBCollector::m_borderImages
std::vector< BorderArtInfo > m_borderImages
Definition MSPUBCollector.h:149
libmspub::MSPUBCollector::setShapeCoordinatesRotated90
void setShapeCoordinatesRotated90(unsigned seqNum)
Definition MSPUBCollector.cpp:528
libmspub::MSPUBCollector::addDefaultParagraphStyle
void addDefaultParagraphStyle(const ParagraphStyle &style)
Definition MSPUBCollector.cpp:1491
libmspub::MSPUBCollector::m_contentChunkReferences
std::list< ContentChunkReference > m_contentChunkReferences
Definition MSPUBCollector.h:142
libmspub::MSPUBCollector::setWidthInEmu
void setWidthInEmu(unsigned long)
Definition MSPUBCollector.cpp:1904
libmspub::MSPUBCollector::m_pageSeqNumsByShapeSeqNum
std::map< unsigned, unsigned > m_pageSeqNumsByShapeSeqNum
Definition MSPUBCollector.h:157
libmspub::MSPUBCollector::m_groupsBySeqNum
std::map< unsigned, std::shared_ptr< ShapeGroupElement > > m_groupsBySeqNum
Definition MSPUBCollector.h:162
libmspub::MSPUBCollector::setShapeBeginArrow
void setShapeBeginArrow(unsigned seqNum, const Arrow &arrow)
Definition MSPUBCollector.cpp:379
libmspub::MSPUBCollector::m_pageSeqNumsOrdered
std::vector< unsigned > m_pageSeqNumsOrdered
Definition MSPUBCollector.h:171
libmspub::MSPUBCollector::m_allText
std::vector< unsigned char > m_allText
Definition MSPUBCollector.h:173
libmspub::MSPUBCollector::setShapeFill
void setShapeFill(unsigned seqNum, std::shared_ptr< Fill > fill, bool skipIfNotBg)
Definition MSPUBCollector.cpp:1523
libmspub::MSPUBCollector::setupShapeStructures
void setupShapeStructures(ShapeGroupElement &elt)
Definition MSPUBCollector.cpp:666
libmspub::MSPUBCollector::setShapePictureContrast
void setShapePictureContrast(unsigned seqNum, int contrast)
Definition MSPUBCollector.cpp:373
libmspub::MSPUBCollector::ImgFill
friend class ImgFill
Definition MSPUBCollector.h:47
libmspub::MSPUBCollector::setShapeCoordinatesInEmu
void setShapeCoordinatesInEmu(unsigned seqNum, int xs, int ys, int xe, int ye)
Definition MSPUBCollector.cpp:1532
libmspub::MSPUBCollector::GradientFill
friend class GradientFill
Definition MSPUBCollector.h:49
libmspub::MSPUBCollector::ccr_iterator_t
std::list< ContentChunkReference >::const_iterator ccr_iterator_t
Definition MSPUBCollector.h:52
libmspub::MSPUBCollector::setShapeLineBackColor
void setShapeLineBackColor(unsigned seqNum, ColorReference backColor)
Definition MSPUBCollector.cpp:1313
libmspub::MSPUBCollector::setCurrentGroupSeqNum
bool setCurrentGroupSeqNum(unsigned seqNum)
Definition MSPUBCollector.cpp:594
libmspub::MSPUBCollector::m_shapeSeqNumsOrdered
std::vector< unsigned > m_shapeSeqNumsOrdered
Definition MSPUBCollector.h:156
libmspub::MSPUBCollector::setShapePictureRecolor
void setShapePictureRecolor(unsigned seqNum, const ColorReference &recolor)
Definition MSPUBCollector.cpp:361
libmspub::MSPUBCollector::m_embeddedFonts
std::list< EmbeddedFontInfo > m_embeddedFonts
Definition MSPUBCollector.h:163
libmspub::MSPUBCollector::m_widthSet
bool m_widthSet
Definition MSPUBCollector.h:144
libmspub::MSPUBCollector::MSPUBCollector
MSPUBCollector(librevenge::RVNGDrawingInterface *painter)
Definition MSPUBCollector.cpp:479
libmspub::MSPUBCollector::MSPUBCollector
MSPUBCollector(const MSPUBCollector &)
libmspub::MSPUBCollector::designateMasterPage
void designateMasterPage(unsigned seqNum)
Definition MSPUBCollector.cpp:1983
libmspub::MSPUBCollector::setShapeShadow
void setShapeShadow(unsigned seqNum, const Shadow &shadow)
Definition MSPUBCollector.cpp:519
libmspub::MSPUBCollector::addEOTFont
void addEOTFont(const librevenge::RVNGString &name, const librevenge::RVNGBinaryData &data)
Definition MSPUBCollector.cpp:356
libmspub::MSPUBCollector::setShapeBorderImageId
void setShapeBorderImageId(unsigned seqNum, unsigned borderImageId)
Definition MSPUBCollector.cpp:533
libmspub::MSPUBCollector::m_height
double m_height
Definition MSPUBCollector.h:143
libmspub::MSPUBCollector::setShapeNumColumns
void setShapeNumColumns(unsigned seqNum, unsigned numColumns)
Definition MSPUBCollector.cpp:403
libmspub::MSPUBCollector::setBorderImageOffset
void setBorderImageOffset(unsigned index, unsigned offset)
Definition MSPUBCollector.cpp:1947
libmspub::MSPUBCollector::pageIsMaster
bool pageIsMaster(unsigned pageSeqNum) const
Definition MSPUBCollector.cpp:1831
libmspub::MSPUBCollector::addFont
void addFont(std::vector< unsigned char > name)
Definition MSPUBCollector.cpp:1537
libmspub::MSPUBCollector::setPageBgShape
void setPageBgShape(unsigned pageSeqNum, unsigned seqNum)
Definition MSPUBCollector.cpp:589
libmspub::MSPUBCollector::writeImage
void writeImage(double x, double y, double height, double width, ImgType type, const librevenge::RVNGBinaryData &blob, boost::optional< Color > oneBitColor) const
Definition MSPUBCollector.cpp:1319
libmspub::MSPUBCollector::setShapeRotation
void setShapeRotation(unsigned seqNum, double rotation)
Definition MSPUBCollector.cpp:1465
libmspub::MSPUBCollector::setShapeType
void setShapeType(unsigned seqNum, ShapeType type)
Definition MSPUBCollector.cpp:1476
libmspub::MSPUBCollector::getSpecialValue
double getSpecialValue(const ShapeInfo &info, const CustomShape &shape, int arg, const std::vector< int > &adjustValues) const
Definition MSPUBCollector.cpp:1341
libmspub::MSPUBCollector::setShapePage
void setShapePage(unsigned seqNum, unsigned pageSeqNum)
Definition MSPUBCollector.cpp:1972
libmspub::MSPUBCollector::writePageShapes
void writePageShapes(unsigned pageSeqNum) const
Definition MSPUBCollector.cpp:1800
libmspub::MSPUBCollector::setShapeImgIndex
void setShapeImgIndex(unsigned seqNum, unsigned index)
Definition MSPUBCollector.cpp:1512
libmspub::MSPUBCollector::setShapeCropType
void setShapeCropType(unsigned seqNum, ShapeType cropType)
Definition MSPUBCollector.cpp:1993
libmspub::MSPUBCollector::setShapeClipPath
void setShapeClipPath(unsigned seqNum, const std::vector< libmspub::Vertex > &clip)
Definition MSPUBCollector.cpp:544
libmspub::MSPUBCollector::setRectCoordProps
void setRectCoordProps(Coordinate, librevenge::RVNGPropertyList *) const
Definition MSPUBCollector.cpp:420
libmspub::MSPUBCollector::m_calculationValuesSeen
std::vector< bool > m_calculationValuesSeen
Definition MSPUBCollector.h:170
libmspub::MSPUBCollector::m_shapesWithCoordinatesRotated90
std::set< unsigned > m_shapesWithCoordinatesRotated90
Definition MSPUBCollector.h:166
libmspub::MSPUBCollector::addDefaultCharacterStyle
void addDefaultCharacterStyle(const CharacterStyle &style)
Definition MSPUBCollector.cpp:1486
libmspub::MSPUBCollector::addBorderImage
librevenge::RVNGBinaryData * addBorderImage(ImgType type, unsigned borderArtIndex)
Definition MSPUBCollector.cpp:1936
libmspub::MSPUBCollector::writePageBackground
void writePageBackground(unsigned pageSeqNum) const
Definition MSPUBCollector.cpp:1807
libmspub::MSPUBCollector::setShapePictureBrightness
void setShapePictureBrightness(unsigned seqNum, int brightness)
Definition MSPUBCollector.cpp:367
libmspub::MSPUBCollector::collectMetaData
void collectMetaData(const librevenge::RVNGPropertyList &metaData)
Definition MSPUBCollector.cpp:351
libmspub::MSPUBCollector::setShapeDash
void setShapeDash(unsigned seqNum, const Dash &dash)
Definition MSPUBCollector.cpp:1518
libmspub::MSPUBCollector::PatternFill
friend class PatternFill
Definition MSPUBCollector.h:50
libmspub::MSPUBCollector::addTextColor
void addTextColor(ColorReference c)
Definition MSPUBCollector.cpp:1978
libmspub::MSPUBCollector::m_metaData
librevenge::RVNGPropertyList m_metaData
Definition MSPUBCollector.h:175
libmspub::MSPUBCollector::m_textColors
std::vector< ColorReference > m_textColors
Definition MSPUBCollector.h:150
libmspub::MSPUBCollector::m_currentShapeGroup
std::shared_ptr< ShapeGroupElement > m_currentShapeGroup
Definition MSPUBCollector.h:160
libmspub::MSPUBCollector::m_heightSet
bool m_heightSet
Definition MSPUBCollector.h:144
libmspub::MSPUBCollector::getCalculatedEncoding
const char * getCalculatedEncoding() const
Definition MSPUBCollector.cpp:1251
libmspub::MSPUBCollector::addTextShape
void addTextShape(unsigned stringId, unsigned seqNum)
Definition MSPUBCollector.cpp:1507
libmspub::MSPUBCollector::endGroup
bool endGroup()
Definition MSPUBCollector.cpp:559
libmspub::MSPUBCollector::~MSPUBCollector
virtual ~MSPUBCollector()
Definition MSPUBCollector.cpp:1461
libmspub::MSPUBCollector::paintShape
std::function< void(void)> paintShape(const ShapeInfo &info, const Coordinate &relativeTo, const VectorTransformation2D &foldedTransform, bool isGroup, const VectorTransformation2D &thisTransform) const
Definition MSPUBCollector.cpp:694
libmspub::MSPUBCollector::setTextStringOffset
void setTextStringOffset(unsigned textId, unsigned offset)
Definition MSPUBCollector.cpp:502
libmspub::MSPUBCollector::m_painter
librevenge::RVNGDrawingInterface * m_painter
Definition MSPUBCollector.h:141
libmspub::MSPUBCollector::hasPage
bool hasPage(unsigned seqNum) const
Definition MSPUBCollector.cpp:579
libmspub::MSPUBCollector::m_defaultCharStyles
std::vector< CharacterStyle > m_defaultCharStyles
Definition MSPUBCollector.h:152
libmspub::MSPUBCollector::m_width
double m_width
Definition MSPUBCollector.h:143
libmspub::MSPUBCollector::setAdjustValue
void setAdjustValue(unsigned seqNum, unsigned index, int adjust)
Definition MSPUBCollector.cpp:1481
libmspub::MSPUBCollector::assignShapesToPages
void assignShapesToPages()
Definition MSPUBCollector.cpp:1740
libmspub::MSPUBCollector::m_images
std::vector< std::pair< ImgType, librevenge::RVNGBinaryData > > m_images
Definition MSPUBCollector.h:148
libmspub::MSPUBCollector::m_paletteColors
std::vector< Color > m_paletteColors
Definition MSPUBCollector.h:155
libmspub::MSPUBCollector::m_tableCellTextEndsByTextId
std::map< unsigned, std::vector< unsigned > > m_tableCellTextEndsByTextId
Definition MSPUBCollector.h:168
libmspub::MSPUBCollector::setShapeBorderPosition
void setShapeBorderPosition(unsigned seqNum, BorderPosition pos)
Definition MSPUBCollector.cpp:574
libmspub::MSPUBCollector::useEncodingHeuristic
void useEncodingHeuristic()
Definition MSPUBCollector.cpp:514
libmspub::MSPUBCollector::getCharStyleProps
librevenge::RVNGPropertyList getCharStyleProps(const CharacterStyle &, boost::optional< unsigned > defaultCharStyleIndex) const
Definition MSPUBCollector.cpp:1625
libmspub::MSPUBCollector::m_numPages
unsigned short m_numPages
Definition MSPUBCollector.h:145
libmspub::MSPUBCollector::m_defaultParaStyles
std::vector< ParagraphStyle > m_defaultParaStyles
Definition MSPUBCollector.h:153
libmspub::MSPUBCollector::setShapeMargins
void setShapeMargins(unsigned seqNum, unsigned left, unsigned top, unsigned right, unsigned bottom)
Definition MSPUBCollector.cpp:584
libmspub::MSPUBCollector::getShapeText
boost::optional< std::vector< libmspub::TextParagraph > > getShapeText(const ShapeInfo &info) const
Definition MSPUBCollector.cpp:652
libmspub::MSPUBCollector::beginGroup
void beginGroup()
Definition MSPUBCollector.cpp:549
libmspub::MSPUBCollector::m_bgShapeSeqNumsByPageSeqNum
std::map< unsigned, unsigned > m_bgShapeSeqNumsByPageSeqNum
Definition MSPUBCollector.h:158
libmspub::MSPUBCollector::ponderStringEncoding
void ponderStringEncoding(const std::vector< TextParagraph > &str)
Definition MSPUBCollector.cpp:1891
libmspub::MSPUBCollector::getColorString
static librevenge::RVNGString getColorString(const Color &)
Definition MSPUBCollector.cpp:1724
libmspub::MSPUBCollector::getShapeAdjustValues
std::vector< int > getShapeAdjustValues(const ShapeInfo &info) const
Definition MSPUBCollector.cpp:628
libmspub::MSPUBCollector::m_shapeTypesBySeqNum
std::map< unsigned, ShapeType > m_shapeTypesBySeqNum
Definition MSPUBCollector.h:154
libmspub::MSPUBCollector::addBlackToPaletteIfNecessary
void addBlackToPaletteIfNecessary()
Definition MSPUBCollector.cpp:1732
libmspub::MSPUBCollector::m_encodingHeuristic
bool m_encodingHeuristic
Definition MSPUBCollector.h:172
libmspub::MSPUBCollector::operator=
MSPUBCollector & operator=(const MSPUBCollector &)
libmspub::MSPUBCollector::setShapeTableInfo
void setShapeTableInfo(unsigned seqNum, const TableInfo &ti)
Definition MSPUBCollector.cpp:397
libmspub::MSPUBCollector::m_calculatedEncoding
boost::optional< const char * > m_calculatedEncoding
Definition MSPUBCollector.h:174
libmspub::MSPUBCollector::Fill
friend class Fill
Definition MSPUBCollector.h:46
libmspub::MSPUBCollector::m_stringOffsetsByTextId
std::map< unsigned, unsigned > m_stringOffsetsByTextId
Definition MSPUBCollector.h:169
libmspub::MSPUBCollector::getCalculationValue
double getCalculationValue(const ShapeInfo &info, unsigned index, bool recursiveEntry, const std::vector< int > &adjustValues) const
Definition MSPUBCollector.cpp:1381
libmspub::MSPUBCollector::addPaletteColor
void addPaletteColor(Color)
Definition MSPUBCollector.cpp:614
libmspub::MSPUBCollector::setShapeCustomPath
void setShapeCustomPath(unsigned seqNum, const DynamicCustomShape &shape)
Definition MSPUBCollector.cpp:538
libmspub::MSPUBCollector::setShapeEndArrow
void setShapeEndArrow(unsigned seqNum, const Arrow &arrow)
Definition MSPUBCollector.cpp:391
libmspub::MSPUBCollector::addImage
bool addImage(unsigned index, ImgType type, librevenge::RVNGBinaryData img)
Definition MSPUBCollector.cpp:1918
libmspub::ShapeGroupElement
Definition ShapeGroupElement.h:28
libmspub::VectorTransformation2D
Definition VectorTransformation2D.h:26
libmspub
Definition Arrow.h:14
libmspub::ShapeType
ShapeType
Definition ShapeType.h:16
libmspub::VerticalAlign
VerticalAlign
Definition VerticalAlign.h:16
libmspub::BorderPosition
BorderPosition
Definition MSPUBTypes.h:27
libmspub::ImgType
ImgType
Definition MSPUBTypes.h:214
libmspub::Arrow
Definition Arrow.h:31
libmspub::CharacterStyle
Definition MSPUBTypes.h:113
libmspub::Color
Definition MSPUBTypes.h:200
libmspub::Coordinate
Definition Coordinate.h:22
libmspub::CustomShape
Definition PolygonUtils.h:60
libmspub::Dash
Definition Dash.h:50
libmspub::DynamicCustomShape
Definition PolygonUtils.h:91
libmspub::Line
Definition Line.h:21
libmspub::MSPUBCollector::PageInfo::PageInfo
PageInfo()
Definition MSPUBCollector.h:135
libmspub::MSPUBCollector::PageInfo::m_shapeGroupsOrdered
std::vector< std::shared_ptr< ShapeGroupElement > > m_shapeGroupsOrdered
Definition MSPUBCollector.h:134
libmspub::ParagraphStyle
Definition MSPUBTypes.h:164
libmspub::Shadow
Definition Shadow.h:27
libmspub::ShapeInfo
Definition ShapeInfo.h:38
libmspub::TableInfo
Definition TableInfo.h:35