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

Generated for libetonyek by doxygen 1.8.3.1