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 {
49  boost::optional<double> angle;
50  boost::optional<double> shearXAngle;
51  boost::optional<double> shearYAngle;
52  boost::optional<bool> horizontalFlip;
53  boost::optional<bool> verticalFlip;
54  boost::optional<bool> aspectRatioLocked;
55  boost::optional<bool> sizesLocked;
56 
57  KEYGeometry();
58 };
59 
60 struct KEYColor
61 {
62  double red;
63  double green;
64  double blue;
65  double alpha;
66 
67  KEYColor();
68  KEYColor(double r, double g, double b, double a);
69 };
70 
71 struct KEYPadding
72 {
73  boost::optional<int> top;
74  boost::optional<int> right;
75  boost::optional<int> bottom;
76  boost::optional<int> left;
77 
78  KEYPadding();
79 };
80 
81 struct KEYLine
82 {
85  boost::optional<double> x1;
86  boost::optional<double> y1;
87  boost::optional<double> x2;
88  boost::optional<double> y2;
89 
90  KEYLine();
91 };
92 
93 struct KEYData
94 {
96  boost::optional<std::string> displayName;
97  boost::optional<int> type;
98 
99  KEYData();
100 };
101 
103 {
104  boost::optional<KEYSize> size;
106 
107  KEYMediaContent();
108 };
109 
110 struct KEYBinary
111 {
112  boost::optional<KEYSize> size;
113  boost::optional<std::string> path;
114  boost::optional<std::string> type;
115  boost::optional<unsigned> dataSize;
116 
117  KEYBinary();
118 };
119 
120 struct KEYImage
121 {
122  boost::optional<bool> locked;
124  boost::optional<KEYBinary> binary;
125 
126  KEYImage();
127 };
128 
129 struct KEYMedia
130 {
133  boost::optional<bool> placeholder;
134  boost::optional<KEYSize> placeholderSize;
136 
137  KEYMedia();
138 };
139 
140 struct KEYWrap
141 {
144 
145  KEYWrap();
146 };
147 
148 struct KEYGroup
149 {
151 
152  KEYGroup();
153 };
154 
155 struct KEYLayer
156 {
157  boost::optional<std::string> type;
159 
160  KEYLayer();
161 };
162 
164 {
165  boost::optional<bool> title;
166  boost::optional<bool> empty;
170 
171  KEYPlaceholder();
172 };
173 
179 
180 }
181 
182 #endif // KEYTYPES_H_INCLUDED
183 
184 /* 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:190
double green
Definition: KEYTypes.h:63
KEYTextPtr_t text
Definition: KEYTypes.h:169
Definition: KEY2Token.h:373
KEYPosition()
Definition: KEYTypes.cpp:110
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:123
KEYColor()
Definition: KEYTypes.cpp:135
Definition: KEY2Token.h:212
double blue
Definition: KEYTypes.h:64
boost::optional< double > shearXAngle
Definition: KEYTypes.h:50
Definition: KEYTypes.h:93
boost::optional< std::string > displayName
Definition: KEYTypes.h:96
boost::optional< std::string > type
Definition: KEYTypes.h:157
boost::optional< std::string > type
Definition: KEYTypes.h:114
boost::optional< bool > title
Definition: KEYTypes.h:165
Definition: KEYTypes.h:81
Definition: KEY2Token.h:914
KEYMediaContent()
Definition: KEYTypes.cpp:176
boost::shared_ptr< KEYStyle > KEYStylePtr_t
Definition: KEYStyle.h:49
Definition: KEYTypes.h:163
boost::shared_ptr< KEYMedia > KEYMediaPtr_t
Definition: KEYTypes_fwd.h:48
KEYObjectList_t objects
Definition: KEYTypes.h:158
double alpha
Definition: KEYTypes.h:65
KEYWrap()
Definition: KEYTypes.cpp:206
double y
Definition: KEYTypes.h:39
KEYGeometry()
Definition: KEYTypes.cpp:122
Definition: KEYTypes.h:71
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:134
double red
Definition: KEYTypes.h:62
Definition: KEYTypes.h:120
KEYObjectList_t objects
Definition: KEYTypes.h:150
boost::shared_ptr< KEYMediaContent > KEYMediaContentPtr_t
Definition: KEYTypes_fwd.h:38
boost::optional< bool > horizontalFlip
Definition: KEYTypes.h:52
boost::shared_ptr< KEYPath > KEYPathPtr_t
Definition: KEYPath_fwd.h:17
boost::optional< int > right
Definition: KEYTypes.h:74
KEYData()
Definition: KEYTypes.cpp:169
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:53
Definition: KEY2Token.h:1056
boost::optional< bool > sizesLocked
Definition: KEYTypes.h:55
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:83
boost::optional< double > x1
Definition: KEYTypes.h:85
WPXInputStreamPtr_t stream
Definition: KEYTypes.h:95
Definition: KEYTypes.h:155
KEYLine()
Definition: KEYTypes.cpp:159
KEYMedia()
Definition: KEYTypes.cpp:197
Definition: KEY1Token.h:51
boost::optional< KEYSize > size
Definition: KEYTypes.h:104
boost::shared_ptr< WPXInputStream > WPXInputStreamPtr_t
Definition: libetonyek_utils.h:88
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:168
boost::optional< bool > aspectRatioLocked
Definition: KEYTypes.h:54
boost::optional< int > left
Definition: KEYTypes.h:76
boost::optional< int > bottom
Definition: KEYTypes.h:75
Definition: KEYTypes.h:27
boost::optional< bool > empty
Definition: KEYTypes.h:166
Definition: KEY2Token.h:315
KEYMediaContentPtr_t content
Definition: KEYTypes.h:135
boost::optional< double > shearYAngle
Definition: KEYTypes.h:51
KEYSize naturalSize
Definition: KEYTypes.h:47
KEYLayer()
Definition: KEYTypes.cpp:217
Definition: KEY1Token.h:49
KEYPosition position
Definition: KEYTypes.h:48
boost::optional< double > x2
Definition: KEYTypes.h:87
KEYObjectPtr_t makeObject(const KEYShapePtr_t &shape)
Object creator function for shape.
Definition: KEYShape.cpp:87
KEYPadding()
Definition: KEYTypes.cpp:151
boost::shared_ptr< KEYPlaceholderStyle > KEYPlaceholderStylePtr_t
Definition: KEYStyles_fwd.h:56
KEYStylePtr_t style
Definition: KEYTypes.h:84
boost::optional< int > type
Definition: KEYTypes.h:97
boost::shared_ptr< KEYImage > KEYImagePtr_t
Definition: KEYTypes_fwd.h:43
double width
Definition: KEYTypes.h:29
KEYGroup()
Definition: KEYTypes.cpp:212
boost::shared_ptr< KEYLine > KEYLinePtr_t
Definition: KEYTypes_fwd.h:29
boost::optional< double > angle
Definition: KEYTypes.h:49
KEYBinary()
Definition: KEYTypes.cpp:182
KEYPathPtr_t path
Definition: KEYTypes.h:142
Definition: KEYTypes.h:129
Definition: KEY2Token.h:902
Definition: KEY2Token.h:981
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:131
boost::shared_ptr< KEYGeometry > KEYGeometryPtr_t
Definition: KEYTypes_fwd.h:25
double height
Definition: KEYTypes.h:30
Definition: KEYTypes.h:102
boost::optional< bool > placeholder
Definition: KEYTypes.h:133
boost::optional< double > y1
Definition: KEYTypes.h:86
KEYGeometryPtr_t geometry
Definition: KEYTypes.h:143
boost::optional< double > y2
Definition: KEYTypes.h:88
KEYSize()
Definition: KEYTypes.cpp:98
boost::optional< int > top
Definition: KEYTypes.h:73
Definition: KEYTypes.h:60
boost::optional< unsigned > dataSize
Definition: KEYTypes.h:115
KEYPlaceholderStylePtr_t style
Definition: KEYTypes.h:167
boost::optional< std::string > path
Definition: KEYTypes.h:113
Definition: KEYTypes.h:148
Definition: KEYTypes.h:110
KEYDataPtr_t data
Definition: KEYTypes.h:105
boost::optional< bool > locked
Definition: KEYTypes.h:122
std::deque< KEYObjectPtr_t > KEYObjectList_t
A list of presentation objects.
Definition: KEYObject.h:48
KEYPlaceholder()
Definition: KEYTypes.cpp:223
Definition: KEYTypes.h:36
Definition: KEYTypes.h:140
boost::optional< KEYSize > size
Definition: KEYTypes.h:112
boost::shared_ptr< KEYGroup > KEYGroupPtr_t
Definition: KEYTypes_fwd.h:56
KEYGraphicStylePtr_t style
Definition: KEYTypes.h:132
double x
Definition: KEYTypes.h:38
boost::optional< KEYBinary > binary
Definition: KEYTypes.h:124
Definition: KEY2Token.h:1115
Definition: KEYTypes.h:45

Generated for libetonyek by doxygen 1.8.5