KEYTypes.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 KEYTYPES_H_INCLUDED
11 #define KEYTYPES_H_INCLUDED
12 
13 #include <deque>
14 
15 #include <boost/optional.hpp>
16 
17 #include "libetonyek_utils.h"
18 #include "KEYObject.h"
19 #include "KEYPath_fwd.h"
20 #include "KEYStyle.h"
21 #include "KEYText_fwd.h"
22 #include "KEYTypes_fwd.h"
23 
24 namespace libetonyek
25 {
26 
27 struct KEYSize
28 {
29  double width;
30  double height;
31 
32  KEYSize();
33  KEYSize(double w, double h);
34 };
35 
37 {
38  double x;
39  double y;
40 
41  KEYPosition();
42  KEYPosition(double x_, double y_);
43 };
44 
46 {
50  boost::optional<double> angle;
51  boost::optional<double> shearXAngle;
52  boost::optional<double> shearYAngle;
53  boost::optional<bool> horizontalFlip;
54  boost::optional<bool> verticalFlip;
55  boost::optional<bool> aspectRatioLocked;
56  boost::optional<bool> sizesLocked;
57 
58  KEYGeometry();
59 };
60 
61 struct KEYColor
62 {
63  double red;
64  double green;
65  double blue;
66  double alpha;
67 
68  KEYColor();
69  KEYColor(double r, double g, double b, double a);
70 };
71 
72 struct KEYPadding
73 {
74  boost::optional<int> top;
75  boost::optional<int> right;
76  boost::optional<int> bottom;
77  boost::optional<int> left;
78 
79  KEYPadding();
80 };
81 
82 struct KEYLine
83 {
86  boost::optional<double> x1;
87  boost::optional<double> y1;
88  boost::optional<double> x2;
89  boost::optional<double> y2;
90 
91  KEYLine();
92 };
93 
94 struct KEYData
95 {
97  boost::optional<std::string> displayName;
98  boost::optional<int> type;
99 
100  KEYData();
101 };
102 
104 {
105  boost::optional<KEYSize> size;
107 
108  KEYMediaContent();
109 };
110 
111 struct KEYBinary
112 {
113  boost::optional<KEYSize> size;
114  boost::optional<std::string> path;
115  boost::optional<std::string> type;
116  boost::optional<unsigned> dataSize;
117 
118  KEYBinary();
119 };
120 
121 struct KEYImage
122 {
123  boost::optional<bool> locked;
125  boost::optional<KEYBinary> binary;
126 
127  KEYImage();
128 };
129 
130 struct KEYMedia
131 {
134  boost::optional<bool> placeholder;
135  boost::optional<KEYSize> placeholderSize;
137 
138  KEYMedia();
139 };
140 
141 struct KEYWrap
142 {
145 
146  KEYWrap();
147 };
148 
149 struct KEYGroup
150 {
152 
153  KEYGroup();
154 };
155 
156 struct KEYLayer
157 {
158  boost::optional<std::string> type;
160 
161  KEYLayer();
162 };
163 
165 {
166  boost::optional<bool> title;
167  boost::optional<bool> empty;
171 
172  KEYPlaceholder();
173 };
174 
176 {
179 
180  KEYStickyNote();
182 };
183 
184 typedef std::deque<KEYStickyNote> KEYStickyNotes_t;
185 
187 {
188  double pos;
189 
190  explicit KEYTabStop(double pos_);
191 };
192 
193 typedef std::deque<KEYTabStop> KEYTabStops_t;
194 
200 
201 }
202 
203 #endif // KEYTYPES_H_INCLUDED
204 
205 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition: KEY2Token.h:220
boost::shared_ptr< KEYGraphicStyle > KEYGraphicStylePtr_t
Definition: KEYStyles_fwd.h:36
KEYImage()
Definition: KEYTypes.cpp:191
std::deque< KEYStickyNote > KEYStickyNotes_t
Definition: KEYTypes.h:184
double green
Definition: KEYTypes.h:64
KEYTextPtr_t text
Definition: KEYTypes.h:170
Definition: KEY2Token.h:373
KEYPosition()
Definition: KEYTypes.cpp:110
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:124
KEYColor()
Definition: KEYTypes.cpp:136
Definition: KEY2Token.h:212
double blue
Definition: KEYTypes.h:65
boost::optional< double > shearXAngle
Definition: KEYTypes.h:51
Definition: KEYTypes.h:94
boost::optional< std::string > displayName
Definition: KEYTypes.h:97
boost::optional< std::string > type
Definition: KEYTypes.h:158
boost::optional< std::string > type
Definition: KEYTypes.h:115
boost::optional< bool > title
Definition: KEYTypes.h:166
std::deque< KEYTabStop > KEYTabStops_t
Definition: KEYTypes.h:193
KEYStickyNote()
Definition: KEYTypes.cpp:233
Definition: KEYTypes.h:82
Definition: KEY2Token.h:915
KEYMediaContent()
Definition: KEYTypes.cpp:177
boost::shared_ptr< KEYStyle > KEYStylePtr_t
Definition: KEYStyle.h:49
Definition: KEYTypes.h:164
boost::shared_ptr< KEYMedia > KEYMediaPtr_t
Definition: KEYTypes_fwd.h:48
KEYObjectList_t objects
Definition: KEYTypes.h:159
double alpha
Definition: KEYTypes.h:66
KEYWrap()
Definition: KEYTypes.cpp:207
double y
Definition: KEYTypes.h:39
KEYGeometry()
Definition: KEYTypes.cpp:122
Definition: KEYTypes.h:72
boost::shared_ptr< KEYData > KEYDataPtr_t
Definition: KEYTypes_fwd.h:33
boost::shared_ptr< KEYPlaceholder > KEYPlaceholderPtr_t
Definition: KEYTypes_fwd.h:65
boost::optional< KEYSize > placeholderSize
Definition: KEYTypes.h:135
double red
Definition: KEYTypes.h:63
Definition: KEYTypes.h:121
KEYObjectList_t objects
Definition: KEYTypes.h:151
boost::shared_ptr< KEYMediaContent > KEYMediaContentPtr_t
Definition: KEYTypes_fwd.h:38
boost::optional< bool > horizontalFlip
Definition: KEYTypes.h:53
boost::shared_ptr< KEYPath > KEYPathPtr_t
Definition: KEYPath_fwd.h:17
KEYTabStop(double pos_)
Definition: KEYTypes.cpp:245
boost::optional< int > right
Definition: KEYTypes.h:75
KEYData()
Definition: KEYTypes.cpp:170
boost::shared_ptr< KEYText > KEYTextPtr_t
Definition: KEYText_fwd.h:16
boost::shared_ptr< KEYObject > KEYObjectPtr_t
Definition: KEYObject.h:44
boost::optional< bool > verticalFlip
Definition: KEYTypes.h:54
Definition: KEY2Token.h:1057
boost::optional< bool > sizesLocked
Definition: KEYTypes.h:56
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:84
boost::optional< double > x1
Definition: KEYTypes.h:86
WPXInputStreamPtr_t stream
Definition: KEYTypes.h:96
Definition: KEYTypes.h:156
KEYLine()
Definition: KEYTypes.cpp:160
KEYMedia()
Definition: KEYTypes.cpp:198
Definition: KEY1Token.h:51
boost::optional< KEYSize > size
Definition: KEYTypes.h:105
boost::shared_ptr< WPXInputStream > WPXInputStreamPtr_t
Definition: libetonyek_utils.h:88
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:169
boost::optional< bool > aspectRatioLocked
Definition: KEYTypes.h:55
boost::optional< int > left
Definition: KEYTypes.h:77
boost::optional< int > bottom
Definition: KEYTypes.h:76
Definition: KEYTypes.h:27
boost::optional< bool > empty
Definition: KEYTypes.h:167
Definition: KEY2Token.h:315
KEYMediaContentPtr_t content
Definition: KEYTypes.h:136
boost::optional< double > shearYAngle
Definition: KEYTypes.h:52
KEYSize naturalSize
Definition: KEYTypes.h:47
KEYLayer()
Definition: KEYTypes.cpp:218
Definition: KEY1Token.h:49
KEYPosition position
Definition: KEYTypes.h:49
boost::optional< double > x2
Definition: KEYTypes.h:88
KEYObjectPtr_t makeObject(const KEYShapePtr_t &shape)
Object creator function for shape.
Definition: KEYShape.cpp:87
KEYPadding()
Definition: KEYTypes.cpp:152
boost::shared_ptr< KEYPlaceholderStyle > KEYPlaceholderStylePtr_t
Definition: KEYStyles_fwd.h:56
KEYStylePtr_t style
Definition: KEYTypes.h:85
double pos
Definition: KEYTypes.h:188
boost::optional< int > type
Definition: KEYTypes.h:98
boost::shared_ptr< KEYImage > KEYImagePtr_t
Definition: KEYTypes_fwd.h:43
double width
Definition: KEYTypes.h:29
KEYGroup()
Definition: KEYTypes.cpp:213
boost::shared_ptr< KEYLine > KEYLinePtr_t
Definition: KEYTypes_fwd.h:29
boost::optional< double > angle
Definition: KEYTypes.h:50
KEYBinary()
Definition: KEYTypes.cpp:183
Definition: KEYTypes.h:186
KEYPathPtr_t path
Definition: KEYTypes.h:143
Definition: KEYTypes.h:130
KEYTextPtr_t text
Definition: KEYTypes.h:178
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:177
Definition: KEY2Token.h:903
Definition: KEY2Token.h:982
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:132
boost::shared_ptr< KEYGeometry > KEYGeometryPtr_t
Definition: KEYTypes_fwd.h:25
double height
Definition: KEYTypes.h:30
Definition: KEYTypes.h:175
Definition: KEYTypes.h:103
boost::optional< bool > placeholder
Definition: KEYTypes.h:134
boost::optional< double > y1
Definition: KEYTypes.h:87
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:144
boost::optional< double > y2
Definition: KEYTypes.h:89
KEYSize()
Definition: KEYTypes.cpp:98
boost::optional< int > top
Definition: KEYTypes.h:74
Definition: KEYTypes.h:61
boost::optional< unsigned > dataSize
Definition: KEYTypes.h:116
KEYPlaceholderStylePtr_t style
Definition: KEYTypes.h:168
boost::optional< std::string > path
Definition: KEYTypes.h:114
KEYSize size
Definition: KEYTypes.h:48
Definition: KEYTypes.h:149
Definition: KEYTypes.h:111
KEYDataPtr_t data
Definition: KEYTypes.h:106
boost::optional< bool > locked
Definition: KEYTypes.h:123
std::deque< KEYObjectPtr_t > KEYObjectList_t
A list of presentation objects.
Definition: KEYObject.h:48
KEYPlaceholder()
Definition: KEYTypes.cpp:224
Definition: KEYTypes.h:36
Definition: KEYTypes.h:141
boost::optional< KEYSize > size
Definition: KEYTypes.h:113
boost::shared_ptr< KEYGroup > KEYGroupPtr_t
Definition: KEYTypes_fwd.h:56
KEYGraphicStylePtr_t style
Definition: KEYTypes.h:133
double x
Definition: KEYTypes.h:38
boost::optional< KEYBinary > binary
Definition: KEYTypes.h:125
Definition: KEY2Token.h:1116
Definition: KEYTypes.h:45

Generated for libetonyek by doxygen 1.8.7