Module pattern

This module contains the pattern.pattern class, whichs allows the definition of PostScript Tiling patterns (cf. Sect. 4.9 of the PostScript Language Reference Manual) which may then be used to fill paths. In addition, a number of predefined hatch patterns are included.

Class pattern

The classes pattern.pattern and canvas.canvas differ only in their constructor and in the absence of a writeEPSfile() method in the former. The pattern constructor accepts the following keyword arguments:

keyword

description

painttype

1 (default) for coloured patterns or 2 for uncoloured patterns

tilingtype

1 (default) for constant spacing tilings (patterns are spaced constantly by a multiple of a device pixel), 2 for undistorted pattern cell, whereby the spacing may vary by as much as one device pixel, or 3 for constant spacing and faster tiling which behaves as tiling type 1 but with additional distortion allowed to permit a more efficient implementation.

xstep

desired horizontal spacing between pattern cells, use None (default) for automatic calculation from pattern bounding box.

ystep

desired vertical spacing between pattern cells, use None (default) for automatic calculation from pattern bounding box.

bbox

bounding box of pattern. Use None for an automatic determination of the bounding box (including an enlargement by bboxenlarge pts on each side.)

trafo

additional transformation applied to pattern or None (default). This may be used to rotate the pattern or to shift its phase (by a translation).

bboxenlarge

enlargement when using the automatic bounding box determination; default is 5 pts.

After you have created a pattern instance, you define the pattern shape by drawing in it like in an ordinary canvas. To use the pattern, you simply pass the pattern instance to a stroke(), fill(), draw() or set() method of the canvas, just like you would do with a colour, etc.