CorelPainterParser Class Referencefinal

the main class to read a Painter's file, actually, read Fractal Design Painter 1-4, MetaCreation v5-v6 and Corel Painter v7-v10 Mac files and Fractal Design Painter 3 Windows files. More...

#include <CorelPainterParser.hxx>

Inheritance diagram for CorelPainterParser:
MWAWGraphicParser MWAWParser

Public Member Functions

 CorelPainterParser (MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor
 
 ~CorelPainterParser () final
 destructor
 
bool checkHeader (MWAWHeader *header, bool strict=false) final
 checks if the document header is correct (or not)
 
void parse (librevenge::RVNGDrawingInterface *documentInterface) final
 the main parser function
 
- Public Member Functions inherited from MWAWGraphicParser
 ~MWAWGraphicParser () override
 destructor
 
virtual void parse (librevenge::RVNGDrawingInterface *documentInterface)=0
 virtual function used to parse the input
 
- Public Member Functions inherited from MWAWParser
virtual ~MWAWParser ()
 virtual destructor
 
virtual bool checkHeader (MWAWHeader *header, bool strict=false)=0
 virtual function used to check if the document header is correct (or not)
 
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 init ()
 inits all internal variables
 
void createDocument (librevenge::RVNGDrawingInterface *documentInterface)
 creates the listener which will be associated to the document
 
bool sendBitmap (CorelPainterParserInternal::ZoneHeader const &zone)
 try to send a bitmap zone (main bitmap or floater)
 
bool sendZone (CorelPainterParserInternal::ZoneHeader const &zone)
 try to send a not bitmap zone
 
bool createZones ()
 finds the different objects zones
 
std::shared_ptr< CorelPainterParserInternal::NodereadCompressionTree (long endPos, int numNodes)
 try to read the Hoffman tree
 
bool decompressData (CorelPainterParserInternal::ZoneHeader const &zone, long endPos, int &value, int &buffer, int &numBitsInBuffer)
 try to decompress a data
 
bool readZoneHeader (CorelPainterParserInternal::ZoneHeader &zone)
 try to read the header zone
 
std::shared_ptr< MWAWPictreadBitmap (CorelPainterParserInternal::ZoneHeader const &zone)
 try to read a bitmap
 
bool readBitmapRow (CorelPainterParserInternal::ZoneHeader const &zone, std::vector< MWAWColor > &colorList, std::vector< unsigned char > &previousValues)
 try to read a bitmap line
 
bool readResourcesList (CorelPainterParserInternal::ZoneHeader &zone)
 try to read the list of resource zone (in the data fork)
 
bool readResource (MWAWEntry &entry)
 try to parse the resource data
 
bool sendText (MWAWEntry const &entry, MWAWEntry const &unicodeEntry)
 try to parse the text data
 
bool readPolygon (long endPos, MWAWGraphicShape &shape, MWAWGraphicStyle &style)
 try to read a polygon data
 
MWAWPosition getZonePosition (CorelPainterParserInternal::ZoneHeader const &zone) const
 update the position beforing sending a bitmap, shape, ...
 
bool readDouble (double &res)
 try to read a double 1 bytes exponent, 3 mantisse
 
- Protected Member Functions inherited from MWAWGraphicParser
 MWAWGraphicParser (MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor (protected)
 
 MWAWGraphicParser (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< CorelPainterParserInternal::Statem_state
 the state
 

Friends

class CorelPainterParserInternal::SubDocument
 

Detailed Description

the main class to read a Painter's file, actually, read Fractal Design Painter 1-4, MetaCreation v5-v6 and Corel Painter v7-v10 Mac files and Fractal Design Painter 3 Windows files.

Constructor & Destructor Documentation

◆ CorelPainterParser()

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

constructor

◆ ~CorelPainterParser()

CorelPainterParser::~CorelPainterParser ( )
final

destructor

Member Function Documentation

◆ checkHeader()

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

checks if the document header is correct (or not)

Implements MWAWParser.

Referenced by parse().

◆ createDocument()

void CorelPainterParser::createDocument ( librevenge::RVNGDrawingInterface *  documentInterface)
protected

creates the listener which will be associated to the document

Referenced by parse().

◆ createZones()

bool CorelPainterParser::createZones ( )
protected

finds the different objects zones

Referenced by parse().

◆ decompressData()

bool CorelPainterParser::decompressData ( CorelPainterParserInternal::ZoneHeader const &  zone,
long  endPos,
int &  value,
int &  buffer,
int &  numBitsInBuffer 
)
protected

try to decompress a data

Referenced by readBitmapRow().

◆ getZonePosition()

MWAWPosition CorelPainterParser::getZonePosition ( CorelPainterParserInternal::ZoneHeader const &  zone) const
protected

update the position beforing sending a bitmap, shape, ...

Referenced by sendBitmap(), and sendZone().

◆ init()

void CorelPainterParser::init ( )
protected

inits all internal variables

Referenced by CorelPainterParser().

◆ parse()

void CorelPainterParser::parse ( librevenge::RVNGDrawingInterface *  documentInterface)
finalvirtual

the main parser function

Implements MWAWGraphicParser.

◆ readBitmap()

std::shared_ptr< MWAWPict > CorelPainterParser::readBitmap ( CorelPainterParserInternal::ZoneHeader const &  zone)
protected

try to read a bitmap

Referenced by sendBitmap().

◆ readBitmapRow()

bool CorelPainterParser::readBitmapRow ( CorelPainterParserInternal::ZoneHeader const &  zone,
std::vector< MWAWColor > &  colorList,
std::vector< unsigned char > &  previousValues 
)
protected

try to read a bitmap line

Referenced by readBitmap().

◆ readCompressionTree()

std::shared_ptr< CorelPainterParserInternal::Node > CorelPainterParser::readCompressionTree ( long  endPos,
int  numNodes 
)
protected

try to read the Hoffman tree

Referenced by readZoneHeader().

◆ readDouble()

bool CorelPainterParser::readDouble ( double &  res)
protected

try to read a double 1 bytes exponent, 3 mantisse

Referenced by sendText().

◆ readPolygon()

bool CorelPainterParser::readPolygon ( long  endPos,
MWAWGraphicShape shape,
MWAWGraphicStyle style 
)
protected

try to read a polygon data

Referenced by sendZone().

◆ readResource()

bool CorelPainterParser::readResource ( MWAWEntry entry)
protected

try to parse the resource data

Referenced by readResourcesList().

◆ readResourcesList()

bool CorelPainterParser::readResourcesList ( CorelPainterParserInternal::ZoneHeader zone)
protected

try to read the list of resource zone (in the data fork)

Referenced by createZones().

◆ readZoneHeader()

bool CorelPainterParser::readZoneHeader ( CorelPainterParserInternal::ZoneHeader zone)
protected

try to read the header zone

Referenced by checkHeader(), and createZones().

◆ sendBitmap()

bool CorelPainterParser::sendBitmap ( CorelPainterParserInternal::ZoneHeader const &  zone)
protected

try to send a bitmap zone (main bitmap or floater)

Referenced by parse().

◆ sendText()

bool CorelPainterParser::sendText ( MWAWEntry const &  entry,
MWAWEntry const &  unicodeEntry 
)
protected

try to parse the text data

◆ sendZone()

bool CorelPainterParser::sendZone ( CorelPainterParserInternal::ZoneHeader const &  zone)
protected

try to send a not bitmap zone

Referenced by parse().

Friends And Related Function Documentation

◆ CorelPainterParserInternal::SubDocument

Member Data Documentation

◆ m_state

std::shared_ptr<CorelPainterParserInternal::State> CorelPainterParser::m_state
protected

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

Generated on Thu Jan 19 2023 00:00:00 for libmwaw by doxygen 1.9.6