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_t > | PageShapesList_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< PMDPageUnit > | m_pageWidth |
boost::optional< PMDPageUnit > | m_pageHeight |
std::vector< PMDPage > | m_pages |
std::vector< PMDColor > | m_color |
std::vector< PMDFont > | m_font |
bool | m_doubleSided |
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.
typedef std::vector<boost::shared_ptr<const OutputShape> > libpagemaker::PMDCollector::PageShapes_t [private] |
typedef std::vector<PageShapes_t> libpagemaker::PMDCollector::PageShapesList_t [private] |
void libpagemaker::PMDCollector::addColor | ( | const PMDColor & | color | ) |
Referenced by libpagemaker::PMDParser::parseColors().
void libpagemaker::PMDCollector::addFont | ( | const PMDFont & | font | ) |
Referenced by libpagemaker::PMDParser::parseFonts().
unsigned libpagemaker::PMDCollector::addPage | ( | ) |
Referenced by libpagemaker::PMDParser::parsePages().
void libpagemaker::PMDCollector::addShapeToPage | ( | unsigned | pageID, |
const boost::shared_ptr< PMDLineSet > & | shape | ||
) |
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 | ) |
Referenced by libpagemaker::PMDParser::parseGlobalInfo().
void libpagemaker::PMDCollector::setPageHeight | ( | PMDPageUnit | pageHeight | ) |
Referenced by libpagemaker::PMDParser::parseGlobalInfo().
void libpagemaker::PMDCollector::setPageWidth | ( | PMDPageUnit | pageWidth | ) |
Referenced by libpagemaker::PMDParser::parseGlobalInfo(), and libpagemaker::PMDParser::parsePages().
void libpagemaker::PMDCollector::writePage | ( | const PMDPage & | , |
librevenge::RVNGDrawingInterface * | painter, | ||
const std::vector< boost::shared_ptr< const OutputShape > > & | outputShapes | ||
) | const [private] |
Referenced by draw().
std::vector<PMDColor> libpagemaker::PMDCollector::m_color [private] |
Referenced by addColor(), and paintShape().
bool libpagemaker::PMDCollector::m_doubleSided [private] |
Referenced by fillOutputShapesByPage(), and setDoubleSided().
std::vector<PMDFont> libpagemaker::PMDCollector::m_font [private] |
Referenced by addFont(), and paintShape().
boost::optional<PMDPageUnit> libpagemaker::PMDCollector::m_pageHeight [private] |
Referenced by fillOutputShapesByPage_OneSided(), fillOutputShapesByPage_TwoSided(), setPageHeight(), and writePage().
std::vector<PMDPage> libpagemaker::PMDCollector::m_pages [private] |
Referenced by addPage(), addShapeToPage(), draw(), fillOutputShapesByPage_OneSided(), and fillOutputShapesByPage_TwoSided().
boost::optional<PMDPageUnit> libpagemaker::PMDCollector::m_pageWidth [private] |
Referenced by fillOutputShapesByPage_OneSided(), fillOutputShapesByPage_TwoSided(), setPageWidth(), and writePage().