1# Version: 1
2# CheckVsReference: 5% (0 0 310 425)
3
4
5translate 10 10
6
7begin_block draw_lines
8  save
9    translate 50 50
10
11    save
12      setPen 0x7fff0000
13      drawLine 10 0 50 0
14      rotate 10
15      drawLine 10 0 50 0
16      rotate 10
17      drawLine 10 0 50 0
18      rotate 10
19      drawLine 10 0 50 0
20      rotate 10
21      drawLine 10 0 50 0
22      rotate 10
23      drawLine 10 0 50 0
24      rotate 10
25      drawLine 10 0 50 0
26      rotate 10
27      drawLine 10 0 50 0
28      rotate 10
29      drawLine 10 0 50 0
30      rotate 10
31      drawLine 10 0 50 0
32      rotate 10
33      drawLine 10 0 50 0
34      rotate 10
35      drawLine 10 0 50 0
36      rotate 10
37      drawLine 10 0 50 0
38      rotate 10
39      drawLine 10 0 50 0
40      rotate 10
41      drawLine 10 0 50 0
42      rotate 10
43      drawLine 10 0 50 0
44      rotate 10
45      drawLine 10 0 50 0
46      rotate 10
47      drawLine 10 0 50 0
48      rotate 10
49      drawLine 10 0 50 0
50      rotate 10
51      drawLine 10 0 50 0
52      rotate 10
53      drawLine 10 0 50 0
54      rotate 10
55      drawLine 10 0 50 0
56      rotate 10
57      drawLine 10 0 50 0
58      rotate 10
59      drawLine 10 0 50 0
60      rotate 10
61      drawLine 10 0 50 0
62      rotate 10
63      drawLine 10 0 50 0
64      rotate 10
65      drawLine 10 0 50 0
66      rotate 10
67      drawLine 10 0 50 0
68      rotate 10
69      drawLine 10 0 50 0
70      rotate 10
71      drawLine 10 0 50 0
72      rotate 10
73      drawLine 10 0 50 0
74      rotate 10
75      drawLine 10 0 50 0
76      rotate 10
77      drawLine 10 0 50 0
78      rotate 10
79      drawLine 10 0 50 0
80      rotate 10
81      drawLine 10 0 50 0
82      rotate 10
83      drawLine 10 0 50 0
84    restore
85
86    # and then draw the lines the other direction
87    save
88      setPen 0x7f0000ff
89      drawLine 50 0 10 0
90      rotate 10
91      drawLine 50 0 10 0
92      rotate 10
93      drawLine 50 0 10 0
94      rotate 10
95      drawLine 50 0 10 0
96      rotate 10
97      drawLine 50 0 10 0
98      rotate 10
99      drawLine 50 0 10 0
100      rotate 10
101      drawLine 50 0 10 0
102      rotate 10
103      drawLine 50 0 10 0
104      rotate 10
105      drawLine 50 0 10 0
106      rotate 10
107      drawLine 50 0 10 0
108      rotate 10
109      drawLine 50 0 10 0
110      rotate 10
111      drawLine 50 0 10 0
112      rotate 10
113      drawLine 50 0 10 0
114      rotate 10
115      drawLine 50 0 10 0
116      rotate 10
117      drawLine 50 0 10 0
118      rotate 10
119      drawLine 50 0 10 0
120      rotate 10
121      drawLine 50 0 10 0
122      rotate 10
123      drawLine 50 0 10 0
124      rotate 10
125      drawLine 50 0 10 0
126      rotate 10
127      drawLine 50 0 10 0
128      rotate 10
129      drawLine 50 0 10 0
130      rotate 10
131      drawLine 50 0 10 0
132      rotate 10
133      drawLine 50 0 10 0
134      rotate 10
135      drawLine 50 0 10 0
136      rotate 10
137      drawLine 50 0 10 0
138      rotate 10
139      drawLine 50 0 10 0
140      rotate 10
141      drawLine 50 0 10 0
142      rotate 10
143      drawLine 50 0 10 0
144      rotate 10
145      drawLine 50 0 10 0
146      rotate 10
147      drawLine 50 0 10 0
148      rotate 10
149      drawLine 50 0 10 0
150      rotate 10
151      drawLine 50 0 10 0
152      rotate 10
153      drawLine 50 0 10 0
154      rotate 10
155      drawLine 50 0 10 0
156      rotate 10
157      drawLine 50 0 10 0
158      rotate 10
159      drawLine 50 0 10 0
160    restore
161
162    # and now with a clip
163    save
164      setClipRect -30 -30 60 60
165      setPen 0x7f00ff00
166      drawLine 10 0 50 0
167      rotate 10
168      drawLine 10 0 50 0
169      rotate 10
170      drawLine 10 0 50 0
171      rotate 10
172      drawLine 10 0 50 0
173      rotate 10
174      drawLine 10 0 50 0
175      rotate 10
176      drawLine 10 0 50 0
177      rotate 10
178      drawLine 10 0 50 0
179      rotate 10
180      drawLine 10 0 50 0
181      rotate 10
182      drawLine 10 0 50 0
183      rotate 10
184      drawLine 10 0 50 0
185      rotate 10
186      drawLine 10 0 50 0
187      rotate 10
188      drawLine 10 0 50 0
189      rotate 10
190      drawLine 10 0 50 0
191      rotate 10
192      drawLine 10 0 50 0
193      rotate 10
194      drawLine 10 0 50 0
195      rotate 10
196      drawLine 10 0 50 0
197      rotate 10
198      drawLine 10 0 50 0
199      rotate 10
200      drawLine 10 0 50 0
201      rotate 10
202      drawLine 10 0 50 0
203      rotate 10
204      drawLine 10 0 50 0
205      rotate 10
206      drawLine 10 0 50 0
207      rotate 10
208      drawLine 10 0 50 0
209      rotate 10
210      drawLine 10 0 50 0
211      rotate 10
212      drawLine 10 0 50 0
213      rotate 10
214      drawLine 10 0 50 0
215      rotate 10
216      drawLine 10 0 50 0
217      rotate 10
218      drawLine 10 0 50 0
219      rotate 10
220      drawLine 10 0 50 0
221      rotate 10
222      drawLine 10 0 50 0
223      rotate 10
224      drawLine 10 0 50 0
225      rotate 10
226      drawLine 10 0 50 0
227      rotate 10
228      drawLine 10 0 50 0
229      rotate 10
230      drawLine 10 0 50 0
231      rotate 10
232      drawLine 10 0 50 0
233      rotate 10
234      drawLine 10 0 50 0
235      rotate 10
236      drawLine 10 0 50 0
237    restore
238
239  restore
240end_block
241
242save
243  translate 100 0
244  scale 2 2
245  repeat_block draw_lines
246restore
247
248translate 0 10
249
250save
251  translate 0 200
252  setRenderHint Antialiasing
253  repeat_block draw_lines
254restore
255
256save
257  translate 100 200
258  scale 2 2
259  setRenderHint Antialiasing
260  repeat_block draw_lines
261restore
262
263translate 320 0
264
265setPen black 0 solidline squarecap
266
267begin_block lines
268
269# 0 -> 45 degress
270drawLine 100 100 200 90
271drawLine 100 100 200 80
272drawLine 100 100 200 70
273drawLine 100 100 200 60
274drawLine 100 100 200 50
275drawLine 100 100 200 40
276drawLine 100 100 200 30
277drawLine 100 100 200 20
278drawLine 100 100 200 10
279
280# 45
281drawLine 100 100 200 0
282
283# 45 -> 90
284drawLine 100 100 190 0
285drawLine 100 100 180 0
286drawLine 100 100 170 0
287drawLine 100 100 160 0
288drawLine 100 100 150 0
289drawLine 100 100 140 0
290drawLine 100 100 130 0
291drawLine 100 100 120 0
292drawLine 100 100 110 0
293
294# 90
295drawLine 100 100 100 0
296
297# 90 -> 135
298drawLine 100 100 90 0
299drawLine 100 100 80 0
300drawLine 100 100 70 0
301drawLine 100 100 60 0
302drawLine 100 100 50 0
303drawLine 100 100 40 0
304drawLine 100 100 30 0
305drawLine 100 100 20 0
306drawLine 100 100 10 0
307
308# 135
309drawLine 100 100 0 0
310
311# 135 -> 180 degress
312drawLine 100 100 0 10
313drawLine 100 100 0 20
314drawLine 100 100 0 30
315drawLine 100 100 0 40
316drawLine 100 100 0 50
317drawLine 100 100 0 60
318drawLine 100 100 0 70
319drawLine 100 100 0 80
320drawLine 100 100 0 90
321
322# 180
323drawLine 100 100 0 100
324
325# 180 -> 225
326drawLine 100 100 0 110
327drawLine 100 100 0 120
328drawLine 100 100 0 130
329drawLine 100 100 0 140
330drawLine 100 100 0 150
331drawLine 100 100 0 160
332drawLine 100 100 0 170
333drawLine 100 100 0 180
334drawLine 100 100 0 190
335
336# 225
337drawLine 100 100 0 200
338
339# 225 -> 270
340drawLine 100 100 10 200
341drawLine 100 100 20 200
342drawLine 100 100 30 200
343drawLine 100 100 40 200
344drawLine 100 100 50 200
345drawLine 100 100 60 200
346drawLine 100 100 70 200
347drawLine 100 100 80 200
348drawLine 100 100 90 200
349
350# 270
351drawLine 100 100 100 200
352
353# 270 -> 315 degrees
354drawLine 100 100 110 200
355drawLine 100 100 120 200
356drawLine 100 100 130 200
357drawLine 100 100 140 200
358drawLine 100 100 150 200
359drawLine 100 100 160 200
360drawLine 100 100 170 200
361drawLine 100 100 180 200
362drawLine 100 100 190 200
363
364# 315
365drawLine 100 100 200 200
366
367# 315 -> 360 degress
368drawLine 100 100 200 100
369drawLine 100 100 200 110
370drawLine 100 100 200 120
371drawLine 100 100 200 130
372drawLine 100 100 200 140
373drawLine 100 100 200 150
374drawLine 100 100 200 160
375drawLine 100 100 200 170
376drawLine 100 100 200 180
377drawLine 100 100 200 190
378
379end_block
380
381
382setRenderHint Antialiasing
383setPen 0x7fff0000
384translate 0.5 0.5
385repeat_block lines
386
387setPen 0x000000 8
388translate 20 240
389drawText 0 0 "Steep slopes:"
390
391translate 0 10
392
393drawLine 0 0 -8 400
394translate 20 0
395drawLine 0 0 -7 400
396translate 20 0
397drawLine 0 0 -6 400
398translate 20 0
399drawLine 0 0 -5 400
400translate 20 0
401drawLine 0 0 -4 400
402translate 20 0
403drawLine 0 0 -3 400
404translate 20 0
405drawLine 0 0 -2 400
406translate 20 0
407drawLine 0 0 -1 400
408translate 20 0
409drawLine 0 0 0 400
410translate 20 0
411drawLine 0 0 1 400
412translate 20 0
413drawLine 0 0 2 400
414translate 20 0
415drawLine 0 0 3 400
416translate 20 0
417drawLine 0 0 4 400
418translate 20 0
419drawLine 0 0 5 400
420translate 20 0
421drawLine 0 0 6 400
422translate 20 0
423drawLine 0 0 7 400
424translate 20 0
425drawLine 0 0 8 400
426
427resetMatrix
428
429translate 20 450
430
431drawText 0 0 "Zero length lines:"
432
433translate 0 20
434drawText 100 10 "Square cap"
435save
436begin_block points
437setPen 0x000000 1 solidline squarecap
438drawLine 0 0 0 0
439setPen 0x000000 2 solidline squarecap
440drawLine 8 0 8 0
441setPen 0x000000 3 solidline squarecap
442drawLine 16 0 16 0
443setPen 0x000000 4 solidline squarecap
444drawLine 24 0 24 0
445setPen 0x000000 5 solidline squarecap
446drawLine 32 0 32 0
447setPen 0x000000 6 solidline squarecap
448drawLine 40 0 40 0
449setPen 0x000000 7 solidline squarecap
450drawLine 48 0 48 0
451setPen 0x000000 8 solidline squarecap
452drawLine 57 0 57 0
453setPen 0x000000 9 solidline squarecap
454drawLine 67 0 67 0
455setPen 0x000000 10 solidline squarecap
456drawLine 78 0 78 0
457end_block points
458restore
459
460translate 0 12
461setRenderHint Antialiasing off
462repeat_block points
463setRenderHint Antialiasing
464
465translate 0 20
466drawText 100 10 "Round cap"
467save
468begin_block points2
469setPen 0x000000 1 solidline roundcap
470drawLine 0 0 0 0
471setPen 0x000000 2 solidline roundcap
472drawLine 8 0 8 0
473setPen 0x000000 3 solidline roundcap
474drawLine 16 0 16 0
475setPen 0x000000 4 solidline roundcap
476drawLine 24 0 24 0
477setPen 0x000000 5 solidline roundcap
478drawLine 32 0 32 0
479setPen 0x000000 6 solidline roundcap
480drawLine 40 0 40 0
481setPen 0x000000 7 solidline roundcap
482drawLine 48 0 48 0
483setPen 0x000000 8 solidline roundcap
484drawLine 57 0 57 0
485setPen 0x000000 9 solidline roundcap
486drawLine 67 0 67 0
487setPen 0x000000 10 solidline roundcap
488drawLine 78 0 78 0
489end_block points2
490restore
491
492translate 0 12
493setRenderHint Antialiasing off
494repeat_block points2
495setRenderHint Antialiasing
496
497translate 0 20
498drawText 100 10 "Flat cap"
499save
500begin_block points3
501setPen 0x000000 1 solidline flatcap
502drawLine 0 0 0 0
503setPen 0x000000 2 solidline flatcap
504drawLine 8 0 8 0
505setPen 0x000000 3 solidline flatcap
506drawLine 16 0 16 0
507setPen 0x000000 4 solidline flatcap
508drawLine 24 0 24 0
509setPen 0x000000 5 solidline flatcap
510drawLine 32 0 32 0
511setPen 0x000000 6 solidline flatcap
512drawLine 40 0 40 0
513setPen 0x000000 7 solidline flatcap
514drawLine 48 0 48 0
515setPen 0x000000 8 solidline flatcap
516drawLine 57 0 57 0
517setPen 0x000000 9 solidline flatcap
518drawLine 67 0 67 0
519setPen 0x000000 10 solidline flatcap
520drawLine 78 0 78 0
521end_block points3
522restore
523
524translate 0 12
525setRenderHint Antialiasing off
526repeat_block points3
527
528resetMatrix
529translate -220 667.226
530drawText 230 -80 "Task 194266 (should see only one line):"
531setPen black
532drawRect 230.5 -70.5 122 12
533setRenderHint Antialiasing
534setPen red
535drawLine 236.842105263 -63.775117299 247.368421053 -63.775437504
536
537setRenderHint Antialiasing off
538resetMatrix
539translate 10 640
540setPen black
541drawText 0 -10 "Task 207147 (should see two lines):"
542drawRect 0.5 0.5 64 64
543setRenderHint Antialiasing
544setPen red
545
546drawLine 4.5 4.5 4.5001 60.5
547drawLine 4.5 4.5 60.5 4.5001
548
549setRenderHint Antialiasing off
550resetMatrix
551translate 10 730
552setPen black
553drawText 0 -10 "Task 229459 (should see one diagonal line):"
554drawRect 0.5 0.5 64 64
555setPen red 2 solidline flatcap
556
557setClipRect 2 2 63 63
558drawLine 1.5 1.5 33560000 33560000