reminder for 0.3.1 changes
[PyX/mjg.git] / test / functional / test_arrow.py
bloba3768bee13b11d978ccb7c00ea048772c4a43251
1 #!/usr/bin/env python
2 import sys; sys.path[:0] = ["../.."]
4 import pyx
5 from pyx import *
6 from pyx.path import *
7 import math
9 def testarrow(c):
10 c.stroke(path(moveto(10,20),
11 curveto(12,16,14,15,12,19),
12 rcurveto(-3,2,3,3,-2,4)),
13 canvas.barrow.small, canvas.earrow.normal)
15 c.stroke(path(arc(8,15,4,10,70)), canvas.barrow.small, canvas.earrow.normal)
16 c.stroke(path(arc(8,15,3,10,70)), canvas.barrow.small, canvas.earrow.normal)
17 c.stroke(path(arc(8,15,2,10,70)), canvas.barrow.small, canvas.earrow.normal)
18 c.stroke(path(arc(8,15,1,10,70)), canvas.barrow.small, canvas.earrow.normal)
19 c.stroke(path(arc(8,15,0.5,10,70)), canvas.barrow.small, canvas.earrow.normal)
21 base = 2
23 c.stroke(path(moveto(5,10), rlineto(5,0)),
24 canvas.barrow("%f t pt" % (base/math.sqrt(8)), constriction=None),
25 canvas.earrow.SMall)
26 c.stroke(path(moveto(5,10.5), rlineto(5,0)),
27 canvas.barrow("%f t pt" % (base/math.sqrt(4)), constriction=None),
28 canvas.earrow.Small)
29 c.stroke(path(moveto(5,11), rlineto(5,0)),
30 canvas.barrow("%f t pt" % (base/math.sqrt(2)), constriction=None),
31 canvas.earrow.small)
32 c.stroke(path(moveto(5,11.5), rlineto(5,0)),
33 canvas.barrow("%f t pt" % (base/math.sqrt(1)), constriction=None),
34 canvas.earrow.normal)
35 c.stroke(path(moveto(5,12), rlineto(5,0)),
36 canvas.barrow("%f t pt" % (base*math.sqrt(2)), constriction=None),
37 canvas.earrow.large)
38 c.stroke(path(moveto(5,12.5), rlineto(5,0)),
39 canvas.barrow("%f t pt" % (base*math.sqrt(4)), constriction=None),
40 canvas.earrow.Large)
41 c.stroke(path(moveto(5,13), rlineto(5,0)),
42 canvas.barrow("%f t pt" % (base*math.sqrt(8)), constriction=None),
43 canvas.earrow.LArge)
44 c.stroke(path(moveto(5,13.5), rlineto(5,0)),
45 canvas.barrow("%f t pt" % (base*math.sqrt(16)), constriction=None),
46 canvas.earrow.LARge)
48 lt = canvas.linewidth.THick
50 c.stroke(path(moveto(11,10), rlineto(5,0)),
51 lt,
52 canvas.barrow("%f t pt" % (base/math.sqrt(8)), constriction=None),
53 canvas.earrow.SMall)
54 c.stroke(path(moveto(11,10.5), rlineto(5,0)),
55 lt,
56 canvas.barrow("%f t pt" % (base/math.sqrt(4)), constriction=None),
57 canvas.earrow.Small)
58 c.stroke(path(moveto(11,11), rlineto(5,0)),
59 lt,
60 canvas.barrow("%f t pt" % (base/math.sqrt(2)), constriction=None),
61 canvas.earrow.small)
62 c.stroke(path(moveto(11,11.5), rlineto(5,0)),
63 lt,
64 canvas.barrow("%f t pt" % (base/math.sqrt(1)), constriction=None),
65 canvas.earrow.normal)
66 c.stroke(path(moveto(11,12), rlineto(5,0)),
67 lt,
68 canvas.barrow("%f t pt" % (base*math.sqrt(2)), constriction=None),
69 canvas.earrow.large)
70 c.stroke(path(moveto(11,12.5), rlineto(5,0)),
71 lt,
72 canvas.barrow("%f t pt" % (base*math.sqrt(4)), constriction=None),
73 canvas.earrow.Large)
74 c.stroke(path(moveto(11,13), rlineto(5,0)),
75 lt,
76 canvas.barrow("%f t pt" % (base*math.sqrt(8)), constriction=None),
77 canvas.earrow.LArge(canvas.linestyle.dashed, color.rgb.green))
78 c.stroke(path(moveto(11,13.5), rlineto(5,0)),
79 lt,
80 canvas.barrow("%f t pt" % (base*math.sqrt(16)), constriction=None),
81 canvas.earrow.LARge(color.rgb.red,
82 canvas.stroked(canvas.linejoin.round),
83 canvas.filled(color.rgb.blue)))
87 c=canvas.canvas()
88 testarrow(c)
89 c.writetofile("test_arrow", paperformat="a4", rotated=0, fittosize=1)