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/solidcolor.py
2020-08-30 12:36:33 +02:00

42 lines
1.7 KiB
Python

#!/usr/bin/env python
#coding:utf-8
# Author: mozman --<mozman@gmx.at>
# Purpose: solidColor paint serve (Tiny 1.2 profile)
# Created: 26.10.2016
# Copyright (C) 2016, Manfred Moitzi
# License: MIT License
from svgwrite.base import BaseElement
from svgwrite.mixins import XLink
class SolidColor(BaseElement, XLink):
"""
The `solidColor` element is a paint server that provides a single color with opacity.
It can be referenced like the other paint servers (i.e. gradients).
The `color` parameter specifies the color that shall be used for this `solidColor` element.
The keyword ``"currentColor"`` can be specified in the same manner as within a <paint> specification for the `fill`
and `stroke` properties. The `opacity` parameter defines the opacity of the `solidColor`.
"""
elementname = 'solidColor'
def __init__(self, color="currentColor", opacity=None, **extra):
"""
:param color: solid color like the other paint servers (i.e. gradients).
:param float opacity: opacity of the solid color in the range `0.0` (fully transparent) to `1.0` (fully opaque)
"""
super(SolidColor, self).__init__(**extra)
if self.profile != 'tiny':
raise TypeError("Paint server 'solidColor' requires the Tiny SVG profile.")
self['solid-color'] = color
if opacity is not None:
self['solid-opacity'] = opacity
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)