libpagemaker::PMDCollector Class Reference

Builder class for PMD Documents. More...

#include <PMDCollector.h>

Public Member Functions

 PMDCollector ()
 
void setPageWidth (PMDPageUnit)
 
void setPageHeight (PMDPageUnit)
 
void setDoubleSided (bool)
 
void addShapeToPage (unsigned pageID, const boost::shared_ptr< PMDLineSet > &shape)
 
void addColor (const PMDColor &color)
 
void addFont (const PMDFont &font)
 
unsigned addPage ()
 
void draw (librevenge::RVNGDrawingInterface *) const
 

Private Types

typedef std::vector< boost::shared_ptr< const OutputShape > > PageShapes_t
 
typedef std::vector< PageShapes_tPageShapesList_t
 

Private Member Functions

void writePage (const PMDPage &, librevenge::RVNGDrawingInterface *, const std::vector< boost::shared_ptr< const OutputShape > > &) const
 
void paintShape (const OutputShape &shape, librevenge::RVNGDrawingInterface *) const
 
void fillOutputShapesByPage_OneSided (PageShapesList_t &pageShapes) const
 
void fillOutputShapesByPage_TwoSided (PageShapesList_t &pageShapes) const
 
void fillOutputShapesByPage (PageShapesList_t &pageShapes) const
 

Private Attributes

boost::optional< PMDPageUnitm_pageWidth
 
boost::optional< PMDPageUnitm_pageHeight
 
std::vector< PMDPagem_pages
 
std::vector< PMDColorm_color
 
std::vector< PMDFontm_font
 
bool m_doubleSided
 

Detailed Description

Builder class for PMD Documents.

Methods are called by the PMD parser to build the document. This done, the draw() method may be called to output the document to the supplied drawing interface.

Member Typedef Documentation

typedef std::vector<boost::shared_ptr<const OutputShape> > libpagemaker::PMDCollector::PageShapes_t
private

Constructor & Destructor Documentation

libpagemaker::PMDCollector::PMDCollector ( )

Member Function Documentation

void libpagemaker::PMDCollector::addColor ( const PMDColor color)
void libpagemaker::PMDCollector::addFont ( const PMDFont font)
unsigned libpagemaker::PMDCollector::addPage ( )
void libpagemaker::PMDCollector::draw ( librevenge::RVNGDrawingInterface *  painter) const
void libpagemaker::PMDCollector::fillOutputShapesByPage ( PageShapesList_t pageShapes) const
private

Referenced by draw().

void libpagemaker::PMDCollector::fillOutputShapesByPage_OneSided ( PageShapesList_t pageShapes) const
private

Referenced by fillOutputShapesByPage().

void libpagemaker::PMDCollector::fillOutputShapesByPage_TwoSided ( PageShapesList_t pageShapes) const
private

Referenced by fillOutputShapesByPage().

void libpagemaker::PMDCollector::paintShape ( const OutputShape shape,
librevenge::RVNGDrawingInterface *  painter 
) const
private

Referenced by writePage().

void libpagemaker::PMDCollector::setDoubleSided ( bool  doubleSided)
void libpagemaker::PMDCollector::setPageHeight ( PMDPageUnit  pageHeight)
void libpagemaker::PMDCollector::setPageWidth ( PMDPageUnit  pageWidth)
void libpagemaker::PMDCollector::writePage ( const PMDPage ,
librevenge::RVNGDrawingInterface *  painter,
const std::vector< boost::shared_ptr< const OutputShape > > &  outputShapes 
) const
private

Referenced by draw().

Member Data Documentation

std::vector<PMDColor> libpagemaker::PMDCollector::m_color
private

Referenced by addColor(), and paintShape().

bool libpagemaker::PMDCollector::m_doubleSided
private
std::vector<PMDFont> libpagemaker::PMDCollector::m_font
private

Referenced by addFont(), and paintShape().

boost::optional<PMDPageUnit> libpagemaker::PMDCollector::m_pageHeight
private
std::vector<PMDPage> libpagemaker::PMDCollector::m_pages
private
boost::optional<PMDPageUnit> libpagemaker::PMDCollector::m_pageWidth
private

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

Generated for libpagemaker by doxygen 1.8.10