XYWrite.h Source File documentation

XYWrite.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* libwps
3 * Version: MPL 2.0 / LGPLv2.1+
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * Major Contributor(s):
10 * Copyright (C) 2020 Laurent Alonso (alonso.laurent@gmail.com)
11 *
12 * For minor contributions see the git repository.
13 *
14 * Alternatively, the contents of this file may be used under the terms
15 * of the GNU Lesser General Public License Version 2.1 or later
16 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
17 * applicable instead of those above.
18 *
19 * For further information visit http://libwps.sourceforge.net
20 */
21
22 #ifndef XY_WRITE_H
23 #define XY_WRITE_H
24
25 #include <memory>
26 #include <vector>
27
28 #include <librevenge-stream/librevenge-stream.h>
29 #include "libwps_internal.h"
30 #include "libwps_tools_win.h"
31
32 #include "WPSParser.h"
33
34 namespace XYWriteParserInternal
35 {
36 class SubDocument;
37
38 struct Cell;
39 struct Format;
40 struct State;
41 }
42
47 class XYWriteParser : public WPSParser
48 {
49 friend struct XYWriteParserInternal::Cell;
50 friend class XYWriteParserInternal::SubDocument;
51
52 public:
54 XYWriteParser(RVNGInputStreamPtr &input, WPSHeaderPtr &header,
55 libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::UNKNOWN);
57 ~XYWriteParser() override;
59 void parse(librevenge::RVNGTextInterface *documentInterface) override;
61 bool checkHeader(WPSHeader *header, bool strict=false);
62
63 private:
64 XYWriteParser(const XYWriteParser &) = delete;
65 XYWriteParser &operator=(const XYWriteParser &) = delete;
66
68 std::shared_ptr<WPSContentListener> createListener(librevenge::RVNGTextInterface *interface);
69
70 protected:
72 bool checkFilePosition(long pos) const;
74 bool findAllZones();
76 bool parseTextZone(WPSEntry const &entry, std::string const &styleName="");
78 bool parseFrameZone(XYWriteParserInternal::Format const &frameFormat);
80 bool parsePictureZone(XYWriteParserInternal::Format const &pictureFormat);
82 bool parseMetaData(WPSEntry const &entry);
84 bool parseFormat(XYWriteParserInternal::Format &format);
86 bool createFormatChildren(XYWriteParserInternal::Format &format, size_t fPos=2);
88 bool update(XYWriteParserInternal::Format const &format, libwps_tools_win::Font::Type &fontType) const;
90 bool createTable(XYWriteParserInternal::Format const &format, long endPos);
91
92 // State
93
95 std::shared_ptr<WPSContentListener> m_listener;
97 std::shared_ptr<XYWriteParserInternal::State> m_state;
98 };
99
100 #endif /* MS_WRITE_H */
101 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WPSTextSubDocument.h
XYWriteParserInternal::State::m_nameToStyleMap
std::map< std::string, Format > m_nameToStyleMap
map name to style
Definition: XYWrite.cpp:595
XYWriteParser::createTable
bool createTable(XYWriteParserInternal::Format const &format, long endPos)
tries to create a table
Definition: XYWrite.cpp:1433
WPSParagraph.h
XYWriteParser::parseTextZone
bool parseTextZone(WPSEntry const &entry, std::string const &styleName="")
tries to parse the main text zone
Definition: XYWrite.cpp:1033
XYWriteParserInternal::Format::readNumber
static bool readNumber(std::string const &str, size_t &i, double &value)
try to read a double.
Definition: XYWrite.cpp:475
WPSField
a field
Definition: libwps_internal.h:463
WPSParagraph::m_justify
libwps::Justification m_justify
the justification
Definition: WPSParagraph.h:116
XYWriteParser::update
bool update(XYWriteParserInternal::Format const &format, libwps_tools_win::Font::Type &fontType) const
try to update the listener data(font,paragraph style, ...)
Definition: XYWrite.cpp:894
WPS_STRIKEOUT_BIT
#define WPS_STRIKEOUT_BIT
Definition: libwps_internal.h:507
XYWriteParserInternal::Cell::m_entry
WPSEntry m_entry
the text entry
Definition: XYWrite.cpp:97
libwps::UPPERCASE_ROMAN
@ UPPERCASE_ROMAN
Definition: libwps_internal.h:246
XYWriteParserInternal::State::m_metaData
librevenge::RVNGPropertyList m_metaData
the meta data
Definition: XYWrite.cpp:593
libwps::DebugFile::open
static bool open(std::string const &)
Definition: WPSDebug.h:215
WPSField::PageNumber
@ PageNumber
Definition: libwps_internal.h:465
XYWriteParser
This class parses XYWrite Dos and Win4 files.
Definition: XYWrite.h:48
WPS_BOLD_BIT
#define WPS_BOLD_BIT
Definition: libwps_internal.h:506
WPSEntry::end
long end() const
returns the end offset
Definition: WPSEntry.h:78
WPSCell.h
WPSBox2::setMin
void setMin(Vec2< T > const &x)
resets the minimum point
Definition: libwps_internal.h:771
XYWriteParserInternal::Format::readUnit
static bool readUnit(std::string const &str, size_t i, bool inDosFile, double &value, bool &inPoint, std::string &extra, bool dosInChar=true)
try to read an unit, returns a number in Point or in Line.
Definition: XYWrite.cpp:505
XYWriteParserInternal::SubDocument
Internal: the subdocument of a XYWriteParser.
Definition: XYWrite.cpp:604
WPSParagraph::m_margins
double m_margins[3]
the margins
Definition: WPSParagraph.h:101
libwps_tools_win::Font::Type
Type
enum Type
Definition: libwps_tools_win.h:46
WPS_SUBSCRIPT_BIT
#define WPS_SUBSCRIPT_BIT
Definition: libwps_internal.h:500
WPSTable.h
WPS_UNDERLINE_BIT
#define WPS_UNDERLINE_BIT
Definition: libwps_internal.h:508
WPSTabStop::CENTER
@ CENTER
Definition: WPSParagraph.h:39
XYWriteParser::findAllZones
bool findAllZones()
tries to find the end of main zone, the meta data zones (only Win4)
Definition: XYWrite.cpp:848
XYWriteParser::m_state
std::shared_ptr< XYWriteParserInternal::State > m_state
the main state
Definition: XYWrite.h:97
WPSParagraph::AtLeast
@ AtLeast
Definition: WPSParagraph.h:61
WPS_SUPERSCRIPT_BIT
#define WPS_SUPERSCRIPT_BIT
Definition: libwps_internal.h:499
WPSTextSubDocument::m_parser
WPSParser * m_parser
Definition: WPSTextSubDocument.h:62
WPS_ALL_CAPS_BIT
#define WPS_ALL_CAPS_BIT
Definition: libwps_internal.h:512
XYWriteParserInternal::Format::shortTitle
std::string shortTitle(size_t sz=2) const
returns the two/... first character of the main string in uppercase
Definition: XYWrite.cpp:139
XYWriteParser::XYWriteParser
XYWriteParser(const XYWriteParser &)=delete
WPSList::Level::isDefault
bool isDefault() const
returns true if the level type was not set
Definition: WPSList.h:55
libwps::DebugFile::reset
static void reset()
Definition: WPSDebug.h:224
XYWriteParserInternal::State::m_fontType
libwps_tools_win::Font::Type m_fontType
the user font type
Definition: XYWrite.cpp:591
WPSPageSpan::setMarginRight
void setMarginRight(const double marginRight)
Definition: WPSPageSpan.h:134
XYWriteParser::~XYWriteParser
~XYWriteParser() override
destructor
Definition: XYWrite.cpp:673
WPSTabStop::m_alignment
Alignment m_alignment
Definition: WPSParagraph.h:51
XYWriteParser::checkHeader
bool checkHeader(WPSHeader *header, bool strict=false)
checks if the document header is correct (or not)
Definition: XYWrite.cpp:1790
libwps_tools_win::Font::unicodeString
static librevenge::RVNGString unicodeString(const unsigned char *p, unsigned long size, Type type, bool skipUnknown=true)
converts a list of character in unicode
Definition: libwps_tools_win.cpp:7283
WPSPageSpan::ALL
@ ALL
Definition: WPSPageSpan.h:44
WPSHeader.h
libwps::ARABIC
@ ARABIC
Definition: libwps_internal.h:246
WPS_REVERSEVIDEO_BIT
#define WPS_REVERSEVIDEO_BIT
Definition: libwps_internal.h:511
WPSContentListener
Definition: WPSContentListener.h:45
XYWriteParser::XYWriteParser
XYWriteParser(RVNGInputStreamPtr &input, WPSHeaderPtr &header, libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::UNKNOWN)
constructor
Definition: XYWrite.cpp:664
WPSFont
define the font properties
Definition: WPSFont.h:37
WPSPosition::Char
@ Char
Definition: WPSPosition.h:43
WPSEntry::valid
bool valid(bool checkId=false) const
returns true if the zone length is positive
Definition: WPSEntry.h:89
WPS_ITALICS_BIT
#define WPS_ITALICS_BIT
Definition: libwps_internal.h:502
WPSTabStop
Definition: WPSParagraph.h:38
XYWriteParserInternal::Format::readVec2f
static bool readVec2f(std::string const &str, size_t i, bool inDosFile, Vec2f &vec, std::string &extra)
try to read a vector of double in points
Definition: XYWrite.cpp:430
WPSTabStop::RIGHT
@ RIGHT
Definition: WPSParagraph.h:39
WPSPageSpan::HEADER
@ HEADER
Definition: WPSPageSpan.h:43
WPSPageSpan::FOOTER
@ FOOTER
Definition: WPSPageSpan.h:43
WPSEntry
basic class to store an entry in a file This contained :
Definition: WPSEntry.h:39
WPSHeader::setMajorVersion
void setMajorVersion(int version)
Definition: WPSHeader.h:94
Vec2i
Vec2< int > Vec2i
Vec2 of int.
Definition: libwps_internal.h:702
WPS_SMALL_CAPS_BIT
#define WPS_SMALL_CAPS_BIT
Definition: libwps_internal.h:509
WPSParser
Definition: WPSParser.h:36
WPS_PAGE_BREAK
#define WPS_PAGE_BREAK
Definition: libwps_internal.h:519
WPSPageSpan::ODD
@ ODD
Definition: WPSPageSpan.h:44
XYWriteParserInternal::State::m_isDosFile
bool m_isDosFile
flag to know if the file is or not a dos file
Definition: XYWrite.cpp:587
WPSParagraph::setInterline
void setInterline(double value, librevenge::RVNGUnit unit, LineSpacingType type=Fixed)
set the interline
Definition: WPSParagraph.h:87
WPSPageSpan.h
XYWriteParserInternal::Format::m_listCounter
int m_listCounter
the list counter (if known)
Definition: XYWrite.cpp:378
XYWriteParserInternal::SubDocument::parse
void parse(std::shared_ptr< WPSContentListener > &listener, libwps::SubDocumentType subDocumentType) final
the parser function
Definition: XYWrite.cpp:630
WPSListenerPtr
std::shared_ptr< WPSListener > WPSListenerPtr
shared pointer to WPSListener
Definition: libwps_internal.h:105
XYWriteParserInternal::Cell::m_parser
XYWriteParser & m_parser
the actual parser
Definition: XYWrite.cpp:95
WPSList::Level::m_type
libwps::NumberingType m_type
the type of the level
Definition: WPSList.h:98
XYWriteParserInternal::Format::m_inDosFile
bool m_inDosFile
flag to know if we are in a dos file
Definition: XYWrite.cpp:368
XYWriteParserInternal::State::m_counterToValueMap
std::map< int, int > m_counterToValueMap
map counter to value
Definition: XYWrite.cpp:599
Vec2f
Vec2< float > Vec2f
Vec2 of float.
Definition: libwps_internal.h:704
WPSPosition::setRelativePosition
void setRelativePosition(AnchorTo anchor, XPos X=XLeft, YPos Y=YTop)
sets the relative position
Definition: WPSPosition.h:214
XYWriteParserInternal::SubDocument::~SubDocument
~SubDocument() final
destructor
Definition: XYWrite.cpp:610
WPSTabStop::LEFT
@ LEFT
Definition: WPSParagraph.h:39
XYWriteParserInternal::Format::updateFont
bool updateFont(WPSFont &font) const
update a font if possible
Definition: XYWrite.cpp:146
XYWriteParserInternal::Format::readBox2f
static bool readBox2f(std::string const &str, size_t i, bool inDosFile, WPSBox2f &box, std::string &extra)
try to read a box of double in points
Definition: XYWrite.cpp:413
libwps::ParseException
Definition: libwps_internal.h:152
XYWriteParserInternal::Format::m_level
WPSList::Level m_level
the list level (if known)
Definition: XYWrite.cpp:380
Vec2< float >
WPS_DEBUG_MSG
#define WPS_DEBUG_MSG(M)
Definition: libwps_internal.h:134
libwps::LOWERCASE_ROMAN
@ LOWERCASE_ROMAN
Definition: libwps_internal.h:246
WPSFont::m_color
WPSColor m_color
the font color
Definition: WPSFont.h:91
XYWriteParserInternal::Format::m_entry
WPSEntry m_entry
a text zone entry
Definition: XYWrite.cpp:374
libwps_tools_win::Font::unicode
static unsigned long unicode(unsigned char c, Type type)
converts a character in unicode, knowing the character and the font type
Definition: libwps_tools_win.cpp:7160
WPSParagraph
class to store the paragraph properties
Definition: WPSParagraph.h:58
WPSEntry::setBegin
void setBegin(long off)
sets the begin offset
Definition: WPSEntry.h:57
WPSContentListener.h
WPSHeader
Definition: WPSHeader.h:32
WPSTabStop::DECIMAL
@ DECIMAL
Definition: WPSParagraph.h:39
XYWriteParserInternal::Cell::Cell
Cell(XYWriteParser &parser)
constructor
Definition: XYWrite.cpp:51
libwps_tools_win::Font::UNKNOWN
@ UNKNOWN
Definition: libwps_tools_win.h:63
libwps::appendUnicode
void appendUnicode(uint32_t val, librevenge::RVNGString &buffer)
adds an unicode character to a string ( with correct encoding ).
Definition: libwps_internal.cpp:836
WPSPageSpan::setFormWidth
void setFormWidth(const double formWidth)
Definition: WPSPageSpan.h:122
libwps::UPPERCASE
@ UPPERCASE
Definition: libwps_internal.h:246
XYWriteParserInternal::Format::Format
Format(bool inDosFile=false)
constructor
Definition: XYWrite.cpp:109
libwps::SubDocumentType
SubDocumentType
Definition: libwps_internal.h:248
XYWriteParserInternal::Cell::send
bool send(WPSListenerPtr &listener) final
call when a cell must be send
Definition: XYWrite.cpp:64
WPSField::Date
@ Date
Definition: libwps_internal.h:465
WPSFont.h
WPSEntry.h
WPSFont::m_attributes
uint32_t m_attributes
the font attributes defined as a set of bits
Definition: WPSFont.h:87
WPSParser::getInput
RVNGInputStreamPtr & getInput()
Definition: WPSParser.h:47
WPSEntry::begin
long begin() const
returns the begin offset
Definition: WPSEntry.h:73
XYWriteParserInternal::State
the state of XYWrite
Definition: XYWrite.cpp:565
XYWriteParserInternal::State::m_eof
long m_eof
the last file position
Definition: XYWrite.cpp:589
WPSTabStop::m_position
double m_position
Definition: WPSParagraph.h:50
WPSFont::m_size
double m_size
font size
Definition: WPSFont.h:85
WPSSubDocumentPtr
std::shared_ptr< WPSSubDocument > WPSSubDocumentPtr
shared pointer to WPSSubDocument
Definition: libwps_internal.h:111
libwps_tools_win::Font::CP_437
@ CP_437
Definition: libwps_tools_win.h:46
XYWriteParserInternal::Format::upperCase
static std::string upperCase(std::string const &str)
returns the upper case of a string
Definition: XYWrite.cpp:126
WPSList::Level::m_prefix
librevenge::RVNGString m_prefix
string which preceedes the number if we have an ordered level
Definition: WPSList.h:99
WPSPageSpan::setMarginTop
void setMarginTop(const double marginTop)
Definition: WPSPageSpan.h:138
WPSEntry::length
long length() const
returns the length of the zone
Definition: WPSEntry.h:83
WPSHeaderPtr
std::shared_ptr< WPSHeader > WPSHeaderPtr
shared pointer to WPSHeader
Definition: libwps_internal.h:109
WPSCell
a structure used to defined the cell position, and a format
Definition: WPSCell.h:291
XYWriteParser::createFormatChildren
bool createFormatChildren(XYWriteParserInternal::Format &format, size_t fPos=2)
tries to parse again a format to create a list of child: SS, FA, FM1, ...
Definition: XYWrite.cpp:1688
libwps::readU8
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:40
XYWriteParserInternal::State::getFontType
libwps_tools_win::Font::Type getFontType() const
returns the current font type
Definition: XYWrite.cpp:578
WPSPageSpan::setMarginBottom
void setMarginBottom(const double marginBottom)
Definition: WPSPageSpan.h:142
libwps_tools_win.h
WPSParser.h
WPSParser::ascii
libwps::DebugFile & ascii()
a DebugFile used to write what we recognize when we parse the document
Definition: WPSParser.h:65
WPSPageSpan
Definition: WPSPageSpan.h:39
WPSPageSpan::setHeaderFooter
void setHeaderFooter(const HeaderFooterType type, const HeaderFooterOccurrence occurrence, WPSSubDocumentPtr &subDocument)
Definition: WPSPageSpan.cpp:111
WPSEntry::setEnd
void setEnd(long e)
sets the end offset
Definition: WPSEntry.h:67
XYWriteParserInternal::Cell
Internal: class to store a basic cell with borders.
Definition: XYWrite.cpp:49
WPSField::Time
@ Time
Definition: libwps_internal.h:465
libwps_tools_win::Language::name
std::string name(long id)
returns the name given Windows© id
Definition: libwps_tools_win.cpp:7332
WPSBox2::setMax
void setMax(Vec2< T > const &y)
resets the maximum point
Definition: libwps_internal.h:776
XYWriteParserInternal::Cell::sendContent
bool sendContent(WPSListenerPtr &) final
call when the content of a cell must be send
Definition: XYWrite.cpp:80
XYWriteParserInternal::SubDocument::operator==
bool operator==(std::shared_ptr< WPSSubDocument > const &doc) const final
operator==
Definition: XYWrite.cpp:613
WPSPosition.h
XYWriteParserInternal::Cell::~Cell
~Cell() final
virtual destructor
Definition: XYWrite.cpp:101
RVNGInputStreamPtr
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr
shared pointer to librevenge::RVNGInputStream
Definition: libwps_internal.h:87
WPSTextSubDocument
Basic class used to store a sub document.
Definition: WPSTextSubDocument.h:36
WPSList::Level
small structure to keep information about a level
Definition: WPSList.h:41
WPSParagraph::m_spacings
double m_spacings[3]
the line spacing
Definition: WPSParagraph.h:107
WPSPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: WPSPosition.h:40
XYWriteParserInternal::Format::readUInt
static bool readUInt(std::string const &str, size_t &i, unsigned int &value, std::string &extra)
try to read a int
Definition: XYWrite.cpp:460
WPSSubDocument::m_input
RVNGInputStreamPtr m_input
Definition: WPSSubDocument.h:65
WPSBox2::size
Vec2< T > size() const
the box size
Definition: libwps_internal.h:754
XYWriteParserInternal::SubDocument::SubDocument
SubDocument(RVNGInputStreamPtr const &input, XYWriteParser &pars, WPSEntry const &entry, std::string const &style="")
constructor for a text entry
Definition: XYWrite.cpp:607
libwps_tools_win::Font::WIN3_WEUROPE
@ WIN3_WEUROPE
Definition: libwps_tools_win.h:52
libwps::LOWERCASE
@ LOWERCASE
Definition: libwps_internal.h:246
XYWriteParserInternal::Format::operator<<
friend std::ostream & operator<<(std::ostream &o, Format const &format)
operator<<
Definition: XYWrite.cpp:347
XYWriteParserInternal::SubDocument::m_style
std::string m_style
the style
Definition: XYWrite.cpp:627
libwps::JustificationFull
@ JustificationFull
Definition: libwps_internal.h:249
libwps_internal.h
WPSParagraph::m_breakStatus
int m_breakStatus
a list of bits: 0x1 (unbreakable), 0x2 (do not break after)
Definition: WPSParagraph.h:118
libwps::NoBreakWithNextBit
@ NoBreakWithNextBit
Definition: libwps_internal.h:252
libwps::JustificationLeft
@ JustificationLeft
Definition: libwps_internal.h:249
WPSPageSpan::EVEN
@ EVEN
Definition: WPSPageSpan.h:44
XYWriteParserInternal::Format::m_isComplex
bool m_isComplex
a flag to know if this is a complex entry
Definition: XYWrite.cpp:376
WPSColor
the class to store a color
Definition: libwps_internal.h:281
XYWriteParser::parseMetaData
bool parseMetaData(WPSEntry const &entry)
tries to parse the meta data zone
Definition: XYWrite.cpp:1572
XYWriteParser::operator=
XYWriteParser & operator=(const XYWriteParser &)=delete
XYWriteParser::parseFrameZone
bool parseFrameZone(XYWriteParserInternal::Format const &frameFormat)
tries to parse a frame
Definition: XYWrite.cpp:1319
WPSBox2< float >
XYWriteParserInternal::Format::updateParagraph
bool updateParagraph(WPSParagraph &para) const
update a paragraph if possible
Definition: XYWrite.cpp:230
WPSList::Level::m_labelIndent
double m_labelIndent
the list indent
Definition: WPSList.h:93
XYWriteParserInternal
Definition: XYWrite.cpp:46
libwps_tools_win::Font::getFontType
static Type getFontType(librevenge::RVNGString &name)
returns the type of the font using the fontName
Definition: libwps_tools_win.cpp:39
XYWriteParser::createListener
std::shared_ptr< WPSContentListener > createListener(librevenge::RVNGTextInterface *interface)
creates the main listener
Definition: XYWrite.cpp:691
XYWriteParser::parseFormat
bool parseFormat(XYWriteParserInternal::Format &format)
tries to parse a format: first character 0xae is read
Definition: XYWrite.cpp:1621
XYWriteParserInternal::Format::title
std::string title() const
returns the title in uppercase
Definition: XYWrite.cpp:134
XYWriteParserInternal::State::State
State(libwps_tools_win::Font::Type fontType)
constructor
Definition: XYWrite.cpp:567
libwps::JustificationCenter
@ JustificationCenter
Definition: libwps_internal.h:249
WPSPageSpan::setMarginLeft
void setMarginLeft(const double marginLeft)
Definition: WPSPageSpan.h:130
XYWriteParserInternal::State::m_counterToTypeMap
std::map< int, libwps::NumberingType > m_counterToTypeMap
map counter to type
Definition: XYWrite.cpp:597
XYWrite.h
WPSParagraph::m_backgroundColor
WPSColor m_backgroundColor
the background color
Definition: WPSParagraph.h:126
XYWriteParserInternal::Format::empty
bool empty() const
return true if the format is empty
Definition: XYWrite.cpp:121
libwps::JustificationRight
@ JustificationRight
Definition: libwps_internal.h:250
XYWriteParserInternal::Format::readColor
bool readColor(WPSColor &color) const
try to read a color
Definition: XYWrite.cpp:389
XYWriteParser::checkFilePosition
bool checkFilePosition(long pos) const
check if the file position is correct or not
Definition: XYWrite.cpp:677
XYWriteParserInternal::SubDocument::m_entry
WPSEntry m_entry
the entry
Definition: XYWrite.cpp:625
WPSPageSpan::setFormLength
void setFormLength(const double formLength)
Definition: WPSPageSpan.h:118
XYWriteParserInternal::Format::m_args
std::vector< std::string > m_args
the other arguments
Definition: XYWrite.cpp:372
XYWriteParserInternal::Format::readVec2i
static bool readVec2i(std::string const &str, size_t i, Vec2i &vec, std::string &extra)
try to read a vector of uint
Definition: XYWrite.cpp:445
XYWriteParserInternal::Cell::m_style
std::string m_style
the cell style
Definition: XYWrite.cpp:99
XYWriteParserInternal::Format::m_children
std::vector< Format > m_children
the list of child (for style, ...)
Definition: XYWrite.cpp:382
XYWriteParser::parsePictureZone
bool parsePictureZone(XYWriteParserInternal::Format const &pictureFormat)
tries to parse a picture
Definition: XYWrite.cpp:1375
XYWriteParserInternal::Format
a structure used to store a format
Definition: XYWrite.cpp:107
XYWriteParserInternal::Format::m_string
std::string m_string
the main part
Definition: XYWrite.cpp:370
WPSParagraph::m_tabs
std::vector< WPSTabStop > m_tabs
the tabulations
Definition: WPSParagraph.h:113
XYWriteParser::m_listener
std::shared_ptr< WPSContentListener > m_listener
the listener (if set)
Definition: XYWrite.h:95
WPSFont::m_name
librevenge::RVNGString m_name
font name
Definition: WPSFont.h:83
WPSContentListener::FOOTNOTE
@ FOOTNOTE
Definition: WPSContentListener.h:99
libwps::DebugFile::setStream
static void setStream(RVNGInputStreamPtr)
Definition: WPSDebug.h:212
WPSList::Level::m_suffix
librevenge::RVNGString m_suffix
string which follows the number if we have an ordered level
Definition: WPSList.h:100
XYWriteParser::parse
void parse(librevenge::RVNGTextInterface *documentInterface) override
called by WPSDocument to parse the file
Definition: XYWrite.cpp:807