IWORKTypes.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 IWORKTYPES_H_INCLUDED
11 #define IWORKTYPES_H_INCLUDED
12 
13 #include "IWORKTypes_fwd.h"
14 
15 #include <deque>
16 
17 #include <boost/optional.hpp>
18 
19 #include "libetonyek_utils.h"
20 #include "IWORKPath_fwd.h"
21 #include "IWORKStyle_fwd.h"
22 
23 namespace libetonyek
24 {
25 
26 struct IWORKSize
27 {
28  double m_width;
29  double m_height;
30 
31  IWORKSize();
32  IWORKSize(double w, double h);
33 };
34 
36 {
37  double m_x;
38  double m_y;
39 
40  IWORKPosition();
41  IWORKPosition(double x_, double y_);
42 };
43 
45 {
49  boost::optional<double> m_angle;
50  boost::optional<double> m_shearXAngle;
51  boost::optional<double> m_shearYAngle;
52  boost::optional<bool> m_horizontalFlip;
53  boost::optional<bool> m_verticalFlip;
54  boost::optional<bool> m_aspectRatioLocked;
55  boost::optional<bool> m_sizesLocked;
56 
57  IWORKGeometry();
58 };
59 
60 struct IWORKColor
61 {
62  double m_red;
63  double m_green;
64  double m_blue;
65  double m_alpha;
66 
67  IWORKColor();
68  IWORKColor(double r, double g, double b, double a);
69 };
70 
72 {
73  boost::optional<int> m_top;
74  boost::optional<int> m_right;
75  boost::optional<int> m_bottom;
76  boost::optional<int> m_left;
77 
78  IWORKPadding();
79 };
80 
82 {
83  double m_pos;
84 
85  explicit IWORKTabStop(double pos_);
86 };
87 
88 typedef std::deque<IWORKTabStop> IWORKTabStops_t;
89 typedef boost::unordered_map<ID_t, IWORKTabStops_t> IWORKTabStopsMap_t;
90 
91 struct IWORKLine
92 {
95  boost::optional<double> m_x1;
96  boost::optional<double> m_y1;
97  boost::optional<double> m_x2;
98  boost::optional<double> m_y2;
99 
100  IWORKLine();
101 };
102 
103 struct IWORKData
104 {
106  boost::optional<std::string> m_displayName;
107  boost::optional<int> m_type;
108 
109  IWORKData();
110 };
111 
113 {
114  boost::optional<IWORKSize> m_size;
116 
118 };
119 
121 {
122  boost::optional<IWORKSize> m_size;
123  boost::optional<std::string> m_path;
124  boost::optional<std::string> m_type;
125  boost::optional<unsigned> m_dataSize;
126 
127  IWORKBinary();
128 };
129 
131 {
132  boost::optional<bool> m_locked;
134  boost::optional<IWORKBinary> m_binary;
135 
136  IWORKImage();
137 };
138 
140 {
143  boost::optional<bool> m_placeholder;
144  boost::optional<IWORKSize> m_placeholderSize;
146 
147  IWORKMedia();
148 };
149 
150 struct IWORKWrap
151 {
154 
155  IWORKWrap();
156 };
157 
159 {
160  IWORKLineSpacing(double value, bool relative);
161 
162  double m_value;
164 };
165 
166 }
167 
168 #endif // IWORKTYPES_H_INCLUDED
169 
170 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
boost::optional< double > m_x1
Definition: IWORKTypes.h:95
Definition: IWORKColorElement.cpp:19
double m_blue
Definition: IWORKTypes.h:64
IWORKPadding()
Definition: IWORKTypes.cpp:71
IWORKColor()
Definition: IWORKTypes.cpp:55
boost::optional< double > m_angle
Definition: IWORKTypes.h:49
boost::optional< double > m_shearXAngle
Definition: IWORKTypes.h:50
boost::shared_ptr< IWORKMediaContent > IWORKMediaContentPtr_t
Definition: IWORKTypes_fwd.h:42
boost::optional< bool > m_horizontalFlip
Definition: IWORKTypes.h:52
Definition: IWORKTypes.h:60
boost::optional< bool > m_sizesLocked
Definition: IWORKTypes.h:55
IWORKMediaContentPtr_t m_content
Definition: IWORKTypes.h:145
boost::optional< int > m_bottom
Definition: IWORKTypes.h:75
boost::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition: IWORKStyle_fwd.h:21
Definition: IWORKTypes.h:130
IWORKPosition()
Definition: IWORKTypes.cpp:29
IWORKStylePtr_t m_style
Definition: IWORKTypes.h:94
Definition: IWORKTypes.h:103
boost::optional< int > m_type
Definition: IWORKTypes.h:107
IWORKGeometry()
Definition: IWORKTypes.cpp:41
boost::optional< IWORKSize > m_placeholderSize
Definition: IWORKTypes.h:144
Definition: IWORKToken.h:201
IWORKSize()
Definition: IWORKTypes.cpp:17
IWORKSize m_naturalSize
Definition: IWORKTypes.h:46
boost::optional< IWORKSize > m_size
Definition: IWORKTypes.h:122
double m_value
Definition: IWORKTypes.h:162
IWORKStylePtr_t m_style
Definition: IWORKTypes.h:142
Definition: IWORKTypes.h:150
boost::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition: IWORKTypes_fwd.h:29
Definition: IWORKTypes.h:91
Definition: IWORKTypes.h:26
double m_width
Definition: IWORKTypes.h:28
Definition: IWORKTypes.h:158
IWORKData()
Definition: IWORKTypes.cpp:94
double m_x
Definition: IWORKTypes.h:37
boost::optional< unsigned > m_dataSize
Definition: IWORKTypes.h:125
IWORKGeometryPtr_t m_geometry
Definition: IWORKTypes.h:133
IWORKWrap()
Definition: IWORKTypes.cpp:131
IWORKSize m_size
Definition: IWORKTypes.h:47
std::deque< IWORKTabStop > IWORKTabStops_t
Definition: IWORKTypes.h:88
Definition: IWORKTypes.h:71
IWORKGeometryPtr_t m_geometry
Definition: IWORKTypes.h:93
IWORKLineSpacing(double value, bool relative)
Definition: IWORKTypes.cpp:137
Definition: IWORKToken.h:235
boost::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition: IWORKPath_fwd.h:19
Definition: IWORKTypes.h:81
IWORKDataPtr_t m_data
Definition: IWORKTypes.h:115
boost::optional< bool > m_placeholder
Definition: IWORKTypes.h:143
Definition: IWORKToken.h:206
IWORKPosition m_position
Definition: IWORKTypes.h:48
bool m_relative
Definition: IWORKTypes.h:163
boost::shared_ptr< IWORKData > IWORKDataPtr_t
Definition: IWORKTypes_fwd.h:37
boost::optional< IWORKSize > m_size
Definition: IWORKTypes.h:114
Definition: IWORKTypes.h:112
boost::optional< bool > m_aspectRatioLocked
Definition: IWORKTypes.h:54
Definition: IWORKToken.h:97
Definition: IWORKTypes.h:120
Definition: IWORKToken.h:155
RVNGInputStreamPtr_t m_stream
Definition: IWORKTypes.h:105
IWORKBinary()
Definition: IWORKTypes.cpp:107
Definition: IWORKToken.h:214
boost::optional< int > m_right
Definition: IWORKTypes.h:74
boost::optional< std::string > m_type
Definition: IWORKTypes.h:124
Definition: IWORKTypes.h:35
boost::optional< bool > m_verticalFlip
Definition: IWORKTypes.h:53
double m_height
Definition: IWORKTypes.h:29
boost::optional< double > m_y2
Definition: IWORKTypes.h:98
IWORKMediaContent()
Definition: IWORKTypes.cpp:101
boost::optional< std::string > m_displayName
Definition: IWORKTypes.h:106
IWORKGeometryPtr_t m_geometry
Definition: IWORKTypes.h:153
IWORKImage()
Definition: IWORKTypes.cpp:115
boost::optional< double > m_shearYAngle
Definition: IWORKTypes.h:51
Definition: IWORKTypes.h:44
boost::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libetonyek_utils.h:99
Definition: IWORKToken.h:245
IWORKPathPtr_t m_path
Definition: IWORKTypes.h:152
boost::unordered_map< ID_t, IWORKTabStops_t > IWORKTabStopsMap_t
Definition: IWORKTypes.h:89
boost::optional< IWORKBinary > m_binary
Definition: IWORKTypes.h:134
boost::optional< double > m_y1
Definition: IWORKTypes.h:96
double m_y
Definition: IWORKTypes.h:38
boost::optional< std::string > m_path
Definition: IWORKTypes.h:123
IWORKMedia()
Definition: IWORKTypes.cpp:122
double m_green
Definition: IWORKTypes.h:63
boost::optional< int > m_left
Definition: IWORKTypes.h:76
boost::optional< bool > m_locked
Definition: IWORKTypes.h:132
double m_alpha
Definition: IWORKTypes.h:65
boost::optional< double > m_x2
Definition: IWORKTypes.h:97
double m_pos
Definition: IWORKTypes.h:83
double m_red
Definition: IWORKTypes.h:62
IWORKGeometryPtr_t m_geometry
Definition: IWORKTypes.h:141
boost::optional< int > m_top
Definition: IWORKTypes.h:73
Definition: IWORKTypes.h:139
IWORKLine()
Definition: IWORKTypes.cpp:84
IWORKTabStop(double pos_)
Definition: IWORKTypes.cpp:79

Generated for libetonyek by doxygen 1.8.8