a class used to parse some basic oles Tries to read the different ole parts and stores their contents in form of picture. More...
#include <MWAWOLEParser.hxx>
Public Member Functions | |
| MWAWOLEParser (std::string const &mainName, MWAWFontConverterPtr const &fontConverter, int fontId) | |
| constructor | |
| ~MWAWOLEParser () | |
| destructor | |
| bool | parse (MWAWInputStreamPtr fileInput) |
| tries to parse basic OLE (excepted mainName) | |
| void | updateMetaData (librevenge::RVNGPropertyList &metaData) const |
| update the meta data, using information find in SummaryInformation | |
| int | getFontEncoding () const |
| returns the font encoding find in SummaryInformation or -1 | |
| std::vector< std::string > const & | getNotParse () const |
| returns the list of unknown ole | |
| std::vector< int > const & | getObjectsId () const |
| returns the list of id for which we have find a representation | |
| std::vector< MWAWPosition > const & | getObjectsPosition () const |
| returns the list of data positions which have been read | |
| std::vector< librevenge::RVNGBinaryData > const & | getObjects () const |
| returns the list of data which have been read | |
| std::vector< std::string > const & | getObjectsType () const |
| returns the list of data type | |
| bool | getObject (int id, librevenge::RVNGBinaryData &obj, MWAWPosition &pos, std::string &type) const |
| returns the picture corresponding to an id | |
| void | setObject (int id, librevenge::RVNGBinaryData const &obj, MWAWPosition const &pos, std::string const &type) |
| sets an object just in case, the external parsing find another representation | |
| bool | readSummaryInformation (MWAWInputStreamPtr input, std::string const &oleName, int &encoding, librevenge::RVNGPropertyList &pList, libmwaw::DebugFile &ascii, long endPos=-1) const |
| the summary information and the doc summary information | |
Protected Member Functions | |
| bool | readSummaryProperty (MWAWInputStreamPtr input, long endPos, int type, libmwaw::DebugFile &ascii, libmwaw::DebugStream &f) const |
| try to read a summary property | |
| bool | readSummaryPropertyString (MWAWInputStreamPtr input, long endPos, int type, librevenge::RVNGString &string, libmwaw::DebugStream &f) const |
| try to read a summary property: type 1e | |
| bool | readSummaryPropertyLong (MWAWInputStreamPtr input, long endPos, int type, long &value, libmwaw::DebugStream &f) const |
| try to read a summary property: type 2,3,9,12, | |
| bool | readCompObj (MWAWInputStreamPtr ip, std::string const &oleName, libmwaw::DebugFile &ascii) |
| the "CompObj" contains : UserType,ClipName,ProgIdName | |
| bool | readContents (MWAWInputStreamPtr input, std::string const &oleName, librevenge::RVNGBinaryData &pict, MWAWPosition &pos, libmwaw::DebugFile &ascii) |
| the Contents : in general a picture : a PNG, an JPEG, a basic metafile, I find also a Word art picture, which are not sucefull read | |
| bool | readCONTENTS (MWAWInputStreamPtr input, std::string const &oleName, librevenge::RVNGBinaryData &pict, MWAWPosition &pos, libmwaw::DebugFile &ascii) |
| the CONTENTS : seems to store a header size, the header and then a object in EMF (with the same header)... | |
Static Protected Member Functions | |
| static bool | readOle (MWAWInputStreamPtr ip, std::string const &oleName, libmwaw::DebugFile &ascii) |
| the "Ole" small structure : unknown contain | |
| static bool | readMM (MWAWInputStreamPtr input, std::string const &oleName, libmwaw::DebugFile &ascii) |
| the "MM" small structure : seems to contain the file versions | |
| static bool | readObjInfo (MWAWInputStreamPtr input, std::string const &oleName, libmwaw::DebugFile &ascii) |
| the "ObjInfo" small structure : seems to contain 3 ints=0,3,4 | |
| static bool | isOlePres (MWAWInputStreamPtr ip, std::string const &oleName) |
| the OlePres001 seems to contain standart picture file and size | |
| static bool | readOlePres (MWAWInputStreamPtr ip, librevenge::RVNGBinaryData &data, MWAWPosition &pos, libmwaw::DebugFile &ascii) |
| extracts the picture of OlePres001 if it is possible | |
| static bool | isOle10Native (MWAWInputStreamPtr ip, std::string const &oleName) |
| theOle10Native : basic Windows© picture, with no size | |
| static bool | readOle10Native (MWAWInputStreamPtr ip, librevenge::RVNGBinaryData &data, libmwaw::DebugFile &ascii) |
| extracts the picture if it is possible | |
Protected Attributes | |
| std::string | m_avoidOLE |
| if filled, does not parse content with this name | |
| std::shared_ptr< MWAWOLEParserInternal::State > | m_state |
| the main state | |
a class used to parse some basic oles Tries to read the different ole parts and stores their contents in form of picture.
|
explicit |
constructor
| mainName | name of the main ole, we must avoid to parse |
| fontConverter | the font converter used to read string |
| fontId | the font id used to read string |
| MWAWOLEParser::~MWAWOLEParser | ( | ) |
destructor
| int MWAWOLEParser::getFontEncoding | ( | ) | const |
returns the font encoding find in SummaryInformation or -1
| std::vector< std::string > const & MWAWOLEParser::getNotParse | ( | ) | const |
returns the list of unknown ole
| bool MWAWOLEParser::getObject | ( | int | id, |
| librevenge::RVNGBinaryData & | obj, | ||
| MWAWPosition & | pos, | ||
| std::string & | type ) const |
returns the picture corresponding to an id
| std::vector< librevenge::RVNGBinaryData > const & MWAWOLEParser::getObjects | ( | ) | const |
returns the list of data which have been read
| std::vector< int > const & MWAWOLEParser::getObjectsId | ( | ) | const |
returns the list of id for which we have find a representation
| std::vector< MWAWPosition > const & MWAWOLEParser::getObjectsPosition | ( | ) | const |
returns the list of data positions which have been read
| std::vector< std::string > const & MWAWOLEParser::getObjectsType | ( | ) | const |
returns the list of data type
|
staticprotected |
theOle10Native : basic Windows© picture, with no size
Referenced by parse(), and readOle10Native().
|
staticprotected |
the OlePres001 seems to contain standart picture file and size
Referenced by parse(), and readOlePres().
| bool MWAWOLEParser::parse | ( | MWAWInputStreamPtr | fileInput | ) |
tries to parse basic OLE (excepted mainName)
first check if this is a mac pict as other oles may not be understand by openOffice, ...
|
protected |
the "CompObj" contains : UserType,ClipName,ProgIdName
Referenced by parse().
|
protected |
the CONTENTS : seems to store a header size, the header and then a object in EMF (with the same header)...
Referenced by parse().
|
protected |
the Contents : in general a picture : a PNG, an JPEG, a basic metafile, I find also a Word art picture, which are not sucefull read
Referenced by parse().
|
staticprotected |
the "MM" small structure : seems to contain the file versions
Referenced by parse().
|
staticprotected |
the "ObjInfo" small structure : seems to contain 3 ints=0,3,4
Referenced by parse().
|
staticprotected |
the "Ole" small structure : unknown contain
Referenced by parse().
|
staticprotected |
extracts the picture if it is possible
Referenced by parse().
|
staticprotected |
extracts the picture of OlePres001 if it is possible
Referenced by parse().
| bool MWAWOLEParser::readSummaryInformation | ( | MWAWInputStreamPtr | input, |
| std::string const & | oleName, | ||
| int & | encoding, | ||
| librevenge::RVNGPropertyList & | pList, | ||
| libmwaw::DebugFile & | ascii, | ||
| long | endPos = -1 ) const |
the summary information and the doc summary information
Referenced by parse(), and Canvas5Parser::readSI200().
|
protected |
try to read a summary property
Referenced by readSummaryInformation(), and readSummaryProperty().
|
protected |
try to read a summary property: type 2,3,9,12,
Referenced by readSummaryInformation().
|
protected |
try to read a summary property: type 1e
Referenced by readSummaryInformation(), and readSummaryProperty().
| void MWAWOLEParser::setObject | ( | int | id, |
| librevenge::RVNGBinaryData const & | obj, | ||
| MWAWPosition const & | pos, | ||
| std::string const & | type ) |
sets an object just in case, the external parsing find another representation
| void MWAWOLEParser::updateMetaData | ( | librevenge::RVNGPropertyList & | metaData | ) | const |
update the meta data, using information find in SummaryInformation
|
protected |
if filled, does not parse content with this name
Referenced by parse().
|
protected |
the main state
Referenced by getFontEncoding(), getNotParse(), getObject(), getObjects(), getObjectsId(), getObjectsPosition(), getObjectsType(), parse(), readCompObj(), readSummaryPropertyString(), setObject(), and updateMetaData().