Images for DVCS demo.
10 BLOBRADIUS = WIDTH / 4.0
11 LINEWIDTH = WIDTH / 12.0
19 surface.write_to_png(n)
20 surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, WIDTH, WIDTH)
21 ctx = cairo.Context(surface)
22 ctx.set_line_width(LINEWIDTH)
24 # ctx.set_source_rgb(1,1,1)
26 # ctx.set_source_rgb(0,0,0)
30 if n & 1: ctx.line_to(MID, 0); ctx.stroke()
32 if n & 2: ctx.line_to(0, MID); ctx.stroke()
34 if n & 4: ctx.line_to(MID, WIDTH); ctx.stroke()
36 if n & 8: ctx.line_to(WIDTH, MID); ctx.stroke()
38 ctx.arc(MID, MID, BLOBRADIUS, 0, pi * 2)
40 ctx.set_source_rgb(1,1,1)
41 ctx.arc(MID, MID, BLOBRADIUS - LINEWIDTH, 0, pi * 2)
44 reset("blob_%d.png" % n)
50 ctx.line_to(MID, MID - BLOBRADIUS - LINEWIDTH / 4)
52 ctx.move_to(MID, MID - LINEWIDTH / 4)
53 ctx.line_to(MID, WIDTH)
58 ctx.line_to(MID - BLOBRADIUS + LINEWIDTH, MID)
59 ctx.curve_to(MID - BLOBRADIUS + LINEWIDTH, MID - BLOBRADIUS,
60 MID + BLOBRADIUS - LINEWIDTH, MID - BLOBRADIUS,
61 MID + BLOBRADIUS - LINEWIDTH, MID)
62 ctx.line_to(WIDTH, MID)
65 ctx.arc(0, WIDTH, WIDTH/2, pi / 2, 0)
68 ctx.arc(WIDTH, WIDTH, WIDTH/2, pi, 3 * pi / 2)
70 reset("stick_%d.png" % n)
82 ctx.move_to(WIDTH, MID)
83 ctx.line_to(MID, WIDTH)