projects
/
flexagon-toolkit.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
svgwrite_diagram: proper support for stroke_width
[flexagon-toolkit.git]
/
src
/
diagram
/
svgwrite_diagram.py
diff --git
a/src/diagram/svgwrite_diagram.py
b/src/diagram/svgwrite_diagram.py
index
bf94541
..
1da39a2
100755
(executable)
--- a/
src/diagram/svgwrite_diagram.py
+++ b/
src/diagram/svgwrite_diagram.py
@@
-82,6
+82,15
@@
class SvgwriteDiagram(Diagram):
self.svg = InkscapeDrawing(None, profile='full', size=(str(width) + "px", str(height) + "px"))
self.active_group = self.svg
self.svg = InkscapeDrawing(None, profile='full', size=(str(width) + "px", str(height) + "px"))
self.active_group = self.svg
+ def clear(self):
+ # Reset the SVG object
+ self.svg.elements = []
+ self.svg.add(self.svg.defs)
+
+ rect = self.svg.rect((0, 0), ('100%', '100%'))
+ self._fill(rect, self.background)
+ self.svg.add(rect)
+
def save_svg(self, filename):
self.svg.saveas(filename)
def save_svg(self, filename):
self.svg.saveas(filename)
@@
-109,13
+118,14
@@
class SvgwriteDiagram(Diagram):
element['stroke'] = stroke_color
element['stroke-opacity'] = a
element['stroke-linejoin'] = 'round'
element['stroke'] = stroke_color
element['stroke-opacity'] = a
element['stroke-linejoin'] = 'round'
+ element['stroke-width'] = self.stroke_width
else:
element['stroke'] = 'none'
def draw_polygon_by_verts(self, verts,
stroke_color=(0, 0, 0),
fill_color=None):
else:
element['stroke'] = 'none'
def draw_polygon_by_verts(self, verts,
stroke_color=(0, 0, 0),
fill_color=None):
- polygon = self.svg.polygon(verts
, stroke_width=self.stroke_width
)
+ polygon = self.svg.polygon(verts)
self._fill(polygon, fill_color)
self._stroke(polygon, stroke_color)
self._fill(polygon, fill_color)
self._stroke(polygon, stroke_color)
@@
-124,7
+134,7
@@
class SvgwriteDiagram(Diagram):
def draw_star_by_verts(self, cx, cy, verts, stroke_color=(0, 0, 0)):
for v in verts:
def draw_star_by_verts(self, cx, cy, verts, stroke_color=(0, 0, 0)):
for v in verts:
- line = self.svg.line((cx, cy), v
, stroke_width=self.stroke_width
)
+ line = self.svg.line((cx, cy), v)
self._stroke(line, stroke_color)
self.add(line)
self._stroke(line, stroke_color)
self.add(line)