This repository has been archived on 2023-03-25. You can view files and clone it, but cannot push or open issues or pull requests.
mightyscape-1.1-deprecated/extensions/fablabchemnitz/svgwrite/pattern.py
2020-08-30 12:36:33 +02:00

51 lines
1.9 KiB
Python

#!/usr/bin/env python
#coding:utf-8
# Author: mozman --<mozman@gmx.at>
# 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 <FuncIRI> of the gradient. """
return "%s %s" % (self.get_funciri(), default)