188
|
1 module qt.core.QPoint;
|
|
2
|
|
3 public import qt.QGlobal;
|
|
4 public import qt.core.Qt;
|
|
5 public import qt.core.QDataStream;
|
|
6
|
|
7
|
|
8 public struct QPoint
|
|
9 {
|
|
10
|
|
11 // Functions
|
|
12 public static QPoint opCall() {
|
|
13 QPoint pt;
|
|
14 pt.xp = pt.yp = 0;
|
|
15 return pt;
|
|
16 }
|
|
17
|
|
18 public this(int xpos, int ypos) {
|
|
19 xp = xpos;
|
|
20 yp = ypos;
|
|
21 }
|
|
22
|
|
23 bool isNull() // const
|
|
24 { return xp == 0 && yp == 0; }
|
|
25
|
|
26 int x() // const
|
|
27 { return xp; }
|
|
28
|
|
29 int y() // const
|
|
30 { return yp; }
|
|
31
|
|
32 void x(int xpos)
|
|
33 { xp = xpos; }
|
|
34
|
|
35 void y(int ypos)
|
|
36 { yp = ypos; }
|
|
37
|
|
38 void setX(int xpos) // for convenience
|
|
39 { xp = xpos; }
|
|
40
|
|
41 void setY(int ypos) // for convenience
|
|
42 { yp = ypos; }
|
|
43
|
|
44 public final int manhattanLength() {
|
|
45 return qtd_QPoint_manhattanLength(&this);
|
|
46 }
|
|
47 /*
|
|
48 inline int &rx()
|
|
49 { return xp; }
|
|
50
|
|
51 inline int &ry()
|
|
52 { return yp; }
|
|
53 */
|
|
54
|
|
55 QPoint opAddAssign(ref QPoint p)
|
|
56 { xp+=p.xp; yp+=p.yp; return this; }
|
|
57
|
|
58 QPoint opSubAssign(ref QPoint p)
|
|
59 { xp-=p.xp; yp-=p.yp; return this; }
|
|
60
|
|
61 QPoint opMulAssign(qreal c)
|
|
62 { xp = qRound(xp*c); yp = qRound(yp*c); return this; }
|
|
63
|
|
64 bool opEquals(ref QPoint p)
|
|
65 { return xp == p.xp && yp == p.yp; }
|
|
66
|
|
67 QPoint opAdd(ref QPoint p)
|
|
68 { return QPoint(this.xp+p.xp, this.yp+p.yp); }
|
|
69
|
|
70 QPoint opSub(ref QPoint p)
|
|
71 { return QPoint(this.xp-p.xp, this.yp-p.yp); }
|
|
72
|
|
73 QPoint opMul(qreal c)
|
|
74 { return QPoint(qRound(this.xp*c), qRound(this.yp*c)); }
|
|
75
|
|
76 QPoint opDivAssign(qreal c)
|
|
77 {
|
|
78 xp = qRound(xp/c);
|
|
79 yp = qRound(yp/c);
|
|
80 return this;
|
|
81 }
|
|
82
|
|
83 QPoint opDiv(qreal c)
|
|
84 {
|
|
85 return QPoint(qRound(this.xp/c), qRound(this.yp/c));
|
|
86 }
|
|
87
|
|
88 public final void writeTo(QDataStream arg__1) {
|
|
89 qtd_QPoint_writeTo_QDataStream(&this, arg__1 is null ? null : arg__1.nativeId);
|
|
90 }
|
|
91
|
|
92 public final void readFrom(QDataStream arg__1) {
|
|
93 qtd_QPoint_readFrom_QDataStream(&this, arg__1 is null ? null : arg__1.nativeId);
|
|
94 }
|
|
95
|
|
96 private:
|
|
97 // ### Qt 5; remove the ifdef and just have the same order on all platforms.
|
|
98 version(OSX)
|
|
99 {
|
|
100 int yp;
|
|
101 int xp;
|
|
102 }
|
|
103 else
|
|
104 {
|
|
105 int xp;
|
|
106 int yp;
|
|
107 }
|
|
108 }
|
|
109
|
|
110
|
|
111 public struct QPointF
|
|
112 {
|
|
113 public static QPointF opCall() {
|
|
114 QPointF pt;
|
|
115 pt.xp = pt.yp = 0;
|
|
116 return pt;
|
|
117 }
|
|
118
|
|
119 public this(qreal xpos, qreal ypos) {
|
|
120 xp = xpos;
|
|
121 yp = ypos;
|
|
122 }
|
|
123
|
|
124 public this(QPoint p) {
|
|
125 xp = p.x();
|
|
126 yp = p.y();
|
|
127 }
|
|
128
|
|
129 bool isNull() //const
|
|
130 {
|
|
131 return qIsNull(xp) && qIsNull(yp);
|
|
132 }
|
|
133
|
|
134 qreal x() //const
|
|
135 {
|
|
136 return xp;
|
|
137 }
|
|
138
|
|
139 qreal y() //const
|
|
140 {
|
|
141 return yp;
|
|
142 }
|
|
143
|
|
144 void x(qreal xpos)
|
|
145 {
|
|
146 xp = xpos;
|
|
147 }
|
|
148
|
|
149 void y(qreal ypos)
|
|
150 {
|
|
151 yp = ypos;
|
|
152 }
|
|
153 /*
|
|
154 inline qreal &QPointF::rx()
|
|
155 {
|
|
156 return xp;
|
|
157 }
|
|
158
|
|
159 inline qreal &QPointF::ry()
|
|
160 {
|
|
161 return yp;
|
|
162 }
|
|
163 */
|
|
164
|
|
165 QPointF opAddAssign(ref QPointF p)
|
|
166 { xp+=p.xp; yp+=p.yp; return this; }
|
|
167
|
|
168 QPointF opSubAssign(ref QPointF p)
|
|
169 { xp-=p.xp; yp-=p.yp; return this; }
|
|
170
|
|
171 QPointF opMulAssign(qreal c)
|
|
172 { xp*=c; yp*=c; return this; }
|
|
173
|
|
174 bool opEquals(ref QPointF p)
|
|
175 { return qFuzzyCompare(xp, p.xp) && qFuzzyCompare(yp, p.yp); }
|
|
176
|
|
177 QPointF opAdd(ref QPointF p)
|
|
178 { return QPointF(this.xp+p.xp, this.yp+p.yp); }
|
|
179
|
|
180 QPointF opSub(ref QPointF p)
|
|
181 { return QPointF(this.xp-p.xp, this.yp-p.yp); }
|
|
182
|
|
183 QPointF opMul(qreal c)
|
|
184 { return QPointF(this.xp*c, this.yp*c); }
|
|
185
|
|
186 QPointF opDivAssign(qreal c)
|
|
187 {
|
|
188 xp/=c;
|
|
189 yp/=c;
|
|
190 return this;
|
|
191 }
|
|
192
|
|
193 QPointF opDiv(qreal c)
|
|
194 {
|
|
195 return QPointF(xp/c, yp/c);
|
|
196 }
|
|
197
|
|
198 QPoint toPoint() //const
|
|
199 {
|
|
200 return QPoint(qRound(xp), qRound(yp));
|
|
201 }
|
|
202
|
|
203 public final void writeTo(QDataStream arg__1) {
|
|
204 qtd_QPointF_writeTo_QDataStream(&this, arg__1 is null ? null : arg__1.nativeId);
|
|
205 }
|
|
206
|
|
207 public final void readFrom(QDataStream arg__1) {
|
|
208 qtd_QPointF_readFrom_QDataStream(&this, arg__1 is null ? null : arg__1.nativeId);
|
|
209 }
|
|
210
|
|
211 private:
|
|
212 qreal xp;
|
|
213 qreal yp;
|
|
214 }
|
|
215
|
|
216
|
|
217 // C wrappers
|
|
218 // QPoint
|
|
219 private extern(C) int qtd_QPoint_manhattanLength(void* __this_nativeId);
|
|
220 private extern(C) void qtd_QPoint_writeTo_QDataStream(void* __this_nativeId,
|
|
221 void* arg__1);
|
|
222 private extern(C) void qtd_QPoint_readFrom_QDataStream(void* __this_nativeId,
|
|
223 void* arg__1);
|
|
224
|
|
225 // QPointF
|
|
226 private extern(C) void qtd_QPointF_writeTo_QDataStream(void* __this_nativeId,
|
|
227 void* arg__1);
|
|
228 private extern(C) void qtd_QPointF_readFrom_QDataStream(void* __this_nativeId,
|
|
229 void* arg__1); |