10#ifndef IWORKTYPES_H_INCLUDED
11#define IWORKTYPES_H_INCLUDED
19#include <boost/optional.hpp>
20#include <boost/variant.hpp>
22#if defined(__GNUC__) && !defined(__clang__)
23#pragma GCC diagnostic push
24#pragma GCC diagnostic ignored "-Weffc++"
26#include <mdds/flat_segment_tree.hpp>
27#if defined(__GNUC__) && !defined(__clang__)
28#pragma GCC diagnostic pop
309typedef boost::variant<IWORKColor, IWORKGradient, IWORKMediaContent>
IWORKFill;
Definition IWORKOutputElements.h:33
@ align
Definition IWORKToken.h:509
@ g
Definition IWORKToken.h:235
@ r
Definition IWORKToken.h:380
@ w
Definition IWORKToken.h:638
@ size
Definition IWORKToken.h:402
@ a
Definition IWORKToken.h:508
@ b
Definition IWORKToken.h:514
@ relative
Definition IWORKToken.h:677
@ h
Definition IWORKToken.h:557
Definition IWORKBezierElement.cpp:21
std::unordered_map< ID_t, IWORKStroke > IWORKStrokeMap_t
Definition IWORKTypes.h:287
IWORKCellType
Definition IWORKEnum.h:80
std::unordered_map< ID_t, IWORKTabStops_t > IWORKTabStopsMap_t
Definition IWORKTypes.h:120
boost::variant< IWORKColor, IWORKGradient, IWORKMediaContent > IWORKFill
Definition IWORKTypes.h:309
IWORKGradientType
Definition IWORKEnum.h:107
std::unordered_map< ID_t, IWORKExternalTextWrap > IWORKExternalTextWrapMap_t
Definition IWORKTypes.h:184
std::shared_ptr< IWORKMediaContent > IWORKMediaContentPtr_t
Definition IWORKTypes_fwd.h:58
std::unordered_map< ID_t, IWORKPattern > IWORKPatternMap_t
Definition IWORKTypes.h:275
IWORKTabulationType
Definition IWORKEnum.h:152
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition libetonyek_utils.h:82
mdds::flat_segment_tree< unsigned, IWORKStylePtr_t > IWORKGridLine_t
Definition IWORKTypes.h:121
std::unordered_map< ID_t, IWORKDateTimeFormat > IWORKDateTimeFormatMap_t
Definition IWORKTypes.h:407
std::unordered_map< ID_t, IWORKColumns > IWORKColumnsMap_t
Definition IWORKTypes.h:373
std::map< unsigned, IWORKGridLine_t > IWORKGridLineMap_t
Definition IWORKTypes.h:122
std::map< unsigned, IWORKStylePtr_t > IWORKListLevels_t
Definition IWORKTypes.h:477
std::shared_ptr< IWORKData > IWORKDataPtr_t
Definition IWORKTypes_fwd.h:53
IWORKWrapDirection
Definition IWORKEnum.h:160
IWORKLabelNumFormatSurrounding
Definition IWORKEnum.h:137
std::deque< IWORKColumnRowSize > IWORKColumnSizes_t
Definition IWORKTypes_fwd.h:24
IWORKCellNumberType
Definition IWORKEnum.h:89
std::unordered_map< std::string, IWORKOutputElements > IWORKHeaderFooterMap_t
Definition IWORKTypes.h:42
IWORKLabelNumFormat
Definition IWORKEnum.h:128
std::unordered_map< ID_t, IWORKTableCell > IWORKTableCellMap_t
Definition IWORKTypes.h:239
std::unordered_map< ID_t, IWORKPadding > IWORKPaddingMap_t
Definition IWORKTypes.h:108
std::unordered_map< ID_t, IWORKFilters_t > IWORKFiltersMap_t
Definition IWORKTypes.h:344
IWORKWrapType
Definition IWORKEnum.h:173
IWORKAlignment
Definition IWORKEnum.h:17
std::unordered_map< ID_t, IWORKShadow > IWORKShadowMap_t
Definition IWORKTypes.h:342
std::unordered_map< ID_t, IWORKLineSpacing > IWORKLineSpacingMap_t
Definition IWORKTypes.h:202
std::unordered_map< ID_t, IWORKTableVector > IWORKTableVectorMap_t
Definition IWORKTypes.h:230
std::unordered_map< ID_t, IWORKFilterDescriptor > IWORKFilterDescriptorMap_t
Definition IWORKTypes.h:424
std::unordered_map< ID_t, IWORKFormulaPtr_t > IWORKFormulaMap_t
Definition IWORKTypes.h:124
std::unordered_map< ID_t, IWORKGradient > IWORKGradientMap_t
Definition IWORKTypes.h:307
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition IWORKPath_fwd.h:22
std::shared_ptr< IWORKFormula > IWORKFormulaPtr_t
Definition IWORKTypes.h:123
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition IWORKTypes_fwd.h:45
IWORKImageType
Definition IWORKEnum.h:98
std::unordered_map< ID_t, IWORKGradientStop > IWORKGradientStopMap_t
Definition IWORKTypes.h:297
IWORKLineJoin
Definition IWORKEnum.h:73
std::deque< IWORKColumnRowSize > IWORKRowSizes_t
Definition IWORKTypes_fwd.h:26
std::deque< IWORKShadow > IWORKFilters_t
Definition IWORKTypes.h:343
std::unordered_map< ID_t, IWORKFill > IWORKFillMap_t
Definition IWORKTypes.h:310
boost::variant< bool, std::string, IWORKTextLabel, IWORKMediaContentPtr_t > IWORKListLabelTypeInfo_t
Definition IWORKTypes.h:474
std::unordered_map< ID_t, IWORKListLabelTypeInfo_t > IWORKListLabelTypeInfoMap_t
Definition IWORKTypes.h:475
IWORKLineCap
Definition IWORKEnum.h:66
IWORKStrokeType
Definition IWORKEnum.h:120
std::unordered_map< ID_t, IWORKNumberFormat > IWORKNumberFormatMap_t
Definition IWORKTypes.h:399
std::deque< IWORKTabStop > IWORKTabStops_t
Definition IWORKTypes.h:119
IWORKWrapStyle
Definition IWORKEnum.h:167
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition IWORKStyle_fwd.h:23
std::unordered_map< ID_t, IWORKDurationFormat > IWORKDurationFormatMap_t
Definition IWORKTypes.h:415
std::unordered_map< ID_t, IWORKListLabelGeometry > IWORKListLabelGeometryMap_t
Definition IWORKTypes.h:451
Definition IWORKTypes.h:79
double m_red
Definition IWORKTypes.h:80
double m_green
Definition IWORKTypes.h:81
double m_alpha
Definition IWORKTypes.h:83
double m_blue
Definition IWORKTypes.h:82
IWORKColor()
Definition IWORKTypes.cpp:55
boost::optional< double > m_size
Definition IWORKTypes.h:217
bool m_exactSize
Definition IWORKTypes.h:218
IWORKColumnRowSize()
Definition IWORKTypes.cpp:163
double m_width
Definition IWORKTypes.h:362
Column()
Definition IWORKTypes.cpp:276
double m_spacing
Definition IWORKTypes.h:363
bool m_equal
Definition IWORKTypes.h:370
Columns_t m_columns
Definition IWORKTypes.h:371
IWORKColumns()
Definition IWORKTypes.cpp:282
std::deque< Column > Columns_t
Definition IWORKTypes.h:366
IWORKData()
Definition IWORKTypes.cpp:111
boost::optional< std::string > m_displayName
Definition IWORKTypes.h:142
std::string m_mimeType
Definition IWORKTypes.h:143
RVNGInputStreamPtr_t m_stream
Definition IWORKTypes.h:141
int m_year
Definition IWORKTypes.h:208
float m_second
Definition IWORKTypes.h:210
int m_month
Definition IWORKTypes.h:208
int m_day
Definition IWORKTypes.h:208
int m_minute
Definition IWORKTypes.h:209
int m_hour
Definition IWORKTypes.h:209
IWORKDateTimeData()
Definition IWORKTypes.cpp:328
unsigned m_numLines
Definition IWORKTypes.h:320
bool empty() const
Definition IWORKTypes.h:316
unsigned m_numCharacters
Definition IWORKTypes.h:322
unsigned m_numLinesSpan
Definition IWORKTypes.h:321
double m_decalParagraphLeft
Definition IWORKTypes.h:324
IWORKDropCap()
Definition IWORKTypes.cpp:245
IWORKStylePtr_t m_style
Definition IWORKTypes.h:327
double m_supplementalSpace
Definition IWORKTypes.h:325
double m_alphaThreshold
Definition IWORKTypes.h:181
IWORKWrapDirection m_direction
Definition IWORKTypes.h:177
IWORKWrapType m_floatingType
Definition IWORKTypes.h:179
bool m_aligned
Definition IWORKTypes.h:178
double m_margin
Definition IWORKTypes.h:180
IWORKExternalTextWrap()
Definition IWORKTypes.cpp:138
bool m_inlineWrapEnabled
Definition IWORKTypes.h:176
bool m_floatingWrapEnabled
Definition IWORKTypes.h:175
IWORKWrapStyle m_style
Definition IWORKTypes.h:174
IWORKFilterDescriptor()
Definition IWORKTypes.cpp:344
bool m_isShadow
Definition IWORKTypes.h:421
boost::optional< bool > m_sizesLocked
Definition IWORKTypes.h:73
boost::optional< bool > m_horizontalFlip
Definition IWORKTypes.h:70
boost::optional< bool > m_verticalFlip
Definition IWORKTypes.h:71
boost::optional< double > m_shearYAngle
Definition IWORKTypes.h:69
boost::optional< bool > m_aspectRatioLocked
Definition IWORKTypes.h:72
IWORKSize m_size
Definition IWORKTypes.h:64
boost::optional< double > m_shearXAngle
Definition IWORKTypes.h:68
IWORKPosition m_position
Definition IWORKTypes.h:65
boost::optional< double > m_angle
final angle in radians
Definition IWORKTypes.h:67
IWORKSize m_naturalSize
Definition IWORKTypes.h:63
IWORKGeometry()
Definition IWORKTypes.cpp:41
IWORKGradientStop()
Definition IWORKTypes.cpp:231
double m_fraction
Definition IWORKTypes.h:294
IWORKColor m_color
Definition IWORKTypes.h:293
double m_inflection
Definition IWORKTypes.h:295
IWORKGradient()
Definition IWORKTypes.cpp:238
std::deque< IWORKGradientStop > m_stops
Definition IWORKTypes.h:304
IWORKGradientType m_type
Definition IWORKTypes.h:303
double m_angle
Definition IWORKTypes.h:305
double m_amount
Definition IWORKTypes.h:198
bool m_relative
Definition IWORKTypes.h:199
bool m_atLeast
Definition IWORKTypes.h:200
IWORKLineSpacing(double amount, bool relative)
Definition IWORKTypes.cpp:156
boost::optional< int > m_order
Definition IWORKTypes.h:130
boost::optional< double > m_y1
Definition IWORKTypes.h:132
IWORKGeometryPtr_t m_geometry
Definition IWORKTypes.h:128
IWORKLine()
Definition IWORKTypes.cpp:100
boost::optional< double > m_y2
Definition IWORKTypes.h:134
boost::optional< double > m_x1
Definition IWORKTypes.h:131
IWORKStylePtr_t m_style
Definition IWORKTypes.h:129
boost::optional< double > m_x2
Definition IWORKTypes.h:133
double m_scale
Definition IWORKTypes.h:446
bool m_scaleWithText
Definition IWORKTypes.h:448
IWORKListLabelGeometry()
Definition IWORKTypes.cpp:362
IWORKAlignment m_align
Definition IWORKTypes.h:445
double m_offset
Definition IWORKTypes.h:447
double m_scale
Definition IWORKTypes.h:93
boost::optional< std::string > m_path
Definition IWORKTypes.h:95
IWORKMarker()
Definition IWORKTypes.cpp:71
int m_pathJoin
Definition IWORKTypes.h:94
boost::optional< IWORKPosition > m_endPoint
Definition IWORKTypes.h:96
bool m_filled
Definition IWORKTypes.h:92
boost::optional< IWORKColor > m_fillColor
Definition IWORKTypes.h:153
IWORKDataPtr_t m_data
Definition IWORKTypes.h:152
IWORKImageType m_type
Definition IWORKTypes.h:150
IWORKMediaContent()
Definition IWORKTypes.cpp:118
boost::optional< IWORKSize > m_size
Definition IWORKTypes.h:151
boost::optional< double > m_right
Definition IWORKTypes.h:102
boost::optional< double > m_top
Definition IWORKTypes.h:101
IWORKPadding()
Definition IWORKTypes.cpp:80
boost::optional< double > m_left
Definition IWORKTypes.h:104
boost::optional< double > m_bottom
Definition IWORKTypes.h:103
IWORKPageMaster()
Definition IWORKTypes.cpp:288
std::string m_header
Definition IWORKTypes.h:379
std::string m_footer
Definition IWORKTypes.h:380
Definition IWORKTypes.h:269
std::deque< double > m_values
Definition IWORKTypes.h:273
IWORKStrokeType m_type
Definition IWORKTypes.h:272
IWORKPattern()
Definition IWORKTypes.cpp:217
Definition IWORKTypes.h:53
double m_y
Definition IWORKTypes.h:55
double m_x
Definition IWORKTypes.h:54
IWORKPosition()
Definition IWORKTypes.cpp:29
boost::optional< double > m_marginLeft
Definition IWORKTypes.h:434
boost::optional< double > m_marginBottom
Definition IWORKTypes.h:433
boost::optional< double > m_headerHeight
Definition IWORKTypes.h:438
IWORKPrintInfo()
Definition IWORKTypes.cpp:349
boost::optional< double > m_marginTop
Definition IWORKTypes.h:436
boost::optional< double > m_marginRight
Definition IWORKTypes.h:435
boost::optional< double > m_height
Definition IWORKTypes.h:430
boost::optional< int > m_orientation
Definition IWORKTypes.h:432
boost::optional< double > m_footerHeight
Definition IWORKTypes.h:437
boost::optional< double > m_width
Definition IWORKTypes.h:431
double m_glossiness
Definition IWORKTypes.h:337
bool m_visible
Definition IWORKTypes.h:334
double m_angle
Definition IWORKTypes.h:336
double m_radius
Definition IWORKTypes.h:340
IWORKColor m_color
Definition IWORKTypes.h:335
double m_offset
Definition IWORKTypes.h:338
double m_opacity
Definition IWORKTypes.h:339
IWORKShadow()
Definition IWORKTypes.cpp:257
Definition IWORKTypes.h:45
double m_height
Definition IWORKTypes.h:47
IWORKSize()
Definition IWORKTypes.cpp:17
double m_width
Definition IWORKTypes.h:46
IWORKPattern m_pattern
Definition IWORKTypes.h:285
IWORKLineCap m_cap
Definition IWORKTypes.h:284
IWORKLineJoin m_join
Definition IWORKTypes.h:283
IWORKStroke()
Definition IWORKTypes.cpp:222
double m_width
Definition IWORKTypes.h:281
IWORKColor m_color
Definition IWORKTypes.h:282
IWORKTabStop()
Definition IWORKTypes.cpp:88
double m_pos
Definition IWORKTypes.h:113
IWORKTabulationType m_align
Definition IWORKTypes.h:112
IWORKTableCell()
Definition IWORKTypes.cpp:184
IWORKTableVector m_maxXBorder
Definition IWORKTypes.h:237
IWORKTableVector m_maxYBorder
Definition IWORKTypes.h:237
boost::optional< double > m_preferredHeight
Definition IWORKTypes.h:236
IWORKStylePtr_t m_style
Definition IWORKTypes.h:235
IWORKTableVector m_minXBorder
Definition IWORKTypes.h:237
IWORKTableVector m_minYBorder
Definition IWORKTypes.h:237
IWORKGridLineMap_t m_horizontalLines
Definition IWORKTypes.h:260
unsigned m_numColumns
Definition IWORKTypes.h:250
boost::optional< unsigned > m_rowSpan
Definition IWORKTypes.h:254
unsigned m_row
Definition IWORKTypes.h:249
std::unordered_map< double, unsigned > m_positionToVerticalLineMap
Definition IWORKTypes.h:263
IWORKGridLineMap_t m_verticalLines
Definition IWORKTypes.h:261
boost::optional< unsigned > m_formulaHC
Definition IWORKTypes.h:259
boost::optional< unsigned > m_cellMove
Definition IWORKTypes.h:255
std::unordered_map< double, unsigned > m_positionToHorizontalLineMap
Definition IWORKTypes.h:262
boost::optional< unsigned > m_columnSpan
Definition IWORKTypes.h:253
unsigned m_column
Definition IWORKTypes.h:248
IWORKFormulaPtr_t m_formula
Definition IWORKTypes.h:258
boost::optional< IWORKDateTimeData > m_dateTime
Definition IWORKTypes.h:257
IWORKTableData()
Definition IWORKTypes.cpp:194
IWORKCellType m_type
Definition IWORKTypes.h:265
boost::optional< std::string > m_content
Definition IWORKTypes.h:256
unsigned m_numRows
Definition IWORKTypes.h:251
IWORKStylePtr_t m_style
Definition IWORKTypes.h:264
IWORKRowSizes_t m_rowSizes
Definition IWORKTypes.h:246
IWORKColumnSizes_t m_columnSizes
Definition IWORKTypes.h:245
Definition IWORKTypes.h:222
boost::optional< unsigned > m_beginCell
Definition IWORKTypes.h:226
boost::optional< double > m_along
Definition IWORKTypes.h:225
boost::optional< unsigned > m_axis
Definition IWORKTypes.h:224
IWORKStylePtr_t m_style
Definition IWORKTypes.h:228
IWORKTableVector()
Definition IWORKTypes.cpp:175
boost::optional< unsigned > m_endCell
Definition IWORKTypes.h:227
Definition IWORKTypes.h:454
IWORKLabelNumFormat m_format
Definition IWORKTypes.h:458
IWORKLabelNumFormatSurrounding m_suffix
Definition IWORKTypes.h:459
IWORKLabelNumFormatSurrounding m_prefix
Definition IWORKTypes.h:457
IWORKTextLabelFormat()
Definition IWORKTypes.cpp:370
bool m_tiered
Definition IWORKTypes.h:467
unsigned m_first
Definition IWORKTypes.h:468
IWORKTextLabel()
Definition IWORKTypes.cpp:377
IWORKTextLabelFormat m_format
Definition IWORKTypes.h:466
IWORKWrap()
Definition IWORKTypes.cpp:150
IWORKPathPtr_t m_path
Definition IWORKTypes.h:188
IWORKGeometryPtr_t m_geometry
Definition IWORKTypes.h:189