Programmatically generate SVG (vector) images, animations, and interactive Jupyter widgets

Add Group element to group other elements

Changed files
+13 -6
-6
defs.py
···
class DrawingDef(DrawingParentElement):
''' Parent class of SVG nodes that must be direct children of <defs> '''
-
@property
-
def id(self):
-
return self.args.get('id', None)
-
@id.setter
-
def id(self, newId):
-
self.args['id'] = newId
def getSvgDefs(self):
return (self,)
def writeSvgDefs(self, idGen, isDuplicate, outputFile):
+13
elements.py
···
hasContent = False
def __init__(self, **args):
self.args = args
+
@property
+
def id(self):
+
return self.args.get('id', None)
+
@id.setter
+
def id(self, newId):
+
self.args['id'] = newId
def writeSvgElement(self, outputFile):
outputFile.write('<')
outputFile.write(self.TAG_NAME)
···
if isinstance(other, type(self)):
return True
return False
+
+
class Group(DrawingParentElement):
+
''' A group of drawing elements
+
+
Any transform will apply to its children and other attributes will be
+
inherited by its children. '''
+
TAG_NAME = 'g'
class Image(DrawingBasicElement):
''' A linked or embedded raster image '''