Commit bbb5abc
When computing the size of a widget always return values rounded up
When converting pixels to point there can be depending on the zoom level
be a fractional result.
Currently in all cases these result is converted into an integer using
`Math.round()` that will make values `+/-0.5` resulting in small values
to be round towards a smaller value.
While it is maybe valid for a _location_, when using points to express a
_dimension_ this is not okay as it will result in the reported (integer)
value to be to small leading to errors when the SWT API is then used
after performing additional computations maybe.
This now makes the following adjustments:
1. Introduce a rounding mode that allows different ways of rounding and
adds as a first step ROUND (the previous default) and UP (for always
round towards the largest integer)
2. Adjust the `Control` class to decide what mode is best in what
situation.
See
- #2381
- #21661 parent 5d2665d commit bbb5abc
File tree
24 files changed
+97
-49
lines changed- bundles/org.eclipse.swt
- Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd
- Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32
- Eclipse SWT
- common/org/eclipse/swt/graphics
- win32/org/eclipse/swt
- graphics
- internal
- widgets
- tests/org.eclipse.swt.tests.win32/JUnit Tests/org/eclipse/swt/tests/win32
24 files changed
+97
-49
lines changedLines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
154 | | - | |
| 154 | + | |
155 | 155 | | |
156 | 156 | | |
157 | 157 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
168 | | - | |
| 168 | + | |
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
987 | 987 | | |
988 | 988 | | |
989 | 989 | | |
990 | | - | |
| 990 | + | |
991 | 991 | | |
992 | 992 | | |
993 | 993 | | |
| |||
Lines changed: 11 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
138 | 139 | | |
139 | 140 | | |
140 | 141 | | |
141 | | - | |
| 142 | + | |
| 143 | + | |
142 | 144 | | |
143 | 145 | | |
144 | 146 | | |
145 | 147 | | |
146 | 148 | | |
147 | 149 | | |
148 | | - | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
149 | 156 | | |
150 | 157 | | |
151 | 158 | | |
| |||
159 | 166 | | |
160 | 167 | | |
161 | 168 | | |
162 | | - | |
| 169 | + | |
163 | 170 | | |
164 | 171 | | |
165 | 172 | | |
166 | 173 | | |
167 | | - | |
| 174 | + | |
168 | 175 | | |
169 | 176 | | |
170 | 177 | | |
| |||
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2036 | 2036 | | |
2037 | 2037 | | |
2038 | 2038 | | |
2039 | | - | |
| 2039 | + | |
2040 | 2040 | | |
2041 | 2041 | | |
2042 | 2042 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
232 | 232 | | |
233 | 233 | | |
234 | 234 | | |
235 | | - | |
| 235 | + | |
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
| |||
889 | 889 | | |
890 | 890 | | |
891 | 891 | | |
892 | | - | |
| 892 | + | |
893 | 893 | | |
894 | 894 | | |
895 | 895 | | |
| |||
Lines changed: 27 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
117 | 130 | | |
118 | 131 | | |
119 | 132 | | |
120 | 133 | | |
121 | 134 | | |
122 | | - | |
| 135 | + | |
123 | 136 | | |
124 | 137 | | |
125 | 138 | | |
| |||
219 | 232 | | |
220 | 233 | | |
221 | 234 | | |
222 | | - | |
| 235 | + | |
223 | 236 | | |
224 | 237 | | |
225 | 238 | | |
226 | 239 | | |
227 | 240 | | |
228 | | - | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
229 | 250 | | |
230 | 251 | | |
231 | 252 | | |
232 | 253 | | |
233 | | - | |
| 254 | + | |
234 | 255 | | |
235 | 256 | | |
236 | 257 | | |
237 | 258 | | |
238 | 259 | | |
239 | 260 | | |
240 | | - | |
241 | | - | |
| 261 | + | |
| 262 | + | |
242 | 263 | | |
243 | 264 | | |
244 | 265 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
219 | 219 | | |
220 | 220 | | |
221 | 221 | | |
222 | | - | |
| 222 | + | |
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
| |||
Lines changed: 9 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
620 | 620 | | |
621 | 621 | | |
622 | 622 | | |
623 | | - | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
624 | 626 | | |
625 | 627 | | |
626 | 628 | | |
| |||
1372 | 1374 | | |
1373 | 1375 | | |
1374 | 1376 | | |
1375 | | - | |
| 1377 | + | |
| 1378 | + | |
1376 | 1379 | | |
1377 | 1380 | | |
1378 | 1381 | | |
| |||
1528 | 1531 | | |
1529 | 1532 | | |
1530 | 1533 | | |
1531 | | - | |
| 1534 | + | |
1532 | 1535 | | |
1533 | 1536 | | |
1534 | 1537 | | |
| |||
3552 | 3555 | | |
3553 | 3556 | | |
3554 | 3557 | | |
3555 | | - | |
| 3558 | + | |
3556 | 3559 | | |
3557 | 3560 | | |
3558 | 3561 | | |
| |||
3815 | 3818 | | |
3816 | 3819 | | |
3817 | 3820 | | |
3818 | | - | |
| 3821 | + | |
3819 | 3822 | | |
3820 | 3823 | | |
3821 | 3824 | | |
| |||
4030 | 4033 | | |
4031 | 4034 | | |
4032 | 4035 | | |
4033 | | - | |
| 4036 | + | |
4034 | 4037 | | |
4035 | 4038 | | |
4036 | 4039 | | |
| |||
0 commit comments