WPS8.h Source File documentation

WPS8.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) 2006, 2007 Andrew Ziem
11 * Copyright (C) 2003-2005 William Lachance (william.lachance@sympatico.ca)
12 * Copyright (C) 2003 Marc Maurer (uwog@uwog.net)
13 *
14 * For minor contributions see the git repository.
15 *
16 * Alternatively, the contents of this file may be used under the terms
17 * of the GNU Lesser General Public License Version 2.1 or later
18 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
19 * applicable instead of those above.
20 */
21
22 #ifndef WPS8_H
23 #define WPS8_H
24
25 #include <deque>
26 #include <vector>
27
28 #include <librevenge/librevenge.h>
29
30 #include "libwps_internal.h"
31 #include "WPSParser.h"
32
33 class WPSPageSpan;
34
35 namespace WPS8ParserInternal
36 {
37 class SubDocument;
38 struct State;
39 }
40
41 class WPS8Graph;
42 class WPS8Table;
43 class WPS8Text;
44
49 class WPS8Parser final : public WPSParser
50 {
51 friend class WPS8ParserInternal::SubDocument;
52 friend class WPS8Graph;
53 friend class WPS8Table;
54 friend class WPS8Text;
55
56 public:
58 WPS8Parser(RVNGInputStreamPtr &input, WPSHeaderPtr &header);
60 ~WPS8Parser() final;
62 void parse(librevenge::RVNGTextInterface *documentInterface) final;
63 protected:
65 bool checkInFile(long pos);
66
68 void newPage(int number);
70 void setListener(std::shared_ptr<WPSContentListener> const &listener);
72 std::shared_ptr<WPSContentListener> createListener(librevenge::RVNGTextInterface *interface);
73
75 bool createStructures();
77 bool createOLEStructures();
78
80 float pageHeight() const;
82 float pageWidth() const;
84 int numColumns() const;
85
87 void sendPageFrames();
88 // interface with text parser
89
91 void sendTextBox(WPSPosition const &pos, int strsid,
92 librevenge::RVNGPropertyList frameExtras=librevenge::RVNGPropertyList());
93
95 void send(WPSEntry const &entry);
97 void send(int strsId);
98
100 void sendTextInCell(int strsId, int cellId);
101
102 // interface with table parser
103
105 bool sendTable(Vec2f const &size, int objectId);
107 int getTableSTRSId(int tableId) const;
108
109 // interface with graph parser
110
116 bool sendObject(Vec2f const &size, int objectId, bool ole);
117
118 //
119 // low level
120 //
121
123 bool parseHeaderIndexEntry();
126 bool parseHeaderIndexEntryEnd(long endPos, WPSEntry &hie,std::string &mess);
127
132 bool parseHeaderIndex();
133
137 bool readDocProperties(WPSEntry const &entry, WPSPageSpan &page);
138
141 bool readFRAM(WPSEntry const &entry);
143 bool readFRCD(WPSEntry const &entry);
144
149 bool readSYID(WPSEntry const &entry, std::vector<int> &listId);
150
154 bool readWNPR(WPSEntry const &entry);
155
157 static bool readSPELLING(RVNGInputStreamPtr input, std::string const &oleName);
158
159 std::shared_ptr<WPSContentListener> m_listener; /* the listener (if set)*/
161 std::shared_ptr<WPS8Graph> m_graphParser;
163 std::shared_ptr<WPS8Table> m_tableParser;
165 std::shared_ptr<WPS8Text> m_textParser;
167 std::shared_ptr<WPS8ParserInternal::State> m_state;
168
169 private:
170 std::deque<int> m_sendingTables;
171 };
172
173 #endif /* WPS8_H */
174 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WPSTextSubDocument.h
WPS_N_ELEMENTS
#define WPS_N_ELEMENTS(m)
Definition: libwps_internal.h:124
WPS8ParserInternal::TableRecursionGuard::m_stack
std::deque< int > & m_stack
Definition: WPS8.cpp:322
WPS8ParserInternal::SubDocument::~SubDocument
~SubDocument() final
destructor
Definition: WPS8.cpp:60
WPSEntry::hasName
bool hasName(std::string const &nam) const
checks if the entry name is equal to name
Definition: WPSEntry.h:152
WPS8ParserInternal::Frame::m_backgroundColor
WPSColor m_backgroundColor
the border's color
Definition: WPS8.cpp:169
WPSEntry::setName
void setName(std::string const &nam)
sets the name of the entry
Definition: WPSEntry.h:142
WPS8Parser::sendTable
bool sendTable(Vec2f const &size, int objectId)
sends a table as a character with given size ( via its WPS8Table )
Definition: WPS8.cpp:494
libwps::DebugStream::str
static std::string str()
Definition: WPSDebug.h:200
libwps::DebugFile::open
static bool open(std::string const &)
Definition: WPSDebug.h:215
WPS8ParserInternal::SubDocument::operator==
bool operator==(std::shared_ptr< WPSSubDocument > const &doc) const final
operator==
Definition: WPS8.cpp:63
WPS8Parser::sendPageFrames
void sendPageFrames()
send the frames which corresponds to a given page to the listener
Definition: WPS8.cpp:750
WPS8ParserInternal::Frame::Footer
@ Footer
Definition: WPS8.cpp:152
WPS8Graph.h
libwps::DebugFile::addPos
static void addPos(long)
Definition: WPSDebug.h:220
WPS8Parser::WPS8Table
friend class WPS8Table
Definition: WPS8.h:53
WPSEntry::end
long end() const
returns the end offset
Definition: WPSEntry.h:78
WPS8ParserInternal::SubDocument
Internal: the subdocument of a WPS8Parser.
Definition: WPS8.cpp:51
WPSEntry::setExtra
void setExtra(std::string const &s)
sets the extra string
Definition: WPSEntry.h:174
libwps::Debug::dumpFile
bool dumpFile(librevenge::RVNGBinaryData &, char const *)
Definition: WPSDebug.h:180
WPS8ParserInternal::State::State
State()
Definition: WPS8.cpp:233
WPSPosition::m_anchorTo
AnchorTo m_anchorTo
anchor position
Definition: WPSPosition.h:241
WPS8ParserInternal::State::m_frameTypes
std::map< int, int > m_frameTypes
the frame type
Definition: WPS8.cpp:270
WPSPageSpan::getFormLength
double getFormLength() const
Definition: WPSPageSpan.h:59
WPSEntry::setLength
void setLength(long l)
sets the zone size
Definition: WPSEntry.h:62
WPS8ParserInternal::State::m_numPages
int m_numPages
Definition: WPS8.cpp:272
WPS8Table
the main class to read/store table in a Pc MS Works document v5-8
Definition: WPS8Table.h:58
WPS8ParserInternal::Frame::m_idBorder
WPSEntry m_idBorder
the border: an entry to some complex border (if sets)
Definition: WPS8.cpp:167
WPS8Parser::readWNPR
bool readWNPR(WPSEntry const &entry)
parses the WNPR zone : a zone which seems to contain the printer preferences.
Definition: WPS8.cpp:1888
WPSParser::setVersion
void setVersion(int vers)
Definition: WPSParser.h:60
WPS8Graph
the main class to read/store pictures in a Pc MS Works document v5-8
Definition: WPS8Graph.h:54
WPS8ParserInternal::TableRecursionGuard
Definition: WPS8.cpp:304
WPS8Struct::FileData::m_recursData
std::vector< FileData > m_recursData
the list of children
Definition: WPS8Struct.h:145
WPSOLEParser::getObjectsMap
std::map< int, WPSEmbeddedObject > const & getObjectsMap() const
returns the list of data positions which have been read
Definition: WPSOLEParser.cpp:281
WPSPageSpan::LANDSCAPE
@ LANDSCAPE
Definition: WPSPageSpan.h:41
WPSContentListenerPtr
std::shared_ptr< WPSContentListener > WPSContentListenerPtr
shared pointer to WPSContentListener
Definition: libwps_internal.h:107
WPS8Parser::sendObject
bool sendObject(Vec2f const &size, int objectId, bool ole)
sends an object as a character with given size (via its WPS8Graph )
Definition: WPS8.cpp:485
WPS8ParserInternal::Frame::Frame
Frame()
constructor
Definition: WPS8.cpp:135
WPS8ParserInternal::State::m_pageSpan
WPSPageSpan m_pageSpan
the actual document size
Definition: WPS8.cpp:254
WPS8Struct::readBlockData
bool readBlockData(RVNGInputStreamPtr input, long endPos, FileData &dt, std::string &error)
tries to read a block zone as a list of Data
Definition: WPS8Struct.cpp:168
WPS8Parser::WPS8Text
friend class WPS8Text
Definition: WPS8.h:54
WPS8ParserInternal::State::m_background
WPSEntry m_background
an identificator to design a background picture
Definition: WPS8.cpp:258
WPS8ParserInternal::Frame::DbField
@ DbField
Definition: WPS8.cpp:152
WPSOLEParser::getNotParse
std::vector< std::string > const & getNotParse() const
returns the list of unknown ole
Definition: WPSOLEParser.cpp:276
WPSTextSubDocument::m_parser
WPSParser * m_parser
Definition: WPSTextSubDocument.h:62
WPS8Parser::m_tableParser
std::shared_ptr< WPS8Table > m_tableParser
the table parser
Definition: WPS8.h:163
WPS8Parser::m_listener
std::shared_ptr< WPSContentListener > m_listener
Definition: WPS8.h:159
WPS8ParserInternal::State
the state of WPS8
Definition: WPS8.cpp:232
WPS8ParserInternal::Frame::Text
@ Text
Definition: WPS8.cpp:152
WPS8Parser::readFRAM
bool readFRAM(WPSEntry const &entry)
reads the FRAM zone: ie a zone which can contains textbox, picture, ...
Definition: WPS8.cpp:1277
libwps::DebugFile::reset
static void reset()
Definition: WPSDebug.h:224
WPSOLEParser
a class used to parse some basic oles Tries to read the different ole parts and stores their contents...
Definition: WPSOLEParser.h:86
WPSPosition::m_wrapping
Wrapping m_wrapping
Wrapping.
Definition: WPSPosition.h:249
WPS8Parser::sendTextBox
void sendTextBox(WPSPosition const &pos, int strsid, librevenge::RVNGPropertyList frameExtras=librevenge::RVNGPropertyList())
creates a subdocument to send a textbox which correspond to the strsid text zone
Definition: WPS8.cpp:472
WPSPageSpan::setMarginRight
void setMarginRight(const double marginRight)
Definition: WPSPageSpan.h:134
WPSPageSpan::ALL
@ ALL
Definition: WPSPageSpan.h:44
WPSHeader.h
WPS8Parser::parseHeaderIndexEntry
bool parseHeaderIndexEntry()
parses an index entry
Definition: WPS8.cpp:797
WPSColor::isWhite
bool isWhite() const
return true if the color is white
Definition: libwps_internal.h:350
WPS8Parser::WPS8Graph
friend class WPS8Graph
Definition: WPS8.h:52
WPS8ParserInternal::Frame::m_type
int m_type
the frame type
Definition: WPS8.cpp:157
WPS8ParserInternal::Frame::m_parsed
bool m_parsed
a flag to know if the frame is already sent to the listener
Definition: WPS8.cpp:155
WPSContentListener
Definition: WPSContentListener.h:45
WPSEntry::valid
bool valid(bool checkId=false) const
returns true if the zone length is positive
Definition: WPSEntry.h:89
WPS8ParserInternal::TableRecursionGuard::TableRecursionGuard
TableRecursionGuard(std::deque< int > &stack, const int id)
Definition: WPS8.cpp:310
WPS8ParserInternal::State::m_frameList
std::vector< Frame > m_frameList
the frame's list
Definition: WPS8.cpp:261
WPS8ParserInternal::Frame::UNKNOWN
@ UNKNOWN
Definition: WPS8.cpp:152
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
WPSParser::getNameEntryMap
NameMultiMap & getNameEntryMap()
Definition: WPSParser.h:70
WPS8ParserInternal::TableRecursionGuard::~TableRecursionGuard
~TableRecursionGuard()
Definition: WPS8.cpp:316
WPSEntry::name
std::string const & name() const
name of the entry
Definition: WPSEntry.h:147
WPSParser
Definition: WPSParser.h:36
WPSPosition::CharBaseLine
@ CharBaseLine
Definition: WPSPosition.h:43
WPS8ParserInternal::SubDocument::Unknown
@ Unknown
Definition: WPS8.cpp:54
WPS_PAGE_BREAK
#define WPS_PAGE_BREAK
Definition: libwps_internal.h:519
WPSPosition::origin
Vec2f const & origin() const
return the frame origin
Definition: WPSPosition.h:118
WPSPageSpan::getFormWidth
double getFormWidth() const
Definition: WPSPageSpan.h:63
WPS8Parser::pageWidth
float pageWidth() const
returns the page width, ie. paper size less margin (in inches)
Definition: WPS8.cpp:355
WPSPageSpan.h
WPS8ParserInternal::State::m_docPropertyTypes
std::map< int, int > m_docPropertyTypes
the document property type
Definition: WPS8.cpp:268
WPS8Parser::readDocProperties
bool readDocProperties(WPSEntry const &entry, WPSPageSpan &page)
reads the DOP zone: the document properties
Definition: WPS8.cpp:1018
WPS8Parser::sendTextInCell
void sendTextInCell(int strsId, int cellId)
send the text of a cell to a listener (via WPS8Text)
Definition: WPS8.cpp:464
WPS8Parser::parseHeaderIndexEntryEnd
bool parseHeaderIndexEntryEnd(long endPos, WPSEntry &hie, std::string &mess)
function which is called, if some data remains after the basic content of an entry: by default does n...
Definition: WPS8.cpp:906
WPS8Parser::m_graphParser
std::shared_ptr< WPS8Graph > m_graphParser
the graph parser
Definition: WPS8.h:161
WPSEntry::setId
void setId(int i)
sets the id
Definition: WPSEntry.h:163
WPS8ParserInternal::SubDocument::Type
Type
type of an entry
Definition: WPS8.cpp:54
WPS8ParserInternal::State::m_localeLanguage
std::string m_localeLanguage
the language
Definition: WPS8.cpp:256
WPS8Struct.h
WPS8ParserInternal::SubDocument::parse
void parse(std::shared_ptr< WPSContentListener > &listener, libwps::SubDocumentType subDocumentType) final
the parser function
Definition: WPS8.cpp:78
WPSOLEParser::parse
bool parse(RVNGInputStreamPtr fileInput)
tries to parse basic OLE (excepted mainName)
Definition: WPSOLEParser.cpp:318
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
WPSParser::getFileInput
RVNGInputStreamPtr getFileInput()
Definition: WPSParser.cpp:45
libwps::ParseException
Definition: libwps_internal.h:152
libwps::Debug::flattenFileName
std::string flattenFileName(std::string const &name)
Definition: WPSDebug.h:185
WPS8ParserInternal::Frame::Table
@ Table
Definition: WPS8.cpp:152
Vec2< float >
WPS_DEBUG_MSG
#define WPS_DEBUG_MSG(M)
Definition: libwps_internal.h:134
libwps::readU32
uint32_t readU32(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:76
WPSEntry::setBegin
void setBegin(long off)
sets the begin offset
Definition: WPSEntry.h:57
WPSContentListener.h
WPS8ParserInternal::State::m_eof
long m_eof
the end of file
Definition: WPS8.cpp:252
Vec2::x
T x() const
first element
Definition: libwps_internal.h:542
WPSOLEParser.h
libwps::read32
int32_t read32(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:85
WPS8ParserInternal::Frame::m_columns
int m_columns
the number of columns for a textbox, ...
Definition: WPS8.cpp:165
WPSPageSpan::setFormWidth
void setFormWidth(const double formWidth)
Definition: WPSPageSpan.h:122
libwps::SubDocumentType
SubDocumentType
Definition: libwps_internal.h:248
WPS8Parser::parseHeaderIndex
bool parseHeaderIndex()
tries to find the beginning of the list of indices, then try to find all entries in this list.
Definition: WPS8.cpp:936
WPSEntry::setType
void setType(std::string const &tp)
sets the type of the entry: BTEP,FDPP, BTEC, FDPC, PLC , TEXT, ...
Definition: WPSEntry.h:126
WPS8ParserInternal::State::m_table2FrameMap
std::map< int, int > m_table2FrameMap
a map m_idTable -> frame
Definition: WPS8.cpp:265
Vec2::setY
void setY(T yy)
resets the second element
Definition: libwps_internal.h:576
WPS8Parser::createOLEStructures
bool createOLEStructures()
tries to parse the different OLE zones ( except the main zone )
Definition: WPS8.cpp:703
WPSEntry.h
WPS8Parser::m_textParser
std::shared_ptr< WPS8Text > m_textParser
the text parser
Definition: WPS8.h:165
WPS8ParserInternal::Frame::m_idOle
int m_idOle
identifier corresponding to an ole
Definition: WPS8.cpp:163
WPS8Parser::checkInFile
bool checkInFile(long pos)
return true if the pos is in the file, update the file size if need
Definition: WPS8.cpp:365
libwps::DebugFile::addNote
static void addNote(char const *)
Definition: WPSDebug.h:221
WPSParser::getInput
RVNGInputStreamPtr & getInput()
Definition: WPSParser.h:47
WPS8ParserInternal::State::m_actPage
int m_actPage
the actual page
Definition: WPS8.cpp:272
WPS8ParserInternal::State::m_object2FrameMap
std::map< int, int > m_object2FrameMap
a map m_idObject -> frame
Definition: WPS8.cpp:263
libwps::DOC_HEADER_FOOTER
@ DOC_HEADER_FOOTER
Definition: libwps_internal.h:248
WPSEntry::begin
long begin() const
returns the begin offset
Definition: WPSEntry.h:73
WPS8Struct::FileData
A recursif structure which seems generally used to store complex memory structures in a file.
Definition: WPS8Struct.h:64
WPS8Parser::m_state
std::shared_ptr< WPS8ParserInternal::State > m_state
the internal state
Definition: WPS8.h:167
WPSPosition::page
int page() const
returns the frame page
Definition: WPSPosition.h:113
WPS8Text.h
WPS8Parser::newPage
void newPage(int number)
adds a new page
Definition: WPS8.cpp:433
WPS8ParserInternal::Frame
Internal: a frame, a zone which can contain text, picture, ...
Definition: WPS8.cpp:133
WPS8ParserInternal::Frame::operator<<
friend std::ostream & operator<<(std::ostream &o, Frame const &ft)
operator <<
Definition: WPS8.cpp:175
WPSEntry::type
std::string const & type() const
returns the type of the entry
Definition: WPSEntry.h:131
libwps::read8
int8_t read8(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:59
WPS8Parser::readFRCD
bool readFRCD(WPSEntry const &entry)
reads the FRCD zone: ie a zone which can contains mailmerge data ?
Definition: WPS8.cpp:1654
WPSSubDocumentPtr
std::shared_ptr< WPSSubDocument > WPSSubDocumentPtr
shared pointer to WPSSubDocument
Definition: libwps_internal.h:111
WPS8Parser
This class parses Works version 2000 through 8.
Definition: WPS8.h:50
WPS8Text
Definition: WPS8Text.h:48
WPS8ParserInternal::TableRecursionGuard::operator=
TableRecursionGuard & operator=(const TableRecursionGuard &)=delete
WPSEntry::id
int id() const
returns the entry id
Definition: WPSEntry.h:158
WPS8ParserInternal::Frame::m_error
std::string m_error
a string used to store the parsing errors
Definition: WPS8.cpp:171
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
WPS8ParserInternal::Frame::Header
@ Header
Definition: WPS8.cpp:152
WPS8ParserInternal::TableRecursionGuard::TableRecursionGuard
TableRecursionGuard(const TableRecursionGuard &)=delete
libwps::DebugStream
Definition: WPSDebug.h:192
WPSEntry::isParsed
bool isParsed() const
a flag to know if the entry was parsed or not
Definition: WPSEntry.h:115
WPS8Parser::pageHeight
float pageHeight() const
returns the page height, ie. paper size less margin (in inches)
Definition: WPS8.cpp:350
WPSPageSpan::setFormOrientation
void setFormOrientation(const FormOrientation formOrientation)
Definition: WPSPageSpan.h:126
libwps::readU8
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:40
WPSParser::version
int version() const
Definition: WPSParser.h:56
WPS8ParserInternal
Definition: WPS8.cpp:48
WPSPageSpan::setMarginBottom
void setMarginBottom(const double marginBottom)
Definition: WPSPageSpan.h:142
libwps_tools_win.h
WPSParser.h
WPS8ParserInternal::State::initTypeMaps
void initTypeMaps()
initializes the type map
Definition: WPS8.cpp:275
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
WPS8Parser::numColumns
int numColumns() const
returns the number of columns
Definition: WPS8.cpp:360
WPSPageSpan::setHeaderFooter
void setHeaderFooter(const HeaderFooterType type, const HeaderFooterOccurrence occurrence, WPSSubDocumentPtr &subDocument)
Definition: WPSPageSpan.cpp:111
WPS8ParserInternal::State::m_numColumns
int m_numColumns
the number of columns
Definition: WPS8.cpp:271
WPSPosition::Page
@ Page
Definition: WPSPosition.h:43
WPS8Parser::m_sendingTables
std::deque< int > m_sendingTables
Definition: WPS8.h:170
libwps::readU16
uint16_t readU16(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:64
libwps_tools_win::Language::name
std::string name(long id)
returns the name given Windows© id
Definition: libwps_tools_win.cpp:7332
WPS8ParserInternal::Frame::m_idTable
int m_idTable
identifier corresponding to a table (MCLD)
Definition: WPS8.cpp:162
WPSEntry::hasType
bool hasType(std::string const &tp) const
returns true if the type entry == type
Definition: WPSEntry.h:136
WPS8ParserInternal::Frame::m_idObject
int m_idObject
identifier corresponding to an object zone (EOBJ)
Definition: WPS8.cpp:161
WPS8Parser::getTableSTRSId
int getTableSTRSId(int tableId) const
retrieve the strsId corresponding to a table ( mainly for debug)
Definition: WPS8.cpp:531
WPSPosition.h
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
WPSPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: WPSPosition.h:40
WPS8.h
libwps::readDataToEnd
bool readDataToEnd(RVNGInputStreamPtr &input, librevenge::RVNGBinaryData &data)
try to read the last bytes from input and store them in a librevenge::RVNGBinaryData
Definition: libwps_internal.cpp:346
libwps_tools_win::Font::WIN3_WEUROPE
@ WIN3_WEUROPE
Definition: libwps_tools_win.h:52
WPS8Table.h
libwps::read16
int16_t read16(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:71
WPS8ParserInternal::SubDocument::m_entry
WPSEntry m_entry
the entry
Definition: WPS8.cpp:75
libwps_internal.h
WPS8Parser::setListener
void setListener(std::shared_ptr< WPSContentListener > const &listener)
set the listener
Definition: WPS8.cpp:379
WPS8Parser::readSYID
bool readSYID(WPSEntry const &entry, std::vector< int > &listId)
parses a SYID zone
Definition: WPS8.cpp:1839
WPSColor
the class to store a color
Definition: libwps_internal.h:281
WPS8Parser::readSPELLING
static bool readSPELLING(RVNGInputStreamPtr input, std::string const &oleName)
finds the structures of the Ole zone "SPELLING"
Definition: WPS8.cpp:2043
WPS8ParserInternal::operator<<
std::ostream & operator<<(std::ostream &o, Frame const &ft)
operator<< for a Frame
Definition: WPS8.cpp:175
WPS8Parser::send
void send(WPSEntry const &entry)
sends text corresponding to the entry to the listener (via WPS8Text)
Definition: WPS8.cpp:451
Vec2::setX
void setX(T xx)
resets the first element
Definition: libwps_internal.h:571
WPSEntry::setParsed
void setParsed(bool ok=true) const
sets the flag m_parsed to true or false
Definition: WPSEntry.h:120
librevenge
Definition: WPSOLEStream.h:34
WPSPageSpan::setMarginLeft
void setMarginLeft(const double marginLeft)
Definition: WPSPageSpan.h:130
libwps::DebugFile
Definition: WPSDebug.h:208
WPS8ParserInternal::SubDocument::TEXT
@ TEXT
Definition: WPS8.cpp:54
WPS8ParserInternal::Frame::m_pos
WPSPosition m_pos
the frame position
Definition: WPS8.cpp:159
libwps_tools_win::Language::localeName
std::string localeName(long id)
returns the simplified locale name
Definition: libwps_tools_win.cpp:7423
WPS8Parser::createStructures
bool createStructures()
tries to parse the main zone, ...
Definition: WPS8.cpp:608
WPS8ParserInternal::SubDocument::SubDocument
SubDocument(RVNGInputStreamPtr const &input, WPS8Parser &pars, WPSEntry const &entry)
constructor for a text entry
Definition: WPS8.cpp:56
WPSPageSpan::setFormLength
void setFormLength(const double formLength)
Definition: WPSPageSpan.h:118
Vec2::y
T y() const
second element
Definition: libwps_internal.h:547
WPS8ParserInternal::Frame::Object
@ Object
Definition: WPS8.cpp:152
WPS8ParserInternal::Frame::m_idStrs
int m_idStrs
identifier corresponding to a text zone (STRS)
Definition: WPS8.cpp:160
libwps::DebugFile::setStream
static void setStream(RVNGInputStreamPtr)
Definition: WPSDebug.h:212
WPS8Parser::~WPS8Parser
~WPS8Parser() final
destructor
Definition: WPS8.cpp:345
WPSPosition::WDynamic
@ WDynamic
Definition: WPSPosition.h:45
WPSPosition::setOrigin
void setOrigin(Vec2f const &orig)
sets the frame origin
Definition: WPSPosition.h:187
WPS8Parser::parse
void parse(librevenge::RVNGTextInterface *documentInterface) final
called by WPSDocument to parse the file
Definition: WPS8.cpp:547
WPSPosition::setPage
void setPage(int pg) const
sets the page
Definition: WPSPosition.h:182
WPS8Parser::WPS8Parser
WPS8Parser(RVNGInputStreamPtr &input, WPSHeaderPtr &header)
constructor
Definition: WPS8.cpp:329
WPS8Parser::createListener
std::shared_ptr< WPSContentListener > createListener(librevenge::RVNGTextInterface *interface)
creates the main listener
Definition: WPS8.cpp:387