libpagemaker::PMDCollector Class Reference

Builder class for PMD Documents. More...

#include <PMDCollector.h>

Public Member Functions

 PMDCollector ()
 
void setPageWidth (PMDShapeUnit)
 
void setPageHeight (PMDShapeUnit)
 
void setDoubleSided (bool)
 
void addShapeToPage (unsigned pageID, const std::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< std::shared_ptr< const OutputShape > > PageShapes_t
 
typedef std::vector< PageShapes_tPageShapesList_t
 

Private Member Functions

void writePage (const PMDPage &, librevenge::RVNGDrawingInterface *, const std::vector< std::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< PMDShapeUnitm_pageWidth
 
boost::optional< PMDShapeUnitm_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

◆ PageShapes_t

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

◆ PageShapesList_t

Constructor & Destructor Documentation

◆ PMDCollector()

libpagemaker::PMDCollector::PMDCollector ( )

Member Function Documentation

◆ addColor()

void libpagemaker::PMDCollector::addColor ( const PMDColor color)

◆ addFont()

void libpagemaker::PMDCollector::addFont ( const PMDFont font)

◆ addPage()

unsigned libpagemaker::PMDCollector::addPage ( )

◆ addShapeToPage()

◆ draw()

void libpagemaker::PMDCollector::draw ( librevenge::RVNGDrawingInterface *  painter) const

◆ fillOutputShapesByPage()

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

Referenced by draw().

◆ fillOutputShapesByPage_OneSided()

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

Referenced by fillOutputShapesByPage().

◆ fillOutputShapesByPage_TwoSided()

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

Referenced by fillOutputShapesByPage().

◆ paintShape()

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

Referenced by writePage().

◆ setDoubleSided()

void libpagemaker::PMDCollector::setDoubleSided ( bool  doubleSided)

◆ setPageHeight()

void libpagemaker::PMDCollector::setPageHeight ( PMDShapeUnit  pageHeight)

◆ setPageWidth()

void libpagemaker::PMDCollector::setPageWidth ( PMDShapeUnit  pageWidth)

◆ writePage()

void libpagemaker::PMDCollector::writePage ( const PMDPage ,
librevenge::RVNGDrawingInterface *  painter,
const std::vector< std::shared_ptr< const OutputShape > > &  outputShapes 
) const
private

Referenced by draw().

Member Data Documentation

◆ m_color

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

Referenced by addColor(), and paintShape().

◆ m_doubleSided

bool libpagemaker::PMDCollector::m_doubleSided
private

◆ m_font

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

Referenced by addFont(), and paintShape().

◆ m_pageHeight

boost::optional<PMDShapeUnit> libpagemaker::PMDCollector::m_pageHeight
private

◆ m_pages

std::vector<PMDPage> libpagemaker::PMDCollector::m_pages
private

◆ m_pageWidth

boost::optional<PMDShapeUnit> libpagemaker::PMDCollector::m_pageWidth
private

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

Generated for libpagemaker by doxygen 1.9.8