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: */

Generated for libetonyek by doxygen 1.8.3.1