#include <MSPUBCollector.h>
Classes | |
struct | PageInfo |
Public Types | |
typedef std::list< ContentChunkReference >::const_iterator | ccr_iterator_t |
Public Member Functions | |
MSPUBCollector (librevenge::RVNGDrawingInterface *painter) | |
virtual | ~MSPUBCollector () |
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) |
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 |
Static Public Member Functions | |
static librevenge::RVNGString | getColorString (const Color &) |
Private Member Functions | |
MSPUBCollector (const MSPUBCollector &) | |
MSPUBCollector & | operator= (const MSPUBCollector &) |
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 |
Private Attributes | |
librevenge::RVNGDrawingInterface * | m_painter |
std::list< ContentChunkReference > | m_contentChunkReferences |
double | m_width |
double | m_height |
bool | m_widthSet |
bool | 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 |
std::vector< bool > | m_calculationValuesSeen |
std::vector< unsigned > | m_pageSeqNumsOrdered |
bool | m_encodingHeuristic |
std::vector< unsigned char > | m_allText |
boost::optional< const char * > | m_calculatedEncoding |
librevenge::RVNGPropertyList | m_metaData |
Friends | |
class | Fill |
class | ImgFill |
class | SolidFill |
class | GradientFill |
class | PatternFill |
typedef std::list<ContentChunkReference>::const_iterator libmspub::MSPUBCollector::ccr_iterator_t |
libmspub::MSPUBCollector::MSPUBCollector | ( | librevenge::RVNGDrawingInterface * | painter | ) |
|
virtual |
|
private |
|
private |
Referenced by go().
librevenge::RVNGBinaryData * libmspub::MSPUBCollector::addBorderImage | ( | ImgType | type, |
unsigned | borderArtIndex ) |
Referenced by libmspub::MSPUBParser::parseBorderArtChunk().
void libmspub::MSPUBCollector::addDefaultCharacterStyle | ( | const CharacterStyle & | style | ) |
Referenced by libmspub::MSPUBParser::parseDefaultStyle().
void libmspub::MSPUBCollector::addDefaultParagraphStyle | ( | const ParagraphStyle & | style | ) |
Referenced by libmspub::MSPUBParser::parseDefaultStyle().
void libmspub::MSPUBCollector::addEOTFont | ( | const librevenge::RVNGString & | name, |
const librevenge::RVNGBinaryData & | data ) |
Referenced by libmspub::MSPUBParser::parseFontChunk().
void libmspub::MSPUBCollector::addFont | ( | std::vector< unsigned char > | name | ) |
Referenced by libmspub::MSPUBParser::parseFonts().
bool libmspub::MSPUBCollector::addImage | ( | unsigned | index, |
ImgType | type, | ||
librevenge::RVNGBinaryData | img ) |
Referenced by libmspub::MSPUBParser2k::parseContents(), and libmspub::MSPUBParser::parseEscherDelay().
bool libmspub::MSPUBCollector::addPage | ( | unsigned | seqNum | ) |
Referenced by libmspub::MSPUBParser2k::parse2kShapeChunk(), and libmspub::MSPUBParser::parsePageChunk().
void libmspub::MSPUBCollector::addPaletteColor | ( | Color | c | ) |
void libmspub::MSPUBCollector::addShapeLine | ( | unsigned | seqNum, |
Line | line ) |
Referenced by libmspub::MSPUBParser::parseEscherShape(), and libmspub::MSPUBParser2k::parseShapeLine().
void libmspub::MSPUBCollector::addTextColor | ( | ColorReference | c | ) |
void libmspub::MSPUBCollector::addTextShape | ( | unsigned | stringId, |
unsigned | seqNum ) |
Referenced by libmspub::MSPUBParser::parseShape(), and libmspub::MSPUBParser2k::parseShapeType().
bool libmspub::MSPUBCollector::addTextString | ( | const std::vector< TextParagraph > & | str, |
unsigned | id ) |
|
private |
Referenced by go().
void libmspub::MSPUBCollector::beginGroup | ( | ) |
Referenced by libmspub::MSPUBParser2k::parseGroup(), and libmspub::MSPUBParser::parseShapeGroup().
void libmspub::MSPUBCollector::collectMetaData | ( | const librevenge::RVNGPropertyList & | metaData | ) |
Referenced by libmspub::MSPUBParser::parseMetaData().
void libmspub::MSPUBCollector::designateMasterPage | ( | unsigned | seqNum | ) |
Referenced by libmspub::MSPUBParser::parsePageChunk().
bool libmspub::MSPUBCollector::endGroup | ( | ) |
Referenced by libmspub::MSPUBParser2k::parseGroup(), and libmspub::MSPUBParser::parseShapeGroup().
|
private |
Referenced by getCharStyleProps(), and paintShape().
|
private |
Referenced by getSpecialValue(), and paintShape().
|
private |
Referenced by paintShape().
|
static |
|
private |
Referenced by writePage().
|
private |
Referenced by paintShape().
|
private |
Referenced by paintShape().
|
private |
Referenced by paintShape().
|
private |
Referenced by getCalculationValue().
bool libmspub::MSPUBCollector::go | ( | ) |
bool libmspub::MSPUBCollector::hasPage | ( | unsigned | seqNum | ) | const |
Referenced by libmspub::MSPUBParser2k::parse2kShapeChunk().
|
private |
|
private |
Referenced by go().
|
private |
Referenced by writePageBackground(), and writePageShapes().
|
private |
Referenced by addTextString().
void libmspub::MSPUBCollector::setAdjustValue | ( | unsigned | seqNum, |
unsigned | index, | ||
int | adjust ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setBorderImageOffset | ( | unsigned | index, |
unsigned | offset ) |
Referenced by libmspub::MSPUBParser::parseBorderArtChunk().
bool libmspub::MSPUBCollector::setCurrentGroupSeqNum | ( | unsigned | seqNum | ) |
Referenced by libmspub::MSPUBParser::parseEscherShape(), and libmspub::MSPUBParser2k::parseGroup().
void libmspub::MSPUBCollector::setHeightInEmu | ( | unsigned long | heightInEmu | ) |
Referenced by libmspub::MSPUBParser2k::parseDocument(), and libmspub::MSPUBParser97::parseDocument().
void libmspub::MSPUBCollector::setMasterPage | ( | unsigned | pageSeqNum, |
unsigned | masterSeqNum ) |
Referenced by libmspub::MSPUBParser::parsePageChunk().
void libmspub::MSPUBCollector::setNextPage | ( | unsigned | seqNum | ) |
void libmspub::MSPUBCollector::setPageBgShape | ( | unsigned | pageSeqNum, |
unsigned | seqNum ) |
Referenced by libmspub::MSPUBParser::parsePageChunk().
|
private |
Referenced by paintShape().
void libmspub::MSPUBCollector::setShapeBeginArrow | ( | unsigned | seqNum, |
const Arrow & | arrow ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeBorderImageId | ( | unsigned | seqNum, |
unsigned | borderImageId ) |
Referenced by libmspub::MSPUBParser::parseShape().
void libmspub::MSPUBCollector::setShapeBorderPosition | ( | unsigned | seqNum, |
BorderPosition | pos ) |
void libmspub::MSPUBCollector::setShapeClipPath | ( | unsigned | seqNum, |
const std::vector< libmspub::Vertex > & | clip ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeColumnSpacing | ( | unsigned | seqNum, |
unsigned | spacing ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeCoordinatesInEmu | ( | unsigned | seqNum, |
int | xs, | ||
int | ys, | ||
int | xe, | ||
int | ye ) |
void libmspub::MSPUBCollector::setShapeCoordinatesRotated90 | ( | unsigned | seqNum | ) |
void libmspub::MSPUBCollector::setShapeCropType | ( | unsigned | seqNum, |
ShapeType | cropType ) |
Referenced by libmspub::MSPUBParser::parseShape().
void libmspub::MSPUBCollector::setShapeCustomPath | ( | unsigned | seqNum, |
const DynamicCustomShape & | shape ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeDash | ( | unsigned | seqNum, |
const Dash & | dash ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeEndArrow | ( | unsigned | seqNum, |
const Arrow & | arrow ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeFill | ( | unsigned | seqNum, |
std::shared_ptr< Fill > | fill, | ||
bool | skipIfNotBg ) |
Referenced by libmspub::MSPUBParser::parseEscherShape(), and libmspub::MSPUBParser2k::parseShapeFill().
void libmspub::MSPUBCollector::setShapeFlip | ( | unsigned | seqNum, |
bool | flipVertical, | ||
bool | flipHorizontal ) |
Referenced by libmspub::MSPUBParser::parseEscherShape(), and libmspub::MSPUBParser2k::parseShapeFlips().
void libmspub::MSPUBCollector::setShapeImgIndex | ( | unsigned | seqNum, |
unsigned | index ) |
void libmspub::MSPUBCollector::setShapeLineBackColor | ( | unsigned | seqNum, |
ColorReference | backColor ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeMargins | ( | unsigned | seqNum, |
unsigned | left, | ||
unsigned | top, | ||
unsigned | right, | ||
unsigned | bottom ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeNumColumns | ( | unsigned | seqNum, |
unsigned | numColumns ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeOrder | ( | unsigned | seqNum | ) |
void libmspub::MSPUBCollector::setShapePage | ( | unsigned | seqNum, |
unsigned | pageSeqNum ) |
void libmspub::MSPUBCollector::setShapePictureBrightness | ( | unsigned | seqNum, |
int | brightness ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapePictureContrast | ( | unsigned | seqNum, |
int | contrast ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapePictureRecolor | ( | unsigned | seqNum, |
const ColorReference & | recolor ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeRotation | ( | unsigned | seqNum, |
double | rotation ) |
void libmspub::MSPUBCollector::setShapeShadow | ( | unsigned | seqNum, |
const Shadow & | shadow ) |
Referenced by libmspub::MSPUBParser::parseEscherShape().
void libmspub::MSPUBCollector::setShapeStretchBorderArt | ( | unsigned | seqNum | ) |
Referenced by libmspub::MSPUBParser::parseShape().
void libmspub::MSPUBCollector::setShapeTableInfo | ( | unsigned | seqNum, |
const TableInfo & | ti ) |
Referenced by libmspub::MSPUBParser::parseShape().
void libmspub::MSPUBCollector::setShapeType | ( | unsigned | seqNum, |
ShapeType | type ) |
Referenced by libmspub::MSPUBParser::parseEscherShape(), and libmspub::MSPUBParser2k::parseShapeType().
void libmspub::MSPUBCollector::setShapeVerticalTextAlign | ( | unsigned | seqNum, |
VerticalAlign | va ) |
Referenced by libmspub::MSPUBParser::parseShape().
void libmspub::MSPUBCollector::setTableCellTextEnds | ( | unsigned | textId, |
const std::vector< unsigned > & | ends ) |
Referenced by libmspub::MSPUBParser::parseQuill().
void libmspub::MSPUBCollector::setTextStringOffset | ( | unsigned | textId, |
unsigned | offset ) |
Referenced by libmspub::MSPUBParser::parseQuill().
|
private |
Referenced by assignShapesToPages().
void libmspub::MSPUBCollector::setWidthInEmu | ( | unsigned long | widthInEmu | ) |
Referenced by libmspub::MSPUBParser2k::parseDocument(), and libmspub::MSPUBParser97::parseDocument().
void libmspub::MSPUBCollector::useEncodingHeuristic | ( | ) |
Referenced by libmspub::MSPUBParser97::MSPUBParser97().
|
private |
Referenced by paintShape().
|
private |
Referenced by go().
|
private |
Referenced by writePage().
|
private |
Referenced by writePage().
|
friend |
|
friend |
|
friend |
Referenced by setupShapeStructures().
|
friend |
|
friend |
|
private |
Referenced by getCalculatedEncoding(), and ponderStringEncoding().
|
private |
Referenced by setPageBgShape(), and writePageBackground().
|
private |
Referenced by addBorderImage(), paintShape(), and setBorderImageOffset().
|
mutableprivate |
Referenced by getCalculatedEncoding().
|
mutableprivate |
Referenced by getCalculationValue().
|
private |
|
private |
Referenced by beginGroup(), endGroup(), setCurrentGroupSeqNum(), and setShapeOrder().
|
private |
Referenced by addDefaultCharacterStyle(), and getCharStyleProps().
|
private |
Referenced by addDefaultParagraphStyle(), and getParaStyleProps().
|
private |
Referenced by addEOTFont(), and go().
|
private |
Referenced by addTextString(), getCalculatedEncoding(), and useEncodingHeuristic().
|
private |
Referenced by addFont(), and getCharStyleProps().
|
private |
Referenced by setCurrentGroupSeqNum().
|
private |
Referenced by paintShape(), setHeightInEmu(), setRectCoordProps(), writePage(), and writePageBackground().
|
private |
Referenced by addPage(), setHeightInEmu(), and writePage().
|
private |
|
private |
Referenced by designateMasterPage(), getMasterPageSeqNum(), and pageIsMaster().
|
private |
Referenced by getMasterPageSeqNum(), and setMasterPage().
|
private |
Referenced by collectMetaData(), and go().
|
private |
|
private |
Referenced by addPage(), assignShapesToPages(), go(), hasPage(), writePage(), and writePageShapes().
|
private |
Referenced by assignShapesToPages(), and setShapePage().
|
private |
Referenced by go(), and setNextPage().
|
private |
Referenced by go(), paintShape(), writeImage(), and writePage().
|
private |
|
private |
Referenced by addShapeLine(), addTextShape(), setAdjustValue(), setShapeBeginArrow(), setShapeBorderImageId(), setShapeBorderPosition(), setShapeClipPath(), setShapeColumnSpacing(), setShapeCoordinatesInEmu(), setShapeCropType(), setShapeCustomPath(), setShapeDash(), setShapeEndArrow(), setShapeFill(), setShapeFlip(), setShapeImgIndex(), setShapeLineBackColor(), setShapeMargins(), setShapeNumColumns(), setShapePage(), setShapePictureBrightness(), setShapePictureContrast(), setShapePictureRecolor(), setShapeRotation(), setShapeShadow(), setShapeStretchBorderArt(), setShapeTableInfo(), setShapeType(), setShapeVerticalTextAlign(), setupShapeStructures(), and writePageBackground().
|
private |
|
private |
Referenced by setShapeCoordinatesRotated90().
|
private |
|
private |
Referenced by setShapeFill().
|
private |
Referenced by setTextStringOffset().
|
private |
Referenced by paintShape(), and setTableCellTextEnds().
|
private |
Referenced by addTextColor(), and getCharStyleProps().
|
private |
Referenced by addTextString(), and getShapeText().
|
private |
Referenced by assignShapesToPages(), beginGroup(), and setShapeOrder().
|
private |
Referenced by paintShape(), setRectCoordProps(), setWidthInEmu(), writePage(), and writePageBackground().
|
private |
Referenced by addPage(), setWidthInEmu(), and writePage().