/usr/share/doc/python-cairo/examples/hering.py is in python-cairo 1.8.8-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #!/usr/bin/env python
"""cairo/cairo-demo/png/hering.c translated into Python
"""
import math
import cairo
WIDTH = 300
HEIGHT = 600
def draw_hering (ctx, width, height):
LINES= 32
MAX_THETA = .80 * math.pi * 2
THETA_INC = 2.0 * MAX_THETA / (LINES-1)
ctx.set_source_rgb (0, 0, 0)
ctx.set_line_width (2.0)
ctx.save()
ctx.translate (width / 2, height / 2)
ctx.rotate (MAX_THETA)
for i in range (LINES):
ctx.move_to (-2 * width, 0)
ctx.line_to (2 * width, 0)
ctx.stroke()
ctx.rotate (- THETA_INC)
ctx.restore()
ctx.set_line_width (6)
ctx.set_source_rgb (1, 0, 0)
ctx.move_to (width / 4.0, 0)
ctx.rel_line_to (0, height)
ctx.stroke()
ctx.move_to (3 * width / 4.0, 0)
ctx.rel_line_to (0, height)
ctx.stroke()
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, WIDTH, HEIGHT)
ctx = cairo.Context(surface)
ctx.set_source_rgb (1, 1, 1)
ctx.set_operator (cairo.OPERATOR_SOURCE)
ctx.paint()
draw_hering (ctx, WIDTH, HEIGHT)
surface.write_to_png('hering.png')
|