IWAParser.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is part of the libetonyek project.
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 
10 #ifndef IWAPARSER_H_INCLUDED
11 #define IWAPARSER_H_INCLUDED
12 
13 #include <deque>
14 #include <functional>
15 #include <map>
16 #include <memory>
17 #include <string>
18 #include <unordered_map>
19 
20 #include <boost/optional.hpp>
21 #include <boost/variant.hpp>
22 
23 #if defined(__GNUC__) && !defined(__clang__)
24 #pragma GCC diagnostic push
25 #pragma GCC diagnostic ignored "-Weffc++"
26 #endif
27 #include <mdds/flat_segment_tree.hpp>
28 #if defined(__GNUC__) && !defined(__clang__)
29 #pragma GCC diagnostic pop
30 #endif
31 
32 #include "libetonyek_utils.h"
33 #include "IWAMessage.h"
34 #include "IWAObjectIndex.h"
35 #include "IWORKLanguageManager.h"
36 #include "IWORKOutputElements.h"
37 #include "IWORKStyle_fwd.h"
38 #include "IWORKTypes.h"
39 
40 namespace libetonyek
41 {
42 
43 class IWORKCollector;
44 class IWAObjectIndex;
45 class IWORKPropertyMap;
46 class IWORKTable;
47 class IWORKText;
48 
49 class IWAParser
50 {
51  friend class IWAObjectIndex; // for readColor
52 
53  // disable copying
54  IWAParser(const IWAParser &);
56 public:
57  IWAParser(const RVNGInputStreamPtr_t &fragments, const RVNGInputStreamPtr_t &package, IWORKCollector &collector);
58  virtual ~IWAParser()
59  {
60  }
61 
62  bool parse();
63 
64 protected:
66  {
67  public:
68  ObjectMessage(IWAParser &parser, unsigned id, unsigned type = 0);
70 
71  operator bool() const;
72  const IWAMessage &get() const;
73 
74  unsigned getType() const;
75 
76  friend const IWAMessage &get(const ObjectMessage &msg)
77  {
78  return msg.get();
79  }
80 
81  private:
83  boost::optional<IWAMessage> m_message;
84  const unsigned m_id;
85  unsigned m_type;
86  };
87  friend class ObjectMessage;
88 
89  typedef std::map<unsigned, IWORKStylePtr_t> StyleMap_t;
90  typedef std::function<void(unsigned, IWORKStylePtr_t &)> StyleParseFun_t;
91 
92 protected:
93  static boost::optional<unsigned> readRef(const IWAMessage &msg, unsigned field);
94  static std::deque<unsigned> readRefs(const IWAMessage &msg, unsigned field);
95  static boost::optional<IWORKPosition> readPosition(const IWAMessage &msg, unsigned field);
96  static boost::optional<IWORKSize> readSize(const IWAMessage &msg, unsigned field);
97  static boost::optional<IWORKColor> readColor(const IWAMessage &msg, unsigned field);
98  static boost::optional<std::string> readUUID(const IWAMessage &msg, unsigned field);
99  static boost::optional<uint64_t> readUID(const IWAMessage &msg, unsigned field);
100  static std::deque<uint64_t> readUIDs(const IWAMessage &msg, unsigned field);
101  static void readStroke(const IWAMessage &msg, IWORKStroke &stroke);
102  bool readFill(const IWAMessage &msg, IWORKFill &fill);
103  static void readGradient(const IWAMessage &msg, IWORKGradient &gradient);
104  static void readShadow(const IWAMessage &msg, IWORKShadow &shadow);
105  static void readPadding(const IWAMessage &msg, IWORKPadding &padding);
106 
107  bool dispatchShape(unsigned id);
108  bool dispatchShapeWithMessage(const IWAMessage &msg, unsigned type);
109  bool parseText(unsigned id, bool createNoteAsFootnote=true, const std::function<void(unsigned, IWORKStylePtr_t)> &openPageSpan=nullptr);
110  void parseComment(unsigned id);
111  void parseAuthorInComment(unsigned id);
112  void parseCustomFormat(unsigned id);
113 
114  virtual bool parseShapePlacement(const IWAMessage &msg, IWORKGeometryPtr_t &geometry, boost::optional<unsigned> &flags);
116  void updateGeometryUsingTextRef(unsigned id, IWORKGeometry &geometry, unsigned flags);
117 
118  const IWORKStylePtr_t queryCharacterStyle(unsigned id) const;
119  const IWORKStylePtr_t queryParagraphStyle(unsigned id) const;
120  const IWORKStylePtr_t querySectionStyle(unsigned id) const;
121 
122  const IWORKStylePtr_t queryGraphicStyle(unsigned id) const;
123  const IWORKStylePtr_t queryMediaStyle(unsigned id) const;
124  const IWORKStylePtr_t queryCellStyle(unsigned id) const;
125  const IWORKStylePtr_t queryTableStyle(unsigned id) const;
126  const IWORKStylePtr_t queryListStyle(unsigned id) const;
127 
128  const IWORKStylePtr_t queryStyle(unsigned id, StyleMap_t &styleMap, StyleParseFun_t parse) const;
129  boost::optional<unsigned> getObjectType(unsigned id) const;
130 
131 protected:
134  std::shared_ptr<IWORKText> m_currentText;
135 
136 private:
137  struct Format
138  {
139  Format();
140  boost::optional<IWORKCellType> m_type;
141  boost::variant<IWORKNumberFormat,IWORKDateTimeFormat,IWORKDurationFormat> m_format;
142  };
143 
144  struct PageMaster
145  {
146  PageMaster();
149  };
150 
151  struct TableHeader
152  {
153  TableHeader(unsigned count, float defValue=0);
154 
155  mdds::flat_segment_tree<unsigned, float> m_sizes;
156  mdds::flat_segment_tree<unsigned, bool> m_hidden;
157  };
158 
159  typedef std::map<unsigned, boost::variant<std::string, unsigned, IWORKFormulaPtr_t, Format> > DataList_t;
160 
161  struct TableInfo
162  {
163  TableInfo(const std::shared_ptr<IWORKTable> &table, unsigned columns, unsigned rows);
164 
165  std::shared_ptr<IWORKTable> m_table;
166 
167  const unsigned m_columns;
168  const unsigned m_rows;
169 
171 
174 
181  };
182 
183 private:
184  virtual bool parseDocument() = 0;
185 
186 private:
187  void queryObject(unsigned id, unsigned &type, boost::optional<IWAMessage> &msg) const;
188  const RVNGInputStreamPtr_t queryFile(unsigned id) const;
189 
190  void parseObjectIndex();
191 
192  void parseCharacterStyle(unsigned id, IWORKStylePtr_t &style);
193  void parseParagraphStyle(unsigned id, IWORKStylePtr_t &style);
194  void parseSectionStyle(unsigned id, IWORKStylePtr_t &style);
195 
196  void parseGraphicStyle(unsigned id, IWORKStylePtr_t &style);
197  void parseMediaStyle(unsigned id, IWORKStylePtr_t &style);
198  void parseCellStyle(unsigned id, IWORKStylePtr_t &style);
199  void parseTableStyle(unsigned id, IWORKStylePtr_t &style);
200  void parseListStyle(unsigned id, IWORKStylePtr_t &style);
201 
202  void parseHeaderAndFooter(unsigned id, IWORKPageMaster &hf);
203  void parsePageMaster(unsigned id, PageMaster &pageMaster);
204 
205  void parseTabularModel(unsigned id);
206  void parseDataList(unsigned id, DataList_t &dataList);
207  void parseTile(unsigned id);
208  void parseTableHeaders(unsigned id, TableHeader &header);
209  void parseTableGridLines(unsigned id, IWORKGridLineMap_t (&gridLines)[4]);
210  void parseTableGridLine(unsigned id, IWORKGridLineMap_t &gridLines);
211  void parseLink(unsigned id, std::string &url);
212 
213  bool parseAttachment(unsigned id);
214  bool parseDrawableShape(const IWAMessage &msg, bool isConnectionLine=false);
215  bool parseGroup(const IWAMessage &msg);
216  bool parseShapePlacement(const IWAMessage &msg);
217  bool parseImage(const IWAMessage &msg);
218  bool parseTabularInfo(const IWAMessage &msg);
219  bool parsePath(const IWAMessage &msg, IWORKPathPtr_t &path);
221  bool parseFormat(const IWAMessage &msg, Format &format);
222  virtual bool parseStickyNote(const IWAMessage &msg);
223 
224  bool parseArrowProperties(const IWAMessage &msg, IWORKPropertyMap &props, bool headArrow);
225  void parseCharacterProperties(const IWAMessage &msg, IWORKPropertyMap &props);
226  void parseColumnsProperties(const IWAMessage &msg, IWORKPropertyMap &props);
227 
228 private:
230 
232 
233  std::deque<unsigned> m_visited;
234 
238 
244 
245  std::shared_ptr<TableInfo> m_currentTable;
246  std::map<uint64_t,Format> m_uidFormatMap;
247 };
248 
249 }
250 
251 #endif
252 
253 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libetonyek::IWAParser::TableInfo::m_columnHeader
TableHeader m_columnHeader
Definition: IWAParser.h:172
libetonyek::IWORKMediaContent::m_type
IWORKImageType m_type
Definition: IWORKTypes.h:150
libetonyek::IWAParser::readPadding
static void readPadding(const IWAMessage &msg, IWORKPadding &padding)
Definition: IWAParser.cpp:534
m_table
KEY1TableElement::TableData & m_table
Definition: KEY1TableElement.cpp:157
libetonyek::IWORKGradientStop::m_inflection
double m_inflection
Definition: IWORKTypes.h:295
libetonyek::IWORKFormula::Coord::m_absolute
bool m_absolute
Definition: IWORKFormula.h:50
libetonyek::IWORKTextLabel::m_format
IWORKTextLabelFormat m_format
Definition: IWORKTypes.h:448
libetonyek::IWAParser::readRef
static boost::optional< unsigned > readRef(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:245
libetonyek::IWORK_CELL_NUMBER_TYPE_SCIENTIFIC
@ IWORK_CELL_NUMBER_TYPE_SCIENTIFIC
Definition: IWORKEnum.h:94
libetonyek::IWAObjectIndex::queryObject
void queryObject(const unsigned id, unsigned &type, boost::optional< IWAMessage > &msg) const
Definition: IWAObjectIndex.cpp:123
libetonyek::IWAObjectType::Headers
@ Headers
Definition: IWAObjectType.h:53
libetonyek::IWAObjectType::GridLine
@ GridLine
Definition: IWAObjectType.h:58
libetonyek::IWORKToken::name
@ name
Definition: IWORKToken.h:585
libetonyek::IWAMessageField::message
const IWAMessageField & message(std::size_t field) const
Definition: IWAField.cpp:70
libetonyek::IWORKToken::column
@ column
Definition: IWORKToken.h:156
libetonyek::IWAObjectType::GraphicStyle
@ GraphicStyle
Definition: IWAObjectType.h:35
IWAText.h
libetonyek::IWAText::setSections
void setSections(const std::map< unsigned, IWORKStylePtr_t > &sections)
Definition: IWAText.cpp:63
libetonyek::IWAText::setAttachments
void setAttachments(const std::multimap< unsigned, std::function< void(unsigned, bool &)> > &attachments)
Definition: IWAText.cpp:98
libetonyek::IWORKToken::size
@ size
Definition: IWORKToken.h:402
libetonyek::IWAObjectType::Comment
@ Comment
Definition: IWAObjectType.h:46
libetonyek::IWAParser::parseCustomFormat
void parseCustomFormat(unsigned id)
Definition: IWAParser.cpp:3093
libetonyek::IWORKToken::end
@ end
Definition: IWORKToken.h:193
libetonyek::IWAParser::parseComment
void parseComment(unsigned id)
Definition: IWAParser.cpp:2367
m_style
IWORKStylePtr_t m_style
Definition: IWORKPropertyMapElement.cpp:172
libetonyek
Definition: IWORKBezierElement.cpp:21
libetonyek::IWAObjectType::Text
@ Text
Definition: IWAObjectType.h:24
libetonyek::IWORKColumns
Definition: IWORKTypes.h:339
libetonyek::IWAObjectType::SectionStyle
@ SectionStyle
Definition: IWAObjectType.h:34
libetonyek::IWORKStroke
Definition: IWORKTypes.h:278
libetonyek::IWORKToken::attachment
@ attachment
Definition: IWORKToken.h:104
libetonyek::IWORK_LINE_CAP_ROUND
@ IWORK_LINE_CAP_ROUND
Definition: IWORKEnum.h:69
libetonyek::IWORKMediaContent::m_size
boost::optional< IWORKSize > m_size
Definition: IWORKTypes.h:151
libetonyek::IWAObjectIndex::queryFileColor
boost::optional< IWORKColor > queryFileColor(unsigned id) const
Definition: IWAObjectIndex.cpp:228
libetonyek::IWORKConnectionPath::m_isSpline
bool m_isSpline
Definition: IWORKPath.h:95
libetonyek::IWORKNumberFormat::m_decimalPlaces
int m_decimalPlaces
Definition: IWORKTypes.h:371
libetonyek::IWAParser::readColor
static boost::optional< IWORKColor > readColor(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:289
libetonyek::IWORKLanguageManager
Definition: IWORKLanguageManager.h:24
libetonyek::IWORK_ALIGNMENT_RIGHT
@ IWORK_ALIGNMENT_RIGHT
Definition: IWORKEnum.h:19
libetonyek::IWORKCollector::startLevel
void startLevel()
Definition: IWORKCollector.cpp:598
libetonyek::IWORKToken::h
@ h
Definition: IWORKToken.h:557
libetonyek::IWAParser::Format::Format
Format()
Definition: IWAParser.cpp:115
libetonyek::IWAObjectType::TabularInfo
@ TabularInfo
Definition: IWAObjectType.h:47
libetonyek::IWORKShadow::m_offset
double m_offset
Definition: IWORKTypes.h:320
libetonyek::IWORKTableNameMapPtr_t
std::shared_ptr< IWORKTableNameMap_t > IWORKTableNameMapPtr_t
Definition: IWORKTypes_fwd.h:34
libetonyek::IWAParser::m_tableNameMap
IWORKTableNameMapPtr_t m_tableNameMap
Definition: IWAParser.h:133
libetonyek::IWORKCollector::collectHeader
void collectHeader(const std::string &name)
Definition: IWORKCollector.cpp:481
libetonyek::IWAObjectType::ConnectionLine
@ ConnectionLine
Definition: IWAObjectType.h:43
libetonyek::IWORKFormula::Address::m_row
boost::optional< Coord > m_row
Definition: IWORKFormula.h:62
libetonyek::IWAParser::readStroke
static void readStroke(const IWAMessage &msg, IWORKStroke &stroke)
Definition: IWAParser.cpp:357
libetonyek::IWAObjectType::Image
@ Image
Definition: IWAObjectType.h:40
libetonyek::IWAParser::PageMaster::m_style
IWORKStylePtr_t m_style
Definition: IWAParser.h:147
libetonyek::IWORK_ALIGNMENT_AUTOMATIC
@ IWORK_ALIGNMENT_AUTOMATIC
Definition: IWORKEnum.h:22
libetonyek::IWORK_LABEL_NUM_FORMAT_ROMAN
@ IWORK_LABEL_NUM_FORMAT_ROMAN
Definition: IWORKEnum.h:132
libetonyek::IWAParser::readShadow
static void readShadow(const IWAMessage &msg, IWORKShadow &shadow)
Definition: IWAParser.cpp:516
libetonyek::IWORKNumberFormat::m_accountingStyle
bool m_accountingStyle
Definition: IWORKTypes.h:376
libetonyek::IWAParser::TableInfo::m_rowHeader
TableHeader m_rowHeader
Definition: IWAParser.h:173
libetonyek::IWAObjectType::NoteStart
@ NoteStart
Definition: IWAObjectType.h:26
libetonyek::IWORKFormula::Address::m_column
boost::optional< Coord > m_column
Definition: IWORKFormula.h:61
libetonyek::IWAObjectType::CellStyle
@ CellStyle
Definition: IWAObjectType.h:51
libetonyek::IWAObjectType::Note
@ Note
Definition: IWAObjectType.h:27
libetonyek::IWAObjectType::Group
@ Group
Definition: IWAObjectType.h:42
libetonyek::IWAParser::m_currentTable
std::shared_ptr< TableInfo > m_currentTable
Definition: IWAParser.h:245
libetonyek::IWORKToken::empty
@ empty
Definition: IWORKToken.h:664
libetonyek::IWAParser::TableInfo::m_formulaList
DataList_t m_formulaList
Definition: IWAParser.h:178
libetonyek::IWAParser::IWAParser
IWAParser(const IWAParser &)
libetonyek::IWAObjectType::CharacterStyle
@ CharacterStyle
Definition: IWAObjectType.h:31
libetonyek::IWORKFormula::Token::Operator
@ Operator
Definition: IWORKFormula.h:72
IWORKProperties.h
libetonyek::IWORKToken::comment
@ comment
Definition: IWORKToken.h:160
libetonyek::IWORKToken::w
@ w
Definition: IWORKToken.h:638
libetonyek::IWORKToken::padding
@ padding
Definition: IWORKToken.h:349
libetonyek::IWAObjectIndex::getObjectType
boost::optional< unsigned > getObjectType(const unsigned id) const
Definition: IWAObjectIndex.cpp:141
libetonyek::IWORK_CELL_TYPE_TEXT
@ IWORK_CELL_TYPE_TEXT
Definition: IWORKEnum.h:82
libetonyek::IWAParser::queryTableStyle
const IWORKStylePtr_t queryTableStyle(unsigned id) const
Definition: IWAParser.cpp:980
libetonyek::IWORKFormula::Token
small structure used by IWAParser to create formula
Definition: IWORKFormula.h:69
libetonyek::IWAParser::parseImage
bool parseImage(const IWAMessage &msg)
Definition: IWAParser.cpp:2288
libetonyek::IWAParser::m_paraStyles
StyleMap_t m_paraStyles
Definition: IWAParser.h:236
libetonyek::IWORKToken::pos
@ pos
Definition: IWORKToken.h:599
libetonyek::IWORKToken::shape
@ shape
Definition: IWORKToken.h:401
libetonyek::IWAParser
Definition: IWAParser.h:50
libetonyek::IWORKConnectionPath::m_size
boost::optional< IWORKSize > m_size
Definition: IWORKPath.h:94
libetonyek::IWORKDataPtr_t
std::shared_ptr< IWORKData > IWORKDataPtr_t
Definition: IWORKTypes_fwd.h:49
libetonyek::IWORKPath
Definition: IWORKPath.h:29
libetonyek::IWORKToken::id
@ id
Definition: IWORKToken.h:263
libetonyek::IWAParser::~IWAParser
virtual ~IWAParser()
Definition: IWAParser.h:58
ETONYEK_FALLTHROUGH
#define ETONYEK_FALLTHROUGH
Definition: libetonyek_utils.h:42
IWAObjectType.h
libetonyek::IWORKToken::SFTStrokeProperty
@ SFTStrokeProperty
Definition: IWORKToken.h:85
libetonyek::IWAParser::queryGraphicStyle
const IWORKStylePtr_t queryGraphicStyle(unsigned id) const
Definition: IWAParser.cpp:965
IWORKNumberConverter.h
IWAParser.h
libetonyek::IWORKToken::fontColor
@ fontColor
Definition: IWORKToken.h:219
libetonyek::IWORKNumberConverter::convert
static boost::optional< T > convert(const char *value)
Definition: IWORKNumberConverter.cpp:20
libetonyek::IWAParser::m_tableStyles
StyleMap_t m_tableStyles
Definition: IWAParser.h:242
libetonyek::IWORKToken::style
@ style
Definition: IWORKToken.h:421
libetonyek::IWORKToken::format
@ format
Definition: IWORKToken.h:537
m_y
boost::optional< unsigned > m_y
Definition: IWORKFormulaElement.cpp:111
libetonyek::IWORKToken::SFTCellStylePropertyDurationFormat
@ SFTCellStylePropertyDurationFormat
Definition: IWORKToken.h:57
libetonyek::IWAParser::parsePath
bool parsePath(const IWAMessage &msg, IWORKPathPtr_t &path)
Definition: IWAParser.cpp:1120
libetonyek::IWORKCollector::collectArrowPath
void collectArrowPath(const IWORKSize &size, double headWidth, double stemRelYPos, bool doubleSided)
Definition: IWORKCollector.cpp:397
libetonyek::IWORKToken::tailAtCenter
@ tailAtCenter
Definition: IWORKToken.h:621
libetonyek::IWAParser::queryParagraphStyle
const IWORKStylePtr_t queryParagraphStyle(unsigned id) const
Definition: IWAParser.cpp:955
libetonyek::IWORKToken::formula
@ formula
Definition: IWORKToken.h:228
libetonyek::IWAParser::queryFile
const RVNGInputStreamPtr_t queryFile(unsigned id) const
Definition: IWAParser.cpp:240
libetonyek::IWORK_LABEL_NUM_FORMAT_ALPHA
@ IWORK_LABEL_NUM_FORMAT_ALPHA
Definition: IWORKEnum.h:130
libetonyek::IWAParser::parseHeaderAndFooter
void parseHeaderAndFooter(unsigned id, IWORKPageMaster &hf)
Definition: IWAParser.cpp:2251
libetonyek::IWORKMediaContent::m_fillColor
boost::optional< IWORKColor > m_fillColor
Definition: IWORKTypes.h:153
libetonyek::IWAParser::parsePageMaster
void parsePageMaster(unsigned id, PageMaster &pageMaster)
Definition: IWAParser.cpp:2213
libetonyek::IWAParser::parseTabularInfo
bool parseTabularInfo(const IWAMessage &msg)
Definition: IWAParser.cpp:2400
libetonyek::IWORKToken::columns
@ columns
Definition: IWORKToken.h:158
libetonyek::IWAParser::TableInfo::m_columns
const unsigned m_columns
Definition: IWAParser.h:167
libetonyek::KEY1Token::table
@ table
Definition: KEY1Token.h:198
libetonyek::IWAParser::m_visited
std::deque< unsigned > m_visited
Definition: IWAParser.h:233
libetonyek::IWORKToken::spacing
@ spacing
Definition: IWORKToken.h:616
libetonyek::IWORKToken::st
@ st
Definition: IWORKToken.h:411
libetonyek::IWAParser::m_collector
IWORKCollector & m_collector
Definition: IWAParser.h:229
libetonyek::PAGCollector
Definition: PAGCollector.h:24
libetonyek::IWAObjectType::Mask
@ Mask
Definition: IWAObjectType.h:41
libetonyek::detail::IWAFieldImpl::empty
bool empty() const override
Definition: IWAField.h:113
libetonyek::IWAMessage::bool_
const IWABoolField & bool_(std::size_t field) const
Definition: IWAMessage.cpp:142
libetonyek::IWORKNumberFormat
Definition: IWORKTypes.h:366
libetonyek::IWORKToken::tailSize
@ tailSize
Definition: IWORKToken.h:624
libetonyek::IWAText::setPageMasters
void setPageMasters(const std::map< unsigned, IWORKStylePtr_t > &pageMasters)
Definition: IWAText.cpp:58
libetonyek::IWORKCollector::endGroup
void endGroup()
Definition: IWORKCollector.cpp:550
libetonyek::IWORK_GRADIENT_TYPE_LINEAR
@ IWORK_GRADIENT_TYPE_LINEAR
Definition: IWORKEnum.h:108
libetonyek::IWAParser::getObjectType
boost::optional< unsigned > getObjectType(unsigned id) const
Definition: IWAParser.cpp:235
libetonyek::IWAParser::TableInfo::m_simpleTextList
DataList_t m_simpleTextList
Definition: IWAParser.h:175
ETONYEK_DEBUG_MSG
#define ETONYEK_DEBUG_MSG(M)
Definition: libetonyek_utils.h:54
libetonyek::IWORKDurationFormat::m_format
std::string m_format
Definition: IWORKTypes.h:395
libetonyek::IWAParser::ObjectMessage::get
friend const IWAMessage & get(const ObjectMessage &msg)
Definition: IWAParser.h:76
libetonyek::IWAParser::StyleParseFun_t
std::function< void(unsigned, IWORKStylePtr_t &)> StyleParseFun_t
Definition: IWAParser.h:90
libetonyek::IWORK_LABEL_NUM_FORMAT_SURROUNDING_DOT
@ IWORK_LABEL_NUM_FORMAT_SURROUNDING_DOT
Definition: IWORKEnum.h:140
libetonyek::IWORKPadding
Definition: IWORKTypes.h:100
libetonyek::IWORK_STROKE_TYPE_SOLID
@ IWORK_STROKE_TYPE_SOLID
Definition: IWORKEnum.h:122
libetonyek::IWORKToken::data
@ data
Definition: IWORKToken.h:178
libetonyek::detail::IWAFieldImpl::optional
const boost::optional< value_type > optional() const
Definition: IWAField.h:159
libetonyek::IWAParser::parseCharacterProperties
void parseCharacterProperties(const IWAMessage &msg, IWORKPropertyMap &props)
Definition: IWAParser.cpp:2130
libetonyek::IWORKVerticalAlignment
IWORKVerticalAlignment
Definition: IWORKEnum.h:113
libetonyek::IWORKCollector::collectPolygonPath
void collectPolygonPath(const IWORKSize &size, unsigned edges)
Definition: IWORKCollector.cpp:379
IWORKTable.h
libetonyek::IWAText::setLists
void setLists(const std::map< unsigned, IWORKStylePtr_t > &lists)
Definition: IWAText.cpp:93
libetonyek::IWORKMarker
Definition: IWORKTypes.h:90
libetonyek::IWORK_ALIGNMENT_CENTER
@ IWORK_ALIGNMENT_CENTER
Definition: IWORKEnum.h:20
libetonyek::IWORKToken::none
@ none
Definition: IWORKToken.h:674
libetonyek::IWAObjectIndex
Definition: IWAObjectIndex.h:27
IWORKLanguageManager.h
libetonyek::IWORKGeometry
Definition: IWORKTypes.h:62
libetonyek::IWAObjectType::CommentField
@ CommentField
Definition: IWAObjectType.h:29
libetonyek::IWAParser::m_sectionStyles
StyleMap_t m_sectionStyles
Definition: IWAParser.h:237
libetonyek::IWAParser::ObjectMessage::~ObjectMessage
~ObjectMessage()
Definition: IWAParser.cpp:205
libetonyek::IWORKTabStops_t
std::deque< IWORKTabStop > IWORKTabStops_t
Definition: IWORKTypes.h:119
libetonyek::IWAText::setParagraphs
void setParagraphs(const std::map< unsigned, IWORKStylePtr_t > &paras)
Definition: IWAText.cpp:68
libetonyek::IWORKCollector::endLevel
void endLevel()
Definition: IWORKCollector.cpp:619
IWORKTransformation.h
libetonyek::IWORKToken::stroke
@ stroke
Definition: IWORKToken.h:419
libetonyek::IWORKTable::CELL_TYPE_BODY
@ CELL_TYPE_BODY
Definition: IWORKTable.h:55
libetonyek::IWORKNumberFormat::m_fractionAccuracy
int m_fractionAccuracy
Definition: IWORKTypes.h:375
libetonyek::IWAParser::TableInfo::m_table
std::shared_ptr< IWORKTable > m_table
Definition: IWAParser.h:165
libetonyek::readU8
uint8_t readU8(const RVNGInputStreamPtr_t &input, bool)
Definition: libetonyek_utils.cpp:48
libetonyek::IWAParser::m_cellStyles
StyleMap_t m_cellStyles
Definition: IWAParser.h:241
libetonyek::IWAParser::TableInfo::m_formatList
DataList_t m_formatList
Definition: IWAParser.h:179
libetonyek::IWAParser::readSize
static boost::optional< IWORKSize > readSize(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:278
libetonyek::IWAParser::readFill
bool readFill(const IWAMessage &msg, IWORKFill &fill)
Definition: IWAParser.cpp:424
libetonyek::IWAParser::readRefs
static std::deque< unsigned > readRefs(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:252
libetonyek::IWORKToken::attachments
@ attachments
Definition: IWORKToken.h:106
libetonyek::IWORK_STROKE_TYPE_NONE
@ IWORK_STROKE_TYPE_NONE
Definition: IWORKEnum.h:121
libetonyek::IWORK_VERTICAL_ALIGNMENT_BOTTOM
@ IWORK_VERTICAL_ALIGNMENT_BOTTOM
Definition: IWORKEnum.h:116
libetonyek::IWORK_CELL_NUMBER_TYPE_FRACTION
@ IWORK_CELL_NUMBER_TYPE_FRACTION
Definition: IWORKEnum.h:92
libetonyek::IWORK_LABEL_NUM_FORMAT_ROMAN_LOWERCASE
@ IWORK_LABEL_NUM_FORMAT_ROMAN_LOWERCASE
Definition: IWORKEnum.h:133
libetonyek::IWORKCollector::collectMedia
void collectMedia(const IWORKMediaContentPtr_t &content, const IWORKGeometryPtr_t &cropGeometry=IWORKGeometryPtr_t(), const boost::optional< int > &order=boost::none)
Definition: IWORKCollector.cpp:441
libetonyek::IWAParser::TableHeader
Definition: IWAParser.h:152
libetonyek::IWORKShadow::m_color
IWORKColor m_color
Definition: IWORKTypes.h:317
libetonyek::IWORKMediaContentPtr_t
std::shared_ptr< IWORKMediaContent > IWORKMediaContentPtr_t
Definition: IWORKTypes_fwd.h:54
libetonyek::IWAParser::TableInfo::TableInfo
TableInfo(const std::shared_ptr< IWORKTable > &table, unsigned columns, unsigned rows)
Definition: IWAParser.cpp:133
libetonyek::IWAParser::parseTableGridLine
void parseTableGridLine(unsigned id, IWORKGridLineMap_t &gridLines)
Definition: IWAParser.cpp:2944
libetonyek::IWORK_VERTICAL_ALIGNMENT_MIDDLE
@ IWORK_VERTICAL_ALIGNMENT_MIDDLE
Definition: IWORKEnum.h:115
libetonyek::IWAParser::TableHeader::TableHeader
TableHeader(unsigned count, float defValue=0)
Definition: IWAParser.cpp:127
libetonyek::IWAObjectType::ListStyle
@ ListStyle
Definition: IWAObjectType.h:33
libetonyek::IWAParser::queryListStyle
const IWORKStylePtr_t queryListStyle(unsigned id) const
Definition: IWAParser.cpp:985
libetonyek::IWORKCollector::collectCalloutPath
void collectCalloutPath(const IWORKSize &size, double radius, double tailSize, double tailX, double tailY, bool quoteBubble)
Definition: IWORKCollector.cpp:428
libetonyek::IWORKDateTimeFormat
Definition: IWORKTypes.h:384
libetonyek::IWORKToken::_1
@ _1
Definition: IWORKToken.h:649
m_columns
const unsigned m_columns
Definition: IWORKTableRecorder.cpp:50
libetonyek::IWORKToken::grid
@ grid
Definition: IWORKToken.h:244
libetonyek::IWAParser::DataList_t
std::map< unsigned, boost::variant< std::string, unsigned, IWORKFormulaPtr_t, Format > > DataList_t
Definition: IWAParser.h:159
IWAObjectIndex.h
libetonyek::IWAMessage::uint32
const IWAUInt32Field & uint32(std::size_t field) const
Definition: IWAMessage.cpp:122
libetonyek::IWORKPropertyMap::clear
void clear()
Clear property.
Definition: IWORKPropertyMap.h:145
libetonyek::IWORK_VERTICAL_ALIGNMENT_TOP
@ IWORK_VERTICAL_ALIGNMENT_TOP
Definition: IWORKEnum.h:114
libetonyek::IWORKToken::n
@ n
Definition: IWORKToken.h:333
libetonyek::IWAParser::parseColumnsProperties
void parseColumnsProperties(const IWAMessage &msg, IWORKPropertyMap &props)
Definition: IWAParser.cpp:2170
libetonyek::IWORKToken::rows
@ rows
Definition: IWORKToken.h:392
libetonyek::IWORKCollector::collectTable
void collectTable(const std::shared_ptr< IWORKTable > &table)
Definition: IWORKCollector.cpp:491
libetonyek::IWAMessageField
Definition: IWAField.h:223
libetonyek::IWAObjectType::TableStyle
@ TableStyle
Definition: IWAObjectType.h:50
libetonyek::IWORKConnectionPath
Definition: IWORKPath.h:88
libetonyek::IWORKTabStop
Definition: IWORKTypes.h:111
libetonyek::IWAParser::ObjectMessage::get
const IWAMessage & get() const
Definition: IWAParser.cpp:220
libetonyek::IWORKToken::SFTCellStylePropertyDateTimeFormat
@ SFTCellStylePropertyDateTimeFormat
Definition: IWORKToken.h:56
libetonyek::IWORKTable::CELL_TYPE_ROW_FOOTER
@ CELL_TYPE_ROW_FOOTER
Definition: IWORKTable.h:59
libetonyek::IWORKShadow::m_visible
bool m_visible
Definition: IWORKTypes.h:316
libetonyek::IWORKToken::count
@ count
Definition: IWORKToken.h:522
libetonyek::IWORKToken::start
@ start
Definition: IWORKToken.h:412
libetonyek::IWORKToken::SFTCellStylePropertyNumberFormat
@ SFTCellStylePropertyNumberFormat
Definition: IWORKToken.h:58
libetonyek::IWAText::setSpans
void setSpans(const std::map< unsigned, IWORKStylePtr_t > &spans)
Definition: IWAText.cpp:73
libetonyek::IWORKToken::s
@ s
Definition: IWORKToken.h:394
libetonyek::IWORKCollector::createTable
virtual std::shared_ptr< IWORKTable > createTable(const IWORKTableNameMapPtr_t &tableNameMap, const IWORKLanguageManager &langManager) const
Definition: IWORKCollector.cpp:588
libetonyek::readDouble
double readDouble(const RVNGInputStreamPtr_t &input)
Definition: libetonyek_utils.cpp:162
libetonyek::IWORKToken::first
@ first
Definition: IWORKToken.h:531
libetonyek::IWAText::setLinks
void setLinks(const std::map< unsigned, std::string > &links)
Definition: IWAText.cpp:83
libetonyek::IWAMessage::string
const IWAStringField & string(std::size_t field) const
Definition: IWAMessage.cpp:157
libetonyek::IWORKToken::g
@ g
Definition: IWORKToken.h:235
libetonyek::IWORKToken::cornerRadius
@ cornerRadius
Definition: IWORKToken.h:520
libetonyek::IWORK_CELL_NUMBER_TYPE_DOUBLE
@ IWORK_CELL_NUMBER_TYPE_DOUBLE
Definition: IWORKEnum.h:91
libetonyek::IWAParser::m_charStyles
StyleMap_t m_charStyles
Definition: IWAParser.h:235
libetonyek::IWAParser::parseDrawableShape
bool parseDrawableShape(const IWAMessage &msg, bool isConnectionLine=false)
Definition: IWAParser.cpp:1216
libetonyek::IWAParser::PageMaster
Definition: IWAParser.h:145
libetonyek::IWAParser::queryMediaStyle
const IWORKStylePtr_t queryMediaStyle(unsigned id) const
Definition: IWAParser.cpp:970
libetonyek::IWAObjectType::ShapeField
@ ShapeField
Definition: IWAObjectType.h:25
libetonyek::IWAText
Definition: IWAText.h:31
libetonyek::IWAParser::PageMaster::PageMaster
PageMaster()
Definition: IWAParser.cpp:121
libetonyek::IWAParser::ObjectMessage::m_id
const unsigned m_id
Definition: IWAParser.h:84
libetonyek::IWORK_IMAGE_TYPE_SCALE_TO_FIT
@ IWORK_IMAGE_TYPE_SCALE_TO_FIT
Definition: IWORKEnum.h:103
libetonyek::IWORKToken::header
@ header
Definition: IWORKToken.h:256
libetonyek::IWAParser::parseGroup
bool parseGroup(const IWAMessage &msg)
Definition: IWAParser.cpp:1487
libetonyek::IWORKFormulaPtr_t
std::shared_ptr< IWORKFormula > IWORKFormulaPtr_t
Definition: IWORKTypes.h:123
libetonyek::IWAParser::Format::m_type
boost::optional< IWORKCellType > m_type
Definition: IWAParser.h:140
IWORKPath.h
libetonyek::IWAObjectType::PageField
@ PageField
Definition: IWAObjectType.h:39
libetonyek::IWAParser::parseShapePlacement
virtual bool parseShapePlacement(const IWAMessage &msg, IWORKGeometryPtr_t &geometry, boost::optional< unsigned > &flags)
Definition: IWAParser.cpp:1506
libetonyek::IWAParser::parseLink
void parseLink(unsigned id, std::string &url)
Definition: IWAParser.cpp:3412
libetonyek::IWAParser::parseTile
void parseTile(unsigned id)
Definition: IWAParser.cpp:2651
libetonyek::IWORKToken::string
@ string
Definition: IWORKToken.h:418
libetonyek::IWAParser::parseArrowProperties
bool parseArrowProperties(const IWAMessage &msg, IWORKPropertyMap &props, bool headArrow)
Definition: IWAParser.cpp:1087
libetonyek::IWAParser::Format
Definition: IWAParser.h:138
libetonyek::IWAParser::TableInfo::m_commentList
DataList_t m_commentList
Definition: IWAParser.h:180
libetonyek::IWORKToken::val
@ val
Definition: IWORKToken.h:630
libetonyek::IWAParser::parseFormat
bool parseFormat(const IWAMessage &msg, Format &format)
Definition: IWAParser.cpp:2980
libetonyek::IWAMessageField::bool_
const IWABoolField & bool_(std::size_t field) const
Definition: IWAField.cpp:50
libetonyek::detail::IWAFieldImpl::repeated
const std::deque< value_type > repeated() const
Definition: IWAField.h:153
libetonyek::IWAParser::TableInfo::m_cellStyleList
DataList_t m_cellStyleList
Definition: IWAParser.h:176
libetonyek::IWORK_LABEL_NUM_FORMAT_SURROUNDING_PARENTHESIS
@ IWORK_LABEL_NUM_FORMAT_SURROUNDING_PARENTHESIS
Definition: IWORKEnum.h:139
libetonyek::IWAParser::m_graphicStyles
StyleMap_t m_graphicStyles
Definition: IWAParser.h:239
libetonyek::IWAParser::parseSectionStyle
void parseSectionStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1690
libetonyek::IWORKTextLabelFormat::m_prefix
IWORKLabelNumFormatSurrounding m_prefix
Definition: IWORKTypes.h:439
libetonyek::transformations::scale
glm::dmat3 scale(const double ratioX, const double ratioY)
Scale along x and/or y axis.
Definition: IWORKTransformation.cpp:72
libetonyek::IWORKCollector::createText
virtual std::shared_ptr< IWORKText > createText(const IWORKLanguageManager &langManager, bool discardEmptyContent=false, bool allowListInsertion=true) const
Definition: IWORKCollector.cpp:593
libetonyek::IWORKToken::listStyle
@ listStyle
Definition: IWORKToken.h:312
libetonyek::approxEqual
bool approxEqual(const IWORKPath &left, const IWORKPath &right, double eps=ETONYEK_EPSILON)
libetonyek::IWAParser::readGradient
static void readGradient(const IWAMessage &msg, IWORKGradient &gradient)
Definition: IWAParser.cpp:483
libetonyek::IWAMessage::message
const IWAMessageField & message(std::size_t field) const
Definition: IWAMessage.cpp:167
libetonyek::IWORKToken::path
@ path
Definition: IWORKToken.h:365
libetonyek::getLength
unsigned long getLength(const RVNGInputStreamPtr_t &input)
Definition: libetonyek_utils.cpp:184
libetonyek::IWAParser::readUID
static boost::optional< uint64_t > readUID(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:300
libetonyek::IWORKToken::offset
@ offset
Definition: IWORKToken.h:594
libetonyek::IWORKPathPtr_t
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition: IWORKPath_fwd.h:20
libetonyek::IWAObjectType::TabularModel
@ TabularModel
Definition: IWAObjectType.h:48
libetonyek::IWORKCollector::collectRoundedRectanglePath
void collectRoundedRectanglePath(const IWORKSize &size, double radius)
Definition: IWORKCollector.cpp:388
libetonyek::IWORKMarker::m_endPoint
boost::optional< IWORKPosition > m_endPoint
Definition: IWORKTypes.h:96
libetonyek::IWORKDurationFormat
Definition: IWORKTypes.h:392
libetonyek::IWORKCellNumberType
IWORKCellNumberType
Definition: IWORKEnum.h:89
libetonyek::IWAObjectIndex::parse
void parse()
Definition: IWAObjectIndex.cpp:57
libetonyek::IWAParser::m_mediaStyles
StyleMap_t m_mediaStyles
Definition: IWAParser.h:240
libetonyek::IWORK_CELL_TYPE_DURATION
@ IWORK_CELL_TYPE_DURATION
Definition: IWORKEnum.h:84
libetonyek::IWORKLineSpacing
Definition: IWORKTypes.h:195
libetonyek::IWAMessageField::float_
const IWAFloatField & float_(std::size_t field) const
Definition: IWAField.cpp:80
libetonyek::IWORKColumns::Column
Definition: IWORKTypes.h:341
libetonyek::IWORKGradientStop
Definition: IWORKTypes.h:290
libetonyek::IWAParser::parseParagraphStyle
void parseParagraphStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1591
libetonyek::IWAParser::parseGraphicStyle
void parseGraphicStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1714
libetonyek::IWORKGridLine_t
mdds::flat_segment_tree< unsigned, IWORKStylePtr_t > IWORKGridLine_t
Definition: IWORKTypes.h:121
libetonyek::IWORKPropertyMap::put
void put(const typename IWORKPropertyInfo< Property >::ValueType &value)
Insert a new value for key key.
Definition: IWORKPropertyMap.h:134
libetonyek::IWAParser::ObjectMessage::m_parser
IWAParser & m_parser
Definition: IWAParser.h:82
libetonyek::IWAObjectType::Tile
@ Tile
Definition: IWAObjectType.h:49
libetonyek::IWAObjectType::PageMaster
@ PageMaster
Definition: IWAObjectType.h:60
libetonyek::IWAParser::parseTableHeaders
void parseTableHeaders(unsigned id, TableHeader &header)
Definition: IWAParser.cpp:2898
libetonyek::IWORKFormula::Address
Definition: IWORKFormula.h:54
libetonyek::IWORKToken::c
@ c
Definition: IWORKToken.h:516
libetonyek::IWORKMediaContent
Definition: IWORKTypes.h:149
libetonyek::IWAParser::m_uidFormatMap
std::map< uint64_t, Format > m_uidFormatMap
Definition: IWAParser.h:246
libetonyek::IWORKToken::value
@ value
Definition: IWORKToken.h:631
libetonyek::IWORKNumberFormat::m_type
IWORKCellNumberType m_type
Definition: IWORKTypes.h:369
libetonyek::IWAParser::parseCellStyle
void parseCellStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1846
libetonyek::IWORK_LINE_JOIN_MITER
@ IWORK_LINE_JOIN_MITER
Definition: IWORKEnum.h:75
libetonyek::IWORK_CELL_TYPE_NUMBER
@ IWORK_CELL_TYPE_NUMBER
Definition: IWORKEnum.h:81
libetonyek::IWORK_STROKE_TYPE_DASHED
@ IWORK_STROKE_TYPE_DASHED
Definition: IWORKEnum.h:123
libetonyek::IWAObjectType::GridLines
@ GridLines
Definition: IWAObjectType.h:57
libetonyek::IWAMessage::float_
const IWAFloatField & float_(std::size_t field) const
Definition: IWAMessage.cpp:177
libetonyek::IWAParser::PageMaster::m_headerFootersSameAsPrevious
bool m_headerFootersSameAsPrevious
Definition: IWAParser.h:148
libetonyek::IWAParser::parseMediaStyle
void parseMediaStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1806
libetonyek::IWORKCollector::collectConnectionPath
void collectConnectionPath(const IWORKConnectionPath &path)
Definition: IWORKCollector.cpp:419
libetonyek::IWORKCollector::collectBezier
void collectBezier(const IWORKPathPtr_t &path)
Definition: IWORKCollector.cpp:285
libetonyek::IWAParser::parseTableStyle
void parseTableStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1929
libetonyek::IWORKShadow::m_opacity
double m_opacity
Definition: IWORKTypes.h:321
libetonyek::IWORKToken::flags
@ flags
Definition: IWORKToken.h:534
IWORKText.h
libetonyek::IWAParser::TableInfo::m_rows
const unsigned m_rows
Definition: IWAParser.h:168
libetonyek_utils.h
libetonyek::IWAObjectType::DataList
@ DataList
Definition: IWAObjectType.h:52
libetonyek::IWORKConnectionPath::m_positions
boost::optional< IWORKPosition > m_positions[3]
Definition: IWORKPath.h:93
libetonyek::IWAMessage
Definition: IWAMessage.h:22
libetonyek::IWAParser::parseMask
void parseMask(unsigned id, IWORKGeometryPtr_t &geometry, IWORKPathPtr_t &path)
Definition: IWAParser.cpp:1549
libetonyek::IWAParser::updateGeometryUsingTextRef
void updateGeometryUsingTextRef(unsigned id, IWORKGeometry &geometry, unsigned flags)
Definition: IWAParser.cpp:579
libetonyek::IWORKToken::type
@ type
Definition: IWORKToken.h:493
libetonyek::IWAParser::TableInfo::m_formattedTextList
DataList_t m_formattedTextList
Definition: IWAParser.h:177
m_width
boost::optional< double > m_width
Definition: IWORKStrokeContext.cpp:229
libetonyek::detail::IWAFieldImpl
Definition: IWAField.h:74
libetonyek::IWORKToken::index
@ index
Definition: IWORKToken.h:571
libetonyek::IWORKFormula::Token::String
@ String
Definition: IWORKFormula.h:72
libetonyek::IWAParser::queryObject
void queryObject(unsigned id, unsigned &type, boost::optional< IWAMessage > &msg) const
Definition: IWAParser.cpp:230
libetonyek::IWORKGradient
Definition: IWORKTypes.h:300
IWORKTypes.h
y
double y
Definition: IWORKShape.cpp:47
libetonyek::IWORK_CELL_TYPE_DATE_TIME
@ IWORK_CELL_TYPE_DATE_TIME
Definition: IWORKEnum.h:83
libetonyek::IWORKCollector
Definition: IWORKCollector.h:42
libetonyek::IWAParser::m_listStyles
StyleMap_t m_listStyles
Definition: IWAParser.h:243
libetonyek::IWORKPageMaster
Definition: IWORKTypes.h:358
libetonyek::IWORKToken::text
@ text
Definition: IWORKToken.h:472
libetonyek::detail::IWAFieldImpl::const_iterator
container_type::const_iterator const_iterator
Definition: IWAField.h:81
libetonyek::IWAParser::m_langManager
IWORKLanguageManager m_langManager
Definition: IWAParser.h:132
libetonyek::IWAParser::dispatchShapeWithMessage
bool dispatchShapeWithMessage(const IWAMessage &msg, unsigned type)
Definition: IWAParser.cpp:550
libetonyek::IWORKSize
Definition: IWORKTypes.h:45
libetonyek::IWAObjectType::StickyNote
@ StickyNote
Definition: IWAObjectType.h:30
libetonyek::IWAParser::readUIDs
static std::deque< uint64_t > readUIDs(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:310
libetonyek::IWORKPageMaster::m_footer
std::string m_footer
Definition: IWORKTypes.h:362
libetonyek::IWORKToken::align
@ align
Definition: IWORKToken.h:509
libetonyek::IWORKCollector::startGroup
void startGroup()
Definition: IWORKCollector.cpp:539
libetonyek::IWAParser::parseDataList
void parseDataList(unsigned id, DataList_t &dataList)
Definition: IWAParser.cpp:2561
libetonyek::IWAParser::queryCellStyle
const IWORKStylePtr_t queryCellStyle(unsigned id) const
Definition: IWAParser.cpp:975
libetonyek::IWORK_IMAGE_TYPE_TILE
@ IWORK_IMAGE_TYPE_TILE
Definition: IWORKEnum.h:101
libetonyek::IWAParser::parseTableGridLines
void parseTableGridLines(unsigned id, IWORKGridLineMap_t(&gridLines)[4])
Definition: IWAParser.cpp:2922
IWORKCollector.h
libetonyek::IWORKGradientStop::m_color
IWORKColor m_color
Definition: IWORKTypes.h:293
libetonyek::IWORKCellType
IWORKCellType
Definition: IWORKEnum.h:80
x
double x
Definition: IWORKShape.cpp:46
libetonyek::IWORK_TABULATION_LEFT
@ IWORK_TABULATION_LEFT
Definition: IWORKEnum.h:153
libetonyek::IWORKMediaContent::m_data
IWORKDataPtr_t m_data
Definition: IWORKTypes.h:152
libetonyek::IWORKToken::col
@ col
Definition: IWORKToken.h:154
libetonyek::IWORKFill
boost::variant< IWORKColor, IWORKGradient, IWORKMediaContent > IWORKFill
Definition: IWORKTypes.h:309
m_rows
const unsigned m_rows
Definition: IWORKTableRecorder.cpp:51
libetonyek::IWORK_ALIGNMENT_LEFT
@ IWORK_ALIGNMENT_LEFT
Definition: IWORKEnum.h:18
ETONYEK_NUM_ELEMENTS
#define ETONYEK_NUM_ELEMENTS(array)
Definition: libetonyek_utils.h:29
libetonyek::IWORKTextLabel::m_tiered
bool m_tiered
Definition: IWORKTypes.h:449
libetonyek::IWORKToken::point
@ point
Definition: IWORKToken.h:373
libetonyek::IWAParser::ObjectMessage::getType
unsigned getType() const
Definition: IWAParser.cpp:225
libetonyek::IWORK_IMAGE_TYPE_ORIGINAL_SIZE
@ IWORK_IMAGE_TYPE_ORIGINAL_SIZE
Definition: IWORKEnum.h:99
libetonyek::IWORKTable::CELL_TYPE_ROW_HEADER
@ CELL_TYPE_ROW_HEADER
Definition: IWORKTable.h:58
libetonyek::IWORK_IMAGE_TYPE_STRETCH
@ IWORK_IMAGE_TYPE_STRETCH
Definition: IWORKEnum.h:100
libetonyek::IWORKTableNameMap_t
std::unordered_map< std::string, std::string > IWORKTableNameMap_t
Definition: IWORKTypes_fwd.h:32
libetonyek::IWORKCollector::collectGeometry
void collectGeometry(const IWORKGeometryPtr_t &geometry)
Definition: IWORKCollector.cpp:267
libetonyek::IWAParser::parseAuthorInComment
void parseAuthorInComment(unsigned id)
Definition: IWAParser.cpp:2342
libetonyek::IWAParser::parseText
bool parseText(unsigned id, bool createNoteAsFootnote=true, const std::function< void(unsigned, IWORKStylePtr_t)> &openPageSpan=nullptr)
Definition: IWAParser.cpp:633
IWORKOutputElements.h
libetonyek::KEY2Token::i
@ i
Definition: KEY2Token.h:101
libetonyek::IWORKPropertyMap
Represents a (hierarchical) property map.
Definition: IWORKPropertyMap.h:25
libetonyek::IWAText::parse
void parse(IWORKText &collector, const std::function< void(unsigned, IWORKStylePtr_t)> &openPageSpan=nullptr)
Definition: IWAText.cpp:103
libetonyek::IWORKFormula::Address::m_table
boost::optional< std::string > m_table
Definition: IWORKFormula.h:63
libetonyek::IWORKToken::bezier
@ bezier
Definition: IWORKToken.h:112
libetonyek::IWAObjectType::TextRef
@ TextRef
Definition: IWAObjectType.h:55
libetonyek::IWORKCollector::collectFooter
void collectFooter(const std::string &name)
Definition: IWORKCollector.cpp:486
libetonyek::IWAParser::TableHeader::m_sizes
mdds::flat_segment_tree< unsigned, float > m_sizes
Definition: IWAParser.h:155
libetonyek::IWORKGeometryPtr_t
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition: IWORKTypes_fwd.h:41
libetonyek::deg2rad
double deg2rad(double value)
Convert an angle from degrees to radians.
Definition: libetonyek_utils.cpp:230
libetonyek::IWORKStylePtr_t
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition: IWORKStyle_fwd.h:21
libetonyek::IWAObjectType::MediaStyle
@ MediaStyle
Definition: IWAObjectType.h:44
libetonyek::IWORK_ALIGNMENT_JUSTIFY
@ IWORK_ALIGNMENT_JUSTIFY
Definition: IWORKEnum.h:21
libetonyek::IWORKListLevels_t
std::map< unsigned, IWORKStylePtr_t > IWORKListLevels_t
Definition: IWORKTypes.h:459
libetonyek::IWORK_GRADIENT_TYPE_RADIAL
@ IWORK_GRADIENT_TYPE_RADIAL
Definition: IWORKEnum.h:109
libetonyek::IWORKFormula::Coord
Definition: IWORKFormula.h:43
libetonyek::IWORKShadow
Definition: IWORKTypes.h:313
IWAMessage.h
libetonyek::IWORK_LABEL_NUM_FORMAT_ALPHA_LOWERCASE
@ IWORK_LABEL_NUM_FORMAT_ALPHA_LOWERCASE
Definition: IWORKEnum.h:131
libetonyek::IWORK_IMAGE_TYPE_SCALE_TO_FILL
@ IWORK_IMAGE_TYPE_SCALE_TO_FILL
Definition: IWORKEnum.h:102
libetonyek::IWORKToken::row
@ row
Definition: IWORKToken.h:390
libetonyek::IWAObjectType::AuthorStorage
@ AuthorStorage
Definition: IWAObjectType.h:21
libetonyek::IWORKCollector::setGraphicStyle
void setGraphicStyle(const IWORKStylePtr_t &style)
Definition: IWORKCollector.cpp:247
libetonyek::IWAParser::TableInfo::m_style
IWORKStylePtr_t m_style
Definition: IWAParser.h:170
libetonyek::IWAParser::Format::m_format
boost::variant< IWORKNumberFormat, IWORKDateTimeFormat, IWORKDurationFormat > m_format
Definition: IWAParser.h:141
libetonyek::IWORKPageMaster::m_header
std::string m_header
Definition: IWORKTypes.h:361
libetonyek::IWORKCollector::collectStarPath
void collectStarPath(const IWORKSize &size, unsigned points, double innerRadius)
Definition: IWORKCollector.cpp:410
m_id
boost::optional< ID_t > m_id
Definition: IWORKLineEndElement.cpp:34
libetonyek::IWAParser::parse
bool parse()
Definition: IWAParser.cpp:169
libetonyek::IWORKDateTimeFormat::m_format
std::string m_format
Definition: IWORKTypes.h:387
libetonyek::IWORKToken::content
@ content
Definition: IWORKToken.h:167
libetonyek::KEY1Token::bullets
@ bullets
Definition: KEY1Token.h:43
libetonyek::get_optional_value_or
const ValueT & get_optional_value_or(const detail::IWAFieldImpl< TagV, ValueT, Reader > &field, const ValueT &value)
Definition: IWAField.h:196
libetonyek::IWORK_CELL_TYPE_BOOL
@ IWORK_CELL_TYPE_BOOL
Definition: IWORKEnum.h:85
libetonyek::IWAParser::parseListStyle
void parseListStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1973
libetonyek::IWAParser::operator=
IWAParser & operator=(const IWAParser &)
libetonyek::IWORKPosition
Definition: IWORKTypes.h:53
libetonyek::IWORKFormula::Coord::m_coord
int m_coord
Definition: IWORKFormula.h:49
libetonyek::readU32
uint32_t readU32(const RVNGInputStreamPtr_t &input, bool bigEndian)
Definition: libetonyek_utils.cpp:76
libetonyek::IWAObjectType::DrawableShape
@ DrawableShape
Definition: IWAObjectType.h:28
libetonyek::IWORKCollector::closeGroup
void closeGroup()
Definition: IWORKCollector.cpp:576
libetonyek::IWORKToken::geometry
@ geometry
Definition: IWORKToken.h:236
libetonyek::RVNGInputStreamPtr_t
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libetonyek_utils.h:82
libetonyek::IWAParser::parseStickyNote
virtual bool parseStickyNote(const IWAMessage &msg)
Definition: IWAParser.cpp:1210
libetonyek::KEY1Token::gradient
@ gradient
Definition: KEY1Token.h:58
m_type
boost::optional< IWORKGradientType > m_type
Definition: IWORKFillElement.cpp:132
libetonyek::IWORKCollector::openGroup
void openGroup()
Definition: IWORKCollector.cpp:563
libetonyek::IWORKNumberFormat::m_base
int m_base
Definition: IWORKTypes.h:377
m_format
Format m_format
Definition: EtonyekDocument.cpp:79
libetonyek::IWORK_CELL_NUMBER_TYPE_PERCENTAGE
@ IWORK_CELL_NUMBER_TYPE_PERCENTAGE
Definition: IWORKEnum.h:93
libetonyek::IWAParser::parseObjectIndex
void parseObjectIndex()
Definition: IWAParser.cpp:1562
libetonyek::IWORK_LINE_JOIN_ROUND
@ IWORK_LINE_JOIN_ROUND
Definition: IWORKEnum.h:76
libetonyek::IWAParser::ObjectMessage
Definition: IWAParser.h:66
libetonyek::IWORKTable::CELL_TYPE_COLUMN_HEADER
@ CELL_TYPE_COLUMN_HEADER
Definition: IWORKTable.h:57
libetonyek::get
const ValueT & get(const detail::IWAFieldImpl< TagV, ValueT, Reader > &field)
Definition: IWAField.h:190
libetonyek::IWORKTextLabelFormat::m_format
IWORKLabelNumFormat m_format
Definition: IWORKTypes.h:440
libetonyek::IWORKNumberFormat::m_currencyCode
std::string m_currencyCode
Definition: IWORKTypes.h:372
libetonyek::IWORKNumberFormat::m_thousandsSeparator
bool m_thousandsSeparator
Definition: IWORKTypes.h:374
libetonyek::IWAParser::queryCharacterStyle
const IWORKStylePtr_t queryCharacterStyle(unsigned id) const
Definition: IWAParser.cpp:950
libetonyek::IWAMessageField::uint32
const IWAUInt32Field & uint32(std::size_t field) const
Definition: IWAField.cpp:30
libetonyek::IWAParser::ObjectMessage::m_message
boost::optional< IWAMessage > m_message
Definition: IWAParser.h:83
libetonyek::IWAParser::readPosition
static boost::optional< IWORKPosition > readPosition(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:267
libetonyek::IWORKTextLabel
Definition: IWORKTypes.h:445
libetonyek::IWORKFormula::Token::Function
@ Function
Definition: IWORKFormula.h:72
libetonyek::IWORKCollector::collectShape
void collectShape(const boost::optional< int > &order=boost::none, const boost::optional< unsigned > &resizeFlags=boost::none, bool locked=false)
Definition: IWORKCollector.cpp:337
libetonyek::IWAParser::readUUID
static boost::optional< std::string > readUUID(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:322
IWORKStyle_fwd.h
libetonyek::IWORK_LINE_CAP_BUTT
@ IWORK_LINE_CAP_BUTT
Definition: IWORKEnum.h:68
libetonyek::IWORKColor
Definition: IWORKTypes.h:79
IWORKFormula.h
libetonyek::IWORKToken::color
@ color
Definition: IWORKToken.h:155
libetonyek::IWAParser::m_index
IWAObjectIndex m_index
Definition: IWAParser.h:231
libetonyek::IWAMessageField::string
const IWAStringField & string(std::size_t field) const
Definition: IWAField.cpp:65
libetonyek::IWAParser::parseAttachment
bool parseAttachment(unsigned id)
Definition: IWAParser.cpp:990
libetonyek::KEY1Token::level
@ level
Definition: KEY1Token.h:158
libetonyek::IWORK_CELL_NUMBER_TYPE_CURRENCY
@ IWORK_CELL_NUMBER_TYPE_CURRENCY
Definition: IWORKEnum.h:90
libetonyek::IWAObjectType::HeadersAndFooters
@ HeadersAndFooters
Definition: IWAObjectType.h:62
libetonyek::IWAParser::TableHeader::m_hidden
mdds::flat_segment_tree< unsigned, bool > m_hidden
Definition: IWAParser.h:156
libetonyek::IWORKTable::CELL_TYPE_ALTERNATE_BODY
@ CELL_TYPE_ALTERNATE_BODY
Definition: IWORKTable.h:56
libetonyek::IWAParser::StyleMap_t
std::map< unsigned, IWORKStylePtr_t > StyleMap_t
Definition: IWAParser.h:89
libetonyek::IWAParser::ObjectMessage::ObjectMessage
ObjectMessage(IWAParser &parser, unsigned id, unsigned type=0)
Definition: IWAParser.cpp:175
libetonyek::IWAParser::queryStyle
const IWORKStylePtr_t queryStyle(unsigned id, StyleMap_t &styleMap, StyleParseFun_t parse) const
Definition: IWAParser.cpp:937
libetonyek::IWAParser::parseFormula
bool parseFormula(const IWAMessage &msg, IWORKFormulaPtr_t &formula)
Definition: IWAParser.cpp:3119
libetonyek::IWAParser::dispatchShape
bool dispatchShape(unsigned id)
Definition: IWAParser.cpp:542
libetonyek::IWORKMarker::m_path
boost::optional< std::string > m_path
Definition: IWORKTypes.h:95
libetonyek::IWORKCollector::collectText
void collectText(const std::shared_ptr< IWORKText > &text)
Definition: IWORKCollector.cpp:505
libetonyek::IWORKToken::fill
@ fill
Definition: IWORKToken.h:204
libetonyek::IWAText::setListLevels
void setListLevels(const std::map< unsigned, unsigned > &levels)
Definition: IWAText.cpp:88
libetonyek::IWORKStyle
Represents a hierarchical style.
Definition: IWORKStyle.h:29
libetonyek::IWAParser::TableInfo
Definition: IWAParser.h:162
libetonyek::IWORKShadow::m_angle
double m_angle
Definition: IWORKTypes.h:318
libetonyek::detail::IWAFieldImpl::size
std::size_t size() const override
Definition: IWAField.h:118
libetonyek::IWAParser::parseDocument
virtual bool parseDocument()=0
libetonyek::IWORKListLabelGeometry
Definition: IWORKTypes.h:424
libetonyek::IWAParser::parseCharacterStyle
void parseCharacterStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1567
m_x
boost::optional< unsigned > m_x
Definition: IWORKFormulaElement.cpp:111
libetonyek::IWORK_LABEL_NUM_FORMAT_NUMERIC
@ IWORK_LABEL_NUM_FORMAT_NUMERIC
Definition: IWORKEnum.h:129
libetonyek::IWORKToken::tabs
@ tabs
Definition: IWORKToken.h:429
libetonyek::IWORKToken::layout
@ layout
Definition: IWORKToken.h:294
libetonyek::IWAObjectType::Link
@ Link
Definition: IWAObjectType.h:37
libetonyek::IWORKToken::SFTTableBandedRowsProperty
@ SFTTableBandedRowsProperty
Definition: IWORKToken.h:86
libetonyek::IWORKTextLabelFormat::m_suffix
IWORKLabelNumFormatSurrounding m_suffix
Definition: IWORKTypes.h:441
libetonyek::IWAObjectType::CustomDateTimeFormat
@ CustomDateTimeFormat
Definition: IWAObjectType.h:22
libetonyek::IWAObjectIndex::queryFile
const RVNGInputStreamPtr_t queryFile(unsigned id) const
Definition: IWAObjectIndex.cpp:152
libetonyek::IWAText::setLanguages
void setLanguages(const std::map< unsigned, std::string > &langs)
Definition: IWAText.cpp:78
libetonyek::IWAParser::ObjectMessage::m_type
unsigned m_type
Definition: IWAParser.h:85
libetonyek::IWORKFormula
Definition: IWORKFormula.h:27
libetonyek::IWAParser::m_currentText
std::shared_ptr< IWORKText > m_currentText
Definition: IWAParser.h:134
PAGCollector.h
libetonyek::IWAParser::querySectionStyle
const IWORKStylePtr_t querySectionStyle(unsigned id) const
Definition: IWAParser.cpp:960
libetonyek::IWORKCollector::collectBezierPath
void collectBezierPath()
Definition: IWORKCollector.cpp:374
libetonyek::IWORKGridLineMap_t
std::map< unsigned, IWORKGridLine_t > IWORKGridLineMap_t
Definition: IWORKTypes.h:122
libetonyek::IWAObjectType::ParagraphStyle
@ ParagraphStyle
Definition: IWAObjectType.h:32
libetonyek::IWORKOutputElements
Definition: IWORKOutputElements.h:33
libetonyek::IWORKGradientStop::m_fraction
double m_fraction
Definition: IWORKTypes.h:294
libetonyek::IWAParser::parseTabularModel
void parseTabularModel(unsigned id)
Definition: IWAParser.cpp:2412
libetonyek::IWORKToken::position
@ position
Definition: IWORKToken.h:375
libetonyek::readU16
uint16_t readU16(const RVNGInputStreamPtr_t &input, bool bigEndian)
Definition: libetonyek_utils.cpp:60

Generated for libetonyek by doxygen 1.8.20