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
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 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 const &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 CorelPainterParserInternal::SubDocument, and parse().

◆ createDocument()

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

creates the listener which will be associated to the document

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

◆ createZones()

bool CorelPainterParser::createZones ( )
protected

finds the different objects zones

Referenced by CorelPainterParserInternal::SubDocument, and 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 CorelPainterParserInternal::SubDocument, and readBitmapRow().

◆ getZonePosition()

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

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

Referenced by CorelPainterParserInternal::SubDocument, sendBitmap(), and sendZone().

◆ init()

void CorelPainterParser::init ( )
protected

inits all internal variables

Referenced by CorelPainterParser(), and CorelPainterParserInternal::SubDocument.

◆ parse()

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

the main parser function

Implements MWAWGraphicParser.

Referenced by CorelPainterParserInternal::SubDocument.

◆ readBitmap()

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

try to read a bitmap

Referenced by CorelPainterParserInternal::SubDocument, and 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 CorelPainterParserInternal::SubDocument, and readBitmap().

◆ readCompressionTree()

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

try to read the Hoffman tree

Referenced by CorelPainterParserInternal::SubDocument, and readZoneHeader().

◆ readDouble()

bool CorelPainterParser::readDouble ( double & res)
protected

try to read a double 1 bytes exponent, 3 mantisse

Referenced by CorelPainterParserInternal::SubDocument, and sendText().

◆ readPolygon()

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

try to read a polygon data

Referenced by CorelPainterParserInternal::SubDocument, and sendZone().

◆ readResource()

bool CorelPainterParser::readResource ( MWAWEntry const & entry)
protected

try to parse the resource data

Referenced by CorelPainterParserInternal::SubDocument, and readResourcesList().

◆ readResourcesList()

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

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

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

◆ readZoneHeader()

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

try to read the header zone

Referenced by checkHeader(), CorelPainterParserInternal::SubDocument, and createZones().

◆ sendBitmap()

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

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

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

◆ sendText()

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

try to parse the text data

Referenced by CorelPainterParserInternal::SubDocument.

◆ sendZone()

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

try to send a not bitmap zone

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

◆ 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 Mon Jan 20 2025 00:00:00 for libmwaw by doxygen 1.14.0