libmspub::MSPUBCollector Class Reference

#include <MSPUBCollector.h>

Classes

struct  PageInfo

Public Types

typedef std::list
< ContentChunkReference >
::const_iterator 
ccr_iterator_t

Public Member Functions

 MSPUBCollector (::libwpg::WPGPaintInterface *painter)
virtual ~MSPUBCollector ()
bool addPage (unsigned seqNum)
bool addTextString (const std::vector< TextParagraph > &str, unsigned id)
void addTextShape (unsigned stringId, unsigned seqNum, unsigned pageSeqNum)
bool addImage (unsigned index, ImgType type, WPXBinaryData img)
bool addShape (unsigned seqNum)
void setShapePage (unsigned seqNum, unsigned pageSeqNum)
void setShapeType (unsigned seqNum, ShapeType type)
void setShapeCoordinatesInEmu (unsigned seqNum, int xs, int ys, int xe, int ye)
void setShapeImgIndex (unsigned seqNum, unsigned index)
void setShapeFill (unsigned seqNum, boost::shared_ptr< Fill > fill, bool skipIfNotBg)
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 beginGroup ()
bool endGroup ()
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 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)
bool go ()
bool hasPage (unsigned seqNum) const

Static Public Member Functions

static WPXString getColorString (const Color &)

Private Member Functions

 MSPUBCollector (const MSPUBCollector &)
MSPUBCollectoroperator= (const MSPUBCollector &)
std::vector< int > getShapeAdjustValues (const ShapeInfo &info) const
void setRectCoordProps (Coordinate, WPXPropertyList *) 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 PageInfo &pageInfo) const
boost::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
WPXPropertyList getCharStyleProps (const CharacterStyle &, unsigned defaultCharStyleIndex) const
WPXPropertyList getParaStyleProps (const ParagraphStyle &, unsigned defaultParaStyleIndex) const
double getSpecialValue (const ShapeInfo &info, const CustomShape &shape, int arg, const std::vector< int > &adjustValues) const

Private Attributes

libwpg::WPGPaintInterface * m_painter
std::list< ContentChunkReferencem_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, PageInfom_pagesBySeqNum
std::vector< std::pair
< ImgType, WPXBinaryData > > 
m_images
std::vector< ColorReferencem_textColors
std::vector< std::vector
< unsigned char > > 
m_fonts
std::vector< CharacterStylem_defaultCharStyles
std::vector< ParagraphStylem_defaultParaStyles
std::map< unsigned, ShapeTypem_shapeTypesBySeqNum
std::vector< unsigned > m_possibleImageShapeSeqNums
std::vector< Colorm_paletteColors
std::vector< unsigned > m_shapeSeqNumsOrdered
std::map< unsigned, unsigned > m_pageSeqNumsByShapeSeqNum
std::map< unsigned, unsigned > m_bgShapeSeqNumsByPageSeqNum
std::set< unsigned > m_skipIfNotBgSeqNums
ShapeGroupElementm_currentShapeGroup
boost::ptr_vector
< ShapeGroupElement
m_topLevelShapes
std::map< unsigned,
ShapeGroupElement * > 
m_groupsBySeqNum
std::map< unsigned, ShapeInfom_shapeInfosBySeqNum
std::set< unsigned > m_shapesWithCoordinatesRotated90
std::vector< bool > m_calculationValuesSeen

Friends

class Fill
class ImgFill
class SolidFill
class GradientFill
class PatternFill

Member Typedef Documentation

Constructor & Destructor Documentation

libmspub::MSPUBCollector::MSPUBCollector ( ::libwpg::WPGPaintInterface *  painter)
libmspub::MSPUBCollector::~MSPUBCollector ( )
virtual
libmspub::MSPUBCollector::MSPUBCollector ( const MSPUBCollector )
private

Member Function Documentation

void libmspub::MSPUBCollector::addBlackToPaletteIfNecessary ( )
private
void libmspub::MSPUBCollector::addDefaultCharacterStyle ( const CharacterStyle style)
void libmspub::MSPUBCollector::addDefaultParagraphStyle ( const ParagraphStyle style)
void libmspub::MSPUBCollector::addFont ( std::vector< unsigned char >  name)
bool libmspub::MSPUBCollector::addImage ( unsigned  index,
ImgType  type,
WPXBinaryData  img 
)
bool libmspub::MSPUBCollector::addPage ( unsigned  seqNum)
void libmspub::MSPUBCollector::addPaletteColor ( Color  c)
bool libmspub::MSPUBCollector::addShape ( unsigned  seqNum)
void libmspub::MSPUBCollector::addShapeLine ( unsigned  seqNum,
Line  line 
)
void libmspub::MSPUBCollector::addTextColor ( ColorReference  c)
void libmspub::MSPUBCollector::addTextShape ( unsigned  stringId,
unsigned  seqNum,
unsigned  pageSeqNum 
)
bool libmspub::MSPUBCollector::addTextString ( const std::vector< TextParagraph > &  str,
unsigned  id 
)
void libmspub::MSPUBCollector::assignShapesToPages ( )
private
void libmspub::MSPUBCollector::beginGroup ( )
bool libmspub::MSPUBCollector::endGroup ( )
double libmspub::MSPUBCollector::getCalculationValue ( const ShapeInfo info,
unsigned  index,
bool  recursiveEntry,
const std::vector< int > &  adjustValues 
) const
private

Referenced by paintShape().

WPXPropertyList libmspub::MSPUBCollector::getCharStyleProps ( const CharacterStyle style,
unsigned  defaultCharStyleIndex 
) const
private
WPXString libmspub::MSPUBCollector::getColorString ( const Color color)
static
WPXPropertyList libmspub::MSPUBCollector::getParaStyleProps ( const ParagraphStyle style,
unsigned  defaultParaStyleIndex 
) const
private
std::vector< int > libmspub::MSPUBCollector::getShapeAdjustValues ( const ShapeInfo info) const
private
boost::optional< std::vector< libmspub::TextParagraph > > libmspub::MSPUBCollector::getShapeText ( const ShapeInfo info) const
private
double libmspub::MSPUBCollector::getSpecialValue ( const ShapeInfo info,
const CustomShape shape,
int  arg,
const std::vector< int > &  adjustValues 
) const
private
bool libmspub::MSPUBCollector::go ( )
bool libmspub::MSPUBCollector::hasPage ( unsigned  seqNum) const
MSPUBCollector& libmspub::MSPUBCollector::operator= ( const MSPUBCollector )
private
boost::function< void(void)> libmspub::MSPUBCollector::paintShape ( const ShapeInfo info,
const Coordinate relativeTo,
const VectorTransformation2D foldedTransform,
bool  isGroup,
const VectorTransformation2D thisTransform 
) const
private

Referenced by writePage().

void libmspub::MSPUBCollector::setAdjustValue ( unsigned  seqNum,
unsigned  index,
int  adjust 
)
bool libmspub::MSPUBCollector::setCurrentGroupSeqNum ( unsigned  seqNum)
void libmspub::MSPUBCollector::setHeightInEmu ( unsigned long  heightInEmu)
void libmspub::MSPUBCollector::setPageBgShape ( unsigned  pageSeqNum,
unsigned  seqNum 
)
void libmspub::MSPUBCollector::setRectCoordProps ( Coordinate  coord,
WPXPropertyList *  props 
) const
private
void libmspub::MSPUBCollector::setShapeBorderPosition ( unsigned  seqNum,
BorderPosition  pos 
)
void libmspub::MSPUBCollector::setShapeCoordinatesInEmu ( unsigned  seqNum,
int  xs,
int  ys,
int  xe,
int  ye 
)
void libmspub::MSPUBCollector::setShapeCoordinatesRotated90 ( unsigned  seqNum)
void libmspub::MSPUBCollector::setShapeFill ( unsigned  seqNum,
boost::shared_ptr< Fill fill,
bool  skipIfNotBg 
)
void libmspub::MSPUBCollector::setShapeFlip ( unsigned  seqNum,
bool  flipVertical,
bool  flipHorizontal 
)
void libmspub::MSPUBCollector::setShapeImgIndex ( unsigned  seqNum,
unsigned  index 
)
void libmspub::MSPUBCollector::setShapeMargins ( unsigned  seqNum,
unsigned  left,
unsigned  top,
unsigned  right,
unsigned  bottom 
)
void libmspub::MSPUBCollector::setShapeOrder ( unsigned  seqNum)
void libmspub::MSPUBCollector::setShapePage ( unsigned  seqNum,
unsigned  pageSeqNum 
)
void libmspub::MSPUBCollector::setShapeRotation ( unsigned  seqNum,
double  rotation 
)
void libmspub::MSPUBCollector::setShapeType ( unsigned  seqNum,
ShapeType  type 
)
void libmspub::MSPUBCollector::setupShapeStructures ( ShapeGroupElement elt)
private

Referenced by assignShapesToPages().

void libmspub::MSPUBCollector::setWidthInEmu ( unsigned long  widthInEmu)
void libmspub::MSPUBCollector::writePage ( unsigned  pageSeqNum,
const PageInfo pageInfo 
) const
private

Friends And Related Function Documentation

friend class Fill
friend
friend class GradientFill
friend
friend class ImgFill
friend
friend class PatternFill
friend
friend class SolidFill
friend

Member Data Documentation

std::map<unsigned, unsigned> libmspub::MSPUBCollector::m_bgShapeSeqNumsByPageSeqNum
private
std::vector<bool> libmspub::MSPUBCollector::m_calculationValuesSeen
mutableprivate
std::list<ContentChunkReference> libmspub::MSPUBCollector::m_contentChunkReferences
private
ShapeGroupElement* libmspub::MSPUBCollector::m_currentShapeGroup
private
std::vector<CharacterStyle> libmspub::MSPUBCollector::m_defaultCharStyles
private
std::vector<ParagraphStyle> libmspub::MSPUBCollector::m_defaultParaStyles
private
std::vector<std::vector<unsigned char> > libmspub::MSPUBCollector::m_fonts
private
std::map<unsigned, ShapeGroupElement *> libmspub::MSPUBCollector::m_groupsBySeqNum
private
double libmspub::MSPUBCollector::m_height
private

Referenced by setRectCoordProps().

bool libmspub::MSPUBCollector::m_heightSet
private
std::vector<std::pair<ImgType, WPXBinaryData> > libmspub::MSPUBCollector::m_images
private
unsigned short libmspub::MSPUBCollector::m_numPages
private
std::map<unsigned, PageInfo> libmspub::MSPUBCollector::m_pagesBySeqNum
private
std::map<unsigned, unsigned> libmspub::MSPUBCollector::m_pageSeqNumsByShapeSeqNum
private
libwpg::WPGPaintInterface* libmspub::MSPUBCollector::m_painter
private
std::vector<Color> libmspub::MSPUBCollector::m_paletteColors
private
std::vector<unsigned> libmspub::MSPUBCollector::m_possibleImageShapeSeqNums
private
std::map<unsigned, ShapeInfo> libmspub::MSPUBCollector::m_shapeInfosBySeqNum
private
std::vector<unsigned> libmspub::MSPUBCollector::m_shapeSeqNumsOrdered
private
std::set<unsigned> libmspub::MSPUBCollector::m_shapesWithCoordinatesRotated90
private
std::map<unsigned, ShapeType> libmspub::MSPUBCollector::m_shapeTypesBySeqNum
private
std::set<unsigned> libmspub::MSPUBCollector::m_skipIfNotBgSeqNums
private
std::vector<ColorReference> libmspub::MSPUBCollector::m_textColors
private
std::map<unsigned, std::vector<TextParagraph> > libmspub::MSPUBCollector::m_textStringsById
private
boost::ptr_vector<ShapeGroupElement> libmspub::MSPUBCollector::m_topLevelShapes
private
double libmspub::MSPUBCollector::m_width
private

Referenced by setRectCoordProps().

bool libmspub::MSPUBCollector::m_widthSet
private

The documentation for this class was generated from the following files:

Generated for libmspub by doxygen 1.8.1.2