PowerPoint3Parser Class Referencefinal

the main class to read a Microsoft PowerPoint v3 or v4 files (MacOs and Windows) More...

#include <PowerPoint3Parser.hxx>

Inheritance diagram for PowerPoint3Parser:
MWAWPresentationParser MWAWParser

Public Member Functions

 PowerPoint3Parser (MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor
 ~PowerPoint3Parser () final
 destructor
bool checkHeader (MWAWHeader *header, bool strict=false) final
 checks if the document header is correct (or not)
void parse (librevenge::RVNGPresentationInterface *documentInterface) final
 virtual function used to parse the input
Public Member Functions inherited from MWAWPresentationParser
 ~MWAWPresentationParser () override
 destructor
Public Member Functions inherited from MWAWParser
virtual ~MWAWParser ()
 virtual destructor
int version () const
 returns the works version
MWAWParserStatePtr getParserState ()
 returns the parser state
MWAWHeadergetHeader ()
 returns the header
MWAWInputStreamPtrgetInput ()
 returns the actual input
MWAWListenerPtr getMainListener ()
 returns the main listener
MWAWGraphicListenerPtrgetGraphicListener ()
 returns the graphic listener
MWAWPresentationListenerPtrgetPresentationListener ()
 returns the presentation listener
MWAWSpreadsheetListenerPtrgetSpreadsheetListener ()
 returns the spreadsheet listener
MWAWTextListenerPtrgetTextListener ()
 returns the text listener
MWAWFontConverterPtrgetFontConverter ()
 returns the font converter
MWAWFontManagerPtrgetFontManager ()
 returns the font manager
MWAWPageSpan const & getPageSpan () const
 returns the actual page dimension
MWAWPageSpangetPageSpan ()
 returns the actual page dimension
double getFormLength () const
 returns the form length
double getFormWidth () const
 returns the form width
double getPageLength () const
 returns the page length (form length without margin )
double getPageWidth () const
 returns the page width (form width without margin )
MWAWRSRCParserPtrgetRSRCParser ()
 returns the rsrc parser
libmwaw::DebugFileascii ()
 a DebugFile used to write what we recognize when we parse the document

Protected Member Functions

void createDocument (librevenge::RVNGPresentationInterface *documentInterface)
 creates the listener which will be associated to the document
bool createZones ()
 finds the different zones
void sendSlides ()
 try to send all slides
bool readListZones (int &docInfoId)
 try to read the list of zones
bool readStructList (MWAWEntry const &entry, PowerPoint3ParserInternal::FieldParser &parser)
 try to read a list of structure
bool readColors (MWAWEntry const &entry)
 try to read a color list
bool readColorZone (MWAWEntry const &entry)
 try to read a color zone, probably used to define the menu, ...: the 8th zone
bool readDocInfo (MWAWEntry const &entry)
 try to read the document info zone
bool readDocRoot (MWAWEntry const &entry)
 try to read the main child of doc info
bool readFont (MWAWFont &font, int schemeId)
 try to read a font
bool readFontNamesList (std::map< int, int > const &fIdtoZIdMap)
 try to read a font names list
bool readFontName (MWAWEntry const &entry, int id)
 try to read a font name : 11th zone
bool readFramesList (MWAWEntry const &entry, PowerPoint3ParserInternal::SlideContent &content)
 try to read a frame zone in a page
bool readParagraph (MWAWParagraph &para, PowerPoint3ParserInternal::Ruler const &ruler, int schemeId)
 try to read a paragraph
bool readPictureDefinition (MWAWEntry const &entry, int id)
 try to read the picture definition
bool readPictureContent (MWAWEntry const &entry, MWAWEmbeddedObject &pict)
 try to read the first child of the picture
bool readPictureMain (MWAWEntry const &entry)
 try to read the 5th zone
bool readPicturesList (std::map< int, int > const &pIdtoZIdMap)
 try to read a picture list
bool readPrintInfo (MWAWEntry const &entry)
 try to read a print info zone
bool readRuler (MWAWEntry const &entry, int id)
 try to read some ruler
bool readScheme (MWAWEntry const &entry, int id)
 try to read a scheme
bool readSlide (MWAWEntry const &entry, PowerPoint3ParserInternal::Slide &slide, int zId)
 try to read a slide main zone
bool readSlideContent (MWAWEntry const &entry, PowerPoint3ParserInternal::SlideContent &slide)
 try to read the second/third child of slideMain: main, master ?
bool readSlideFormats (MWAWEntry const &entry, std::vector< PowerPoint3ParserInternal::SlideFormat > &formatList)
 try to read the second child of slide content which contains some shadow offset...
bool readSlidePolygons (MWAWEntry const &entry, std::vector< PowerPoint3ParserInternal::Polygon > &polyList)
 try to read the third child of slide content
bool readSlideTransition (MWAWEntry const &entry)
 try to read the first child of slideMain
bool readSlidesList (MWAWEntry const &entry)
 try to read the first child of docRoot
bool readTextZone (MWAWEntry const &entry, PowerPoint3ParserInternal::SlideContent &content)
 try to read a text zone
bool sendSlide (PowerPoint3ParserInternal::SlideContent const &slide, bool master)
 try to send a slide
bool sendFrame (PowerPoint3ParserInternal::Frame const &frame, PowerPoint3ParserInternal::SlideContent const &content, bool master, std::set< int > &seen)
 try to send a frame zone
bool sendText (PowerPoint3ParserInternal::SlideContent const &slide, int tId, bool placeHolder, bool master)
 try to send a text zone
bool readZone9 (MWAWEntry const &entry)
 try to read the 9th zone
bool readZone10 (MWAWEntry const &entry)
 try to read the 10th zone
bool getColor (int colorId, int schemeId, MWAWColor &color) const
 try to return a color corresponding to a scheme and color
void checkForUnparsedZones ()
 check for unparsed zone
Protected Member Functions inherited from MWAWPresentationParser
 MWAWPresentationParser (MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor (protected)
 MWAWPresentationParser (MWAWParserStatePtr const &state)
 constructor using a state
Protected Member Functions inherited from MWAWParser
 MWAWParser (MWAWParserState::Type type, MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor (protected)
 MWAWParser (MWAWParserStatePtr const &state)
 constructor using a state
void setVersion (int vers)
 sets the document's version
void setGraphicListener (MWAWGraphicListenerPtr &listener)
 sets the graphic listener
void resetGraphicListener ()
 resets the listener
void setPresentationListener (MWAWPresentationListenerPtr &listener)
 sets the presentation listener
void resetPresentationListener ()
 resets the listener
void setSpreadsheetListener (MWAWSpreadsheetListenerPtr &listener)
 sets the spreadsheet listener
void resetSpreadsheetListener ()
 resets the listener
void setTextListener (MWAWTextListenerPtr &listener)
 sets the text listener
void resetTextListener ()
 resets the listener
void setAsciiName (char const *name)
 Debugging: change the default ascii file.
std::string const & asciiName () const
 return the ascii file name

Protected Attributes

std::shared_ptr< PowerPoint3ParserInternal::Statem_state
 the state

Friends

class PowerPoint3ParserInternal::SubDocument

Detailed Description

the main class to read a Microsoft PowerPoint v3 or v4 files (MacOs and Windows)

Constructor & Destructor Documentation

◆ PowerPoint3Parser()

PowerPoint3Parser::PowerPoint3Parser ( MWAWInputStreamPtr const & input,
MWAWRSRCParserPtr const & rsrcParser,
MWAWHeader * header )

constructor

◆ ~PowerPoint3Parser()

PowerPoint3Parser::~PowerPoint3Parser ( )
final

destructor

Member Function Documentation

◆ checkForUnparsedZones()

void PowerPoint3Parser::checkForUnparsedZones ( )
protected

check for unparsed zone

Referenced by parse(), and PowerPoint3ParserInternal::SubDocument.

◆ checkHeader()

bool PowerPoint3Parser::checkHeader ( MWAWHeader * header,
bool strict = false )
finalvirtual

checks if the document header is correct (or not)

Implements MWAWParser.

Referenced by createZones(), parse(), and PowerPoint3ParserInternal::SubDocument.

◆ createDocument()

void PowerPoint3Parser::createDocument ( librevenge::RVNGPresentationInterface * documentInterface)
protected

creates the listener which will be associated to the document

Referenced by parse(), and PowerPoint3ParserInternal::SubDocument.

◆ createZones()

bool PowerPoint3Parser::createZones ( )
protected

finds the different zones

Referenced by parse(), and PowerPoint3ParserInternal::SubDocument.

◆ getColor()

bool PowerPoint3Parser::getColor ( int colorId,
int schemeId,
MWAWColor & color ) const
protected

try to return a color corresponding to a scheme and color

Referenced by createDocument(), PowerPoint3ParserInternal::SubDocument, readFont(), readFramesList(), and readParagraph().

◆ parse()

void PowerPoint3Parser::parse ( librevenge::RVNGPresentationInterface * documentInterface)
finalvirtual

virtual function used to parse the input

Implements MWAWPresentationParser.

Referenced by PowerPoint3ParserInternal::SubDocument.

◆ readColors()

bool PowerPoint3Parser::readColors ( MWAWEntry const & entry)
protected

try to read a color list

Referenced by PowerPoint3ParserInternal::SubDocument, and readColorZone().

◆ readColorZone()

bool PowerPoint3Parser::readColorZone ( MWAWEntry const & entry)
protected

try to read a color zone, probably used to define the menu, ...: the 8th zone

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readDocInfo()

bool PowerPoint3Parser::readDocInfo ( MWAWEntry const & entry)
protected

try to read the document info zone

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readDocRoot()

bool PowerPoint3Parser::readDocRoot ( MWAWEntry const & entry)
protected

try to read the main child of doc info

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readFont()

bool PowerPoint3Parser::readFont ( MWAWFont & font,
int schemeId )
protected

try to read a font

Referenced by PowerPoint3ParserInternal::SubDocument, readTextZone(), and sendText().

◆ readFontName()

bool PowerPoint3Parser::readFontName ( MWAWEntry const & entry,
int id )
protected

try to read a font name : 11th zone

Referenced by PowerPoint3ParserInternal::SubDocument, and readFontNamesList().

◆ readFontNamesList()

bool PowerPoint3Parser::readFontNamesList ( std::map< int, int > const & fIdtoZIdMap)
protected

try to read a font names list

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readFramesList()

bool PowerPoint3Parser::readFramesList ( MWAWEntry const & entry,
PowerPoint3ParserInternal::SlideContent & content )
protected

try to read a frame zone in a page

Referenced by PowerPoint3ParserInternal::SubDocument, and readSlideContent().

◆ readListZones()

bool PowerPoint3Parser::readListZones ( int & docInfoId)
protected

try to read the list of zones

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readParagraph()

bool PowerPoint3Parser::readParagraph ( MWAWParagraph & para,
PowerPoint3ParserInternal::Ruler const & ruler,
int schemeId )
protected

try to read a paragraph

Referenced by PowerPoint3ParserInternal::SubDocument, readTextZone(), and sendText().

◆ readPictureContent()

bool PowerPoint3Parser::readPictureContent ( MWAWEntry const & entry,
MWAWEmbeddedObject & pict )
protected

try to read the first child of the picture

Referenced by PowerPoint3ParserInternal::SubDocument, and readPictureDefinition().

◆ readPictureDefinition()

bool PowerPoint3Parser::readPictureDefinition ( MWAWEntry const & entry,
int id )
protected

try to read the picture definition

Referenced by PowerPoint3ParserInternal::SubDocument, and readPicturesList().

◆ readPictureMain()

bool PowerPoint3Parser::readPictureMain ( MWAWEntry const & entry)
protected

try to read the 5th zone

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readPicturesList()

bool PowerPoint3Parser::readPicturesList ( std::map< int, int > const & pIdtoZIdMap)
protected

try to read a picture list

Referenced by PowerPoint3ParserInternal::SubDocument, and readPictureMain().

◆ readPrintInfo()

bool PowerPoint3Parser::readPrintInfo ( MWAWEntry const & entry)
protected

try to read a print info zone

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readRuler()

bool PowerPoint3Parser::readRuler ( MWAWEntry const & entry,
int id )
protected

try to read some ruler

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readScheme()

bool PowerPoint3Parser::readScheme ( MWAWEntry const & entry,
int id )
protected

try to read a scheme

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readSlide()

bool PowerPoint3Parser::readSlide ( MWAWEntry const & entry,
PowerPoint3ParserInternal::Slide & slide,
int zId )
protected

try to read a slide main zone

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readSlideContent()

bool PowerPoint3Parser::readSlideContent ( MWAWEntry const & entry,
PowerPoint3ParserInternal::SlideContent & slide )
protected

try to read the second/third child of slideMain: main, master ?

Referenced by PowerPoint3ParserInternal::SubDocument, and readSlide().

◆ readSlideFormats()

bool PowerPoint3Parser::readSlideFormats ( MWAWEntry const & entry,
std::vector< PowerPoint3ParserInternal::SlideFormat > & formatList )
protected

try to read the second child of slide content which contains some shadow offset...

Referenced by PowerPoint3ParserInternal::SubDocument, and readSlideContent().

◆ readSlidePolygons()

bool PowerPoint3Parser::readSlidePolygons ( MWAWEntry const & entry,
std::vector< PowerPoint3ParserInternal::Polygon > & polyList )
protected

try to read the third child of slide content

Referenced by PowerPoint3ParserInternal::SubDocument, and readSlideContent().

◆ readSlidesList()

bool PowerPoint3Parser::readSlidesList ( MWAWEntry const & entry)
protected

try to read the first child of docRoot

Referenced by PowerPoint3ParserInternal::SubDocument, and readDocRoot().

◆ readSlideTransition()

bool PowerPoint3Parser::readSlideTransition ( MWAWEntry const & entry)
protected

try to read the first child of slideMain

Referenced by PowerPoint3ParserInternal::SubDocument, and readSlide().

◆ readStructList()

bool PowerPoint3Parser::readStructList ( MWAWEntry const & entry,
PowerPoint3ParserInternal::FieldParser & parser )
protected

try to read a list of structure

Referenced by createZones(), PowerPoint3ParserInternal::SubDocument, and readPictureMain().

◆ readTextZone()

bool PowerPoint3Parser::readTextZone ( MWAWEntry const & entry,
PowerPoint3ParserInternal::SlideContent & content )
protected

try to read a text zone

Referenced by PowerPoint3ParserInternal::SubDocument, and readSlideContent().

◆ readZone10()

bool PowerPoint3Parser::readZone10 ( MWAWEntry const & entry)
protected

try to read the 10th zone

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ readZone9()

bool PowerPoint3Parser::readZone9 ( MWAWEntry const & entry)
protected

try to read the 9th zone

Referenced by createZones(), and PowerPoint3ParserInternal::SubDocument.

◆ sendFrame()

bool PowerPoint3Parser::sendFrame ( PowerPoint3ParserInternal::Frame const & frame,
PowerPoint3ParserInternal::SlideContent const & content,
bool master,
std::set< int > & seen )
protected

try to send a frame zone

Referenced by PowerPoint3ParserInternal::SubDocument, sendFrame(), and sendSlide().

◆ sendSlide()

bool PowerPoint3Parser::sendSlide ( PowerPoint3ParserInternal::SlideContent const & slide,
bool master )
protected

try to send a slide

Referenced by PowerPoint3ParserInternal::SubDocument, and sendSlides().

◆ sendSlides()

void PowerPoint3Parser::sendSlides ( )
protected

try to send all slides

Referenced by parse(), and PowerPoint3ParserInternal::SubDocument.

◆ sendText()

bool PowerPoint3Parser::sendText ( PowerPoint3ParserInternal::SlideContent const & slide,
int tId,
bool placeHolder,
bool master )
protected

try to send a text zone

Referenced by PowerPoint3ParserInternal::SubDocument.

◆ PowerPoint3ParserInternal::SubDocument

Member Data Documentation

◆ m_state


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

Generated on Thu Jul 24 2025 00:00:00 for libmwaw by doxygen 1.14.0