ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ#coding:utf-8 # Author: mozman -- # Purpose: pattern module # Created: 29.10.2010 # Copyright (C) 2010, Manfred Moitzi # License: MIT License from svgwrite.base import BaseElement from svgwrite.mixins import XLink, ViewBox, Transform, Presentation from svgwrite.utils import is_string class Pattern(BaseElement, XLink, ViewBox, Transform, Presentation): """ A pattern is used to fill or stroke an object using a pre-defined graphic object which can be replicated ("tiled") at fixed intervals in x and y to cover the areas to be painted. Patterns are defined using a `pattern` element and then referenced by properties `fill` and `stroke` on a given graphics element to indicate that the given element shall be filled or stroked with the referenced pattern. """ elementname = 'pattern' transformname = 'patternTransform' def __init__(self, insert=None, size=None, inherit=None, **extra): """ :param 2-tuple insert: base point of the pattern (**x**, **y**) :param 2-tuple size: size of the pattern (**width**, **height**) :param inherit: pattern inherits properties from `inherit` see: **xlink:href** """ super(Pattern, self).__init__(**extra) if insert is not None: self['x'] = insert[0] self['y'] = insert[1] if size is not None: self['width'] = size[0] self['height'] = size[1] if inherit is not None: if is_string(inherit): self.set_href(inherit) else: self.set_href(inherit.get_iri()) if self.debug: self.validator.check_all_svg_attribute_values(self.elementname, self.attribs) def get_paint_server(self, default='none'): """ Returns the of the gradient. """ return "%s %s" % (self.get_funciri(), default)