10 #ifndef INCLUDED_MSPUBCOLLECTOR_H 11 #define INCLUDED_MSPUBCOLLECTOR_H 22 #include <librevenge/librevenge.h> 60 bool addTextString(
const std::vector<TextParagraph> &str,
unsigned id);
62 bool addImage(
unsigned index,
ImgType type, librevenge::RVNGBinaryData img);
78 void setShapeFill(
unsigned seqNum, std::shared_ptr<Fill> fill,
bool skipIfNotBg);
83 void setShapeMargins(
unsigned seqNum,
unsigned left,
unsigned top,
unsigned right,
unsigned bottom);
88 void setShapeClipPath(
unsigned seqNum,
const std::vector<libmspub::Vertex> &clip);
91 void setMasterPage(
unsigned pageSeqNum,
unsigned masterSeqNum);
97 void addEOTFont(
const librevenge::RVNGString &name,
const librevenge::RVNGBinaryData &data);
114 void addFont(std::vector<unsigned char> name);
128 bool hasPage(
unsigned seqNum)
const;
147 std::vector<std::pair<ImgType, librevenge::RVNGBinaryData> >
m_images;
150 std::vector<std::vector<unsigned char> >
m_fonts;
184 void writePage(
unsigned pageSeqNum)
const;
187 void writeImage(
double x,
double y,
double height,
double width,
188 ImgType type,
const librevenge::RVNGBinaryData &blob,
189 boost::optional<Color> oneBitColor)
const;
void setShapeClipPath(unsigned seqNum, const std::vector< libmspub::Vertex > &clip)
Definition: MSPUBCollector.cpp:528
bool addImage(unsigned index, ImgType type, librevenge::RVNGBinaryData img)
Definition: MSPUBCollector.cpp:1904
std::vector< ParagraphStyle > m_defaultParaStyles
Definition: MSPUBCollector.h:152
void addBlackToPaletteIfNecessary()
Definition: MSPUBCollector.cpp:1718
void setShapeBeginArrow(unsigned seqNum, const Arrow &arrow)
Definition: MSPUBCollector.cpp:367
std::map< unsigned, ShapeType > m_shapeTypesBySeqNum
Definition: MSPUBCollector.h:153
void setShapeBorderImageId(unsigned seqNum, unsigned borderImageId)
Definition: MSPUBCollector.cpp:517
void ponderStringEncoding(const std::vector< TextParagraph > &str)
Definition: MSPUBCollector.cpp:1877
std::map< unsigned, std::vector< TextParagraph > > m_textStringsById
Definition: MSPUBCollector.h:145
void writePageBackground(unsigned pageSeqNum) const
Definition: MSPUBCollector.cpp:1793
std::vector< CharacterStyle > m_defaultCharStyles
Definition: MSPUBCollector.h:151
void setBorderImageOffset(unsigned index, unsigned offset)
Definition: MSPUBCollector.cpp:1933
Definition: TableInfo.h:34
Definition: MSPUBTypes.h:199
void setShapeShadow(unsigned seqNum, const Shadow &shadow)
Definition: MSPUBCollector.cpp:503
void setPageBgShape(unsigned pageSeqNum, unsigned seqNum)
Definition: MSPUBCollector.cpp:575
librevenge::RVNGDrawingInterface * m_painter
Definition: MSPUBCollector.h:140
void setNextPage(unsigned seqNum)
Definition: MSPUBCollector.cpp:458
void writeImage(double x, double y, double height, double width, ImgType type, const librevenge::RVNGBinaryData &blob, boost::optional< Color > oneBitColor) const
Definition: MSPUBCollector.cpp:1305
void setShapeMargins(unsigned seqNum, unsigned left, unsigned top, unsigned right, unsigned bottom)
Definition: MSPUBCollector.cpp:570
void setShapeColumnSpacing(unsigned seqNum, unsigned spacing)
Definition: MSPUBCollector.cpp:397
std::vector< BorderArtInfo > m_borderImages
Definition: MSPUBCollector.h:148
std::vector< std::vector< unsigned char > > m_fonts
Definition: MSPUBCollector.h:150
void addDefaultParagraphStyle(const ParagraphStyle &style)
Definition: MSPUBCollector.cpp:1477
Definition: MSPUBCollector.h:131
librevenge::RVNGPropertyList getParaStyleProps(const ParagraphStyle &, boost::optional< unsigned > defaultParaStyleIndex) const
Definition: MSPUBCollector.cpp:1528
librevenge::RVNGBinaryData * addBorderImage(ImgType type, unsigned borderArtIndex)
Definition: MSPUBCollector.cpp:1922
void setAdjustValue(unsigned seqNum, unsigned index, int adjust)
Definition: MSPUBCollector.cpp:1467
void setTextStringOffset(unsigned textId, unsigned offset)
Definition: MSPUBCollector.cpp:486
void setRectCoordProps(Coordinate, librevenge::RVNGPropertyList *) const
Definition: MSPUBCollector.cpp:408
Definition: PolygonUtils.h:91
void setShapeNumColumns(unsigned seqNum, unsigned numColumns)
Definition: MSPUBCollector.cpp:391
boost::optional< std::vector< libmspub::TextParagraph > > getShapeText(const ShapeInfo &info) const
Definition: MSPUBCollector.cpp:638
void setShapeRotation(unsigned seqNum, double rotation)
Definition: MSPUBCollector.cpp:1451
void writePage(unsigned pageSeqNum) const
Definition: MSPUBCollector.cpp:1754
std::set< unsigned > m_skipIfNotBgSeqNums
Definition: MSPUBCollector.h:158
void addTextShape(unsigned stringId, unsigned seqNum)
Definition: MSPUBCollector.cpp:1493
void designateMasterPage(unsigned seqNum)
Definition: MSPUBCollector.cpp:1969
bool m_heightSet
Definition: MSPUBCollector.h:143
void setShapeCropType(unsigned seqNum, ShapeType cropType)
Definition: MSPUBCollector.cpp:1979
BorderPosition
Definition: MSPUBTypes.h:26
Definition: ColorReference.h:17
void setShapeFill(unsigned seqNum, std::shared_ptr< Fill > fill, bool skipIfNotBg)
Definition: MSPUBCollector.cpp:1509
boost::optional< unsigned > getMasterPageSeqNum(unsigned pageSeqNum) const
Definition: MSPUBCollector.cpp:1743
void setMasterPage(unsigned pageSeqNum, unsigned masterSeqNum)
Definition: MSPUBCollector.cpp:1974
void setShapeCoordinatesRotated90(unsigned seqNum)
Definition: MSPUBCollector.cpp:512
bool m_widthSet
Definition: MSPUBCollector.h:143
bool setCurrentGroupSeqNum(unsigned seqNum)
Definition: MSPUBCollector.cpp:580
void setShapeCustomPath(unsigned seqNum, const DynamicCustomShape &shape)
Definition: MSPUBCollector.cpp:522
bool m_encodingHeuristic
Definition: MSPUBCollector.h:171
void addEOTFont(const librevenge::RVNGString &name, const librevenge::RVNGBinaryData &data)
Definition: MSPUBCollector.cpp:344
std::map< unsigned, std::vector< unsigned > > m_tableCellTextEndsByTextId
Definition: MSPUBCollector.h:167
void useEncodingHeuristic()
Definition: MSPUBCollector.cpp:498
void setShapeStretchBorderArt(unsigned seqNum)
Definition: MSPUBCollector.cpp:403
std::list< EmbeddedFontInfo > m_embeddedFonts
Definition: MSPUBCollector.h:162
virtual ~MSPUBCollector()
Definition: MSPUBCollector.cpp:1447
std::map< unsigned, std::shared_ptr< ShapeGroupElement > > m_groupsBySeqNum
Definition: MSPUBCollector.h:161
void setShapeEndArrow(unsigned seqNum, const Arrow &arrow)
Definition: MSPUBCollector.cpp:379
void addDefaultCharacterStyle(const CharacterStyle &style)
Definition: MSPUBCollector.cpp:1472
Definition: Coordinate.h:17
std::vector< std::shared_ptr< ShapeGroupElement > > m_shapeGroupsOrdered
Definition: MSPUBCollector.h:133
bool addTextString(const std::vector< TextParagraph > &str, unsigned id)
Definition: MSPUBCollector.cpp:1866
std::map< unsigned, unsigned > m_pageSeqNumsByShapeSeqNum
Definition: MSPUBCollector.h:156
bool addPage(unsigned seqNum)
Definition: MSPUBCollector.cpp:1482
void addTextColor(ColorReference c)
Definition: MSPUBCollector.cpp:1964
static librevenge::RVNGString getColorString(const Color &)
Definition: MSPUBCollector.cpp:1710
std::set< unsigned > m_masterPages
Definition: MSPUBCollector.h:164
std::map< unsigned, unsigned > m_bgShapeSeqNumsByPageSeqNum
Definition: MSPUBCollector.h:157
std::set< unsigned > m_shapesWithCoordinatesRotated90
Definition: MSPUBCollector.h:165
ImgType
Definition: MSPUBTypes.h:213
unsigned short m_numPages
Definition: MSPUBCollector.h:144
void collectMetaData(const librevenge::RVNGPropertyList &metaData)
Definition: MSPUBCollector.cpp:339
void setShapeImgIndex(unsigned seqNum, unsigned index)
Definition: MSPUBCollector.cpp:1498
std::vector< int > getShapeAdjustValues(const ShapeInfo &info) const
Definition: MSPUBCollector.cpp:614
std::shared_ptr< ShapeGroupElement > m_currentShapeGroup
Definition: MSPUBCollector.h:159
std::list< ContentChunkReference > m_contentChunkReferences
Definition: MSPUBCollector.h:141
void addFont(std::vector< unsigned char > name)
Definition: MSPUBCollector.cpp:1523
void setShapePictureBrightness(unsigned seqNum, int brightness)
Definition: MSPUBCollector.cpp:355
void setShapePictureContrast(unsigned seqNum, int contrast)
Definition: MSPUBCollector.cpp:361
void assignShapesToPages()
Definition: MSPUBCollector.cpp:1726
bool hasPage(unsigned seqNum) const
Definition: MSPUBCollector.cpp:565
bool go()
Definition: MSPUBCollector.cpp:1822
MSPUBCollector & operator=(const MSPUBCollector &)
std::vector< bool > m_calculationValuesSeen
Definition: MSPUBCollector.h:169
double getCalculationValue(const ShapeInfo &info, unsigned index, bool recursiveEntry, const std::vector< int > &adjustValues) const
Definition: MSPUBCollector.cpp:1367
std::vector< std::shared_ptr< ShapeGroupElement > > m_topLevelShapes
Definition: MSPUBCollector.h:160
librevenge::RVNGPropertyList m_metaData
Definition: MSPUBCollector.h:174
Definition: MSPUBTypes.h:163
void setShapeCoordinatesInEmu(unsigned seqNum, int xs, int ys, int xe, int ye)
Definition: MSPUBCollector.cpp:1518
const char * getCalculatedEncoding() const
Definition: MSPUBCollector.cpp:1237
PageInfo()
Definition: MSPUBCollector.h:134
double m_width
Definition: MSPUBCollector.h:142
std::map< unsigned, unsigned > m_masterPagesByPageSeqNum
Definition: MSPUBCollector.h:166
void setShapeBorderPosition(unsigned seqNum, BorderPosition pos)
Definition: MSPUBCollector.cpp:560
Definition: PolygonUtils.h:58
void beginGroup()
Definition: MSPUBCollector.cpp:533
std::vector< unsigned > m_shapeSeqNumsOrdered
Definition: MSPUBCollector.h:155
void setShapePage(unsigned seqNum, unsigned pageSeqNum)
Definition: MSPUBCollector.cpp:1958
boost::optional< const char * > m_calculatedEncoding
Definition: MSPUBCollector.h:173
librevenge::RVNGPropertyList getCharStyleProps(const CharacterStyle &, boost::optional< unsigned > defaultCharStyleIndex) const
Definition: MSPUBCollector.cpp:1611
void setShapeDash(unsigned seqNum, const Dash &dash)
Definition: MSPUBCollector.cpp:1504
void setShapeTableInfo(unsigned seqNum, const TableInfo &ti)
Definition: MSPUBCollector.cpp:385
void addShapeLine(unsigned seqNum, Line line)
Definition: MSPUBCollector.cpp:555
bool pageIsMaster(unsigned pageSeqNum) const
Definition: MSPUBCollector.cpp:1817
void setShapeOrder(unsigned seqNum)
Definition: MSPUBCollector.cpp:591
std::map< unsigned, unsigned > m_stringOffsetsByTextId
Definition: MSPUBCollector.h:168
std::vector< unsigned char > m_allText
Definition: MSPUBCollector.h:172
Definition: MSPUBTypes.h:112
void writePageShapes(unsigned pageSeqNum) const
Definition: MSPUBCollector.cpp:1786
std::vector< std::pair< ImgType, librevenge::RVNGBinaryData > > m_images
Definition: MSPUBCollector.h:147
std::list< ContentChunkReference >::const_iterator ccr_iterator_t
Definition: MSPUBCollector.h:51
void addPaletteColor(Color)
Definition: MSPUBCollector.cpp:600
void setShapePictureRecolor(unsigned seqNum, const ColorReference &recolor)
Definition: MSPUBCollector.cpp:349
void setupShapeStructures(ShapeGroupElement &elt)
Definition: MSPUBCollector.cpp:652
Definition: MSPUBCollector.h:43
void setShapeType(unsigned seqNum, ShapeType type)
Definition: MSPUBCollector.cpp:1462
void setShapeVerticalTextAlign(unsigned seqNum, VerticalAlign va)
Definition: MSPUBCollector.cpp:373
double m_height
Definition: MSPUBCollector.h:142
MSPUBCollector(librevenge::RVNGDrawingInterface *painter)
Definition: MSPUBCollector.cpp:463
std::map< unsigned, PageInfo > m_pagesBySeqNum
Definition: MSPUBCollector.h:146
std::vector< ColorReference > m_textColors
Definition: MSPUBCollector.h:149
VerticalAlign
Definition: VerticalAlign.h:15
Definition: ShapeGroupElement.h:24
double getSpecialValue(const ShapeInfo &info, const CustomShape &shape, int arg, const std::vector< int > &adjustValues) const
Definition: MSPUBCollector.cpp:1327
std::map< unsigned, ShapeInfo > m_shapeInfosBySeqNum
Definition: MSPUBCollector.h:163
void setWidthInEmu(unsigned long)
Definition: MSPUBCollector.cpp:1890
ShapeType
Definition: ShapeType.h:15
Definition: ShapeInfo.h:37
void setHeightInEmu(unsigned long)
Definition: MSPUBCollector.cpp:1897
std::function< void(void)> paintShape(const ShapeInfo &info, const Coordinate &relativeTo, const VectorTransformation2D &foldedTransform, bool isGroup, const VectorTransformation2D &thisTransform) const
Definition: MSPUBCollector.cpp:680
bool endGroup()
Definition: MSPUBCollector.cpp:543
std::vector< Color > m_paletteColors
Definition: MSPUBCollector.h:154
void setTableCellTextEnds(unsigned textId, const std::vector< unsigned > &ends)
Definition: MSPUBCollector.cpp:492
void setShapeFlip(unsigned, bool, bool)
Definition: MSPUBCollector.cpp:1457
void setShapeLineBackColor(unsigned seqNum, ColorReference backColor)
Definition: MSPUBCollector.cpp:1299
std::vector< unsigned > m_pageSeqNumsOrdered
Definition: MSPUBCollector.h:170