summaryrefslogtreecommitdiff
path: root/gerber/render/cairo_backend.py
diff options
context:
space:
mode:
authorGarret Fick <garret@ficksworkshop.com>2015-11-23 22:22:30 +0800
committerGarret Fick <garret@ficksworkshop.com>2015-11-23 22:22:30 +0800
commit8eede187f3f644c4f8a0de0dc5825dc4c00c7b8f (patch)
tree95ad72c1b7208ddd1f6cb504bd8fe623700e3a35 /gerber/render/cairo_backend.py
parentd5f382f4b413d73a96613dd86aa207bb9e665b0d (diff)
downloadgerbonara-8eede187f3f644c4f8a0de0dc5825dc4c00c7b8f.tar.gz
gerbonara-8eede187f3f644c4f8a0de0dc5825dc4c00c7b8f.tar.bz2
gerbonara-8eede187f3f644c4f8a0de0dc5825dc4c00c7b8f.zip
More fixes to work with cairo
Diffstat (limited to 'gerber/render/cairo_backend.py')
-rw-r--r--gerber/render/cairo_backend.py17
1 files changed, 8 insertions, 9 deletions
diff --git a/gerber/render/cairo_backend.py b/gerber/render/cairo_backend.py
index e4a5eff..81c5ce4 100644
--- a/gerber/render/cairo_backend.py
+++ b/gerber/render/cairo_backend.py
@@ -61,7 +61,7 @@ class GerberCairoContext(GerberContext):
self.ctx.stroke()
elif isinstance(line.aperture, Rectangle):
points = [tuple(map(mul, x, self.scale)) for x in line.vertices]
- self.ctx.set_source_rgba(color[0], color[1], color[2], alpha=self.alpha)
+ self.ctx.set_source_rgba(color[0], color[1], color[2], self.alpha)
self.ctx.set_operator(cairo.OPERATOR_OVER if (line.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR)
self.ctx.set_line_width(0)
self.ctx.move_to(*points[0])
@@ -83,14 +83,13 @@ class GerberCairoContext(GerberContext):
self.ctx.set_line_cap(cairo.LINE_CAP_ROUND)
self.ctx.move_to(*start) # You actually have to do this...
if arc.direction == 'counterclockwise':
- self.ctx.arc(*center, radius=radius, angle1=angle1, angle2=angle2)
+ self.ctx.arc(center[0], center[1], radius, angle1, angle2)
else:
- self.ctx.arc_negative(*center, radius=radius, angle1=angle1, angle2=angle2)
+ self.ctx.arc_negative(center[0], center[1], radius, angle1, angle2)
self.ctx.move_to(*end) # ...lame
def _render_region(self, region, color):
self.ctx.set_source_rgba(color[0], color[1], color[2], self.alpha)
- #self.ctx.set_source_rgba(*color, alpha=self.alpha)
self.ctx.set_operator(cairo.OPERATOR_OVER if (region.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR)
self.ctx.set_line_width(0)
self.ctx.set_line_cap(cairo.LINE_CAP_ROUND)
@@ -106,9 +105,9 @@ class GerberCairoContext(GerberContext):
angle1 = p.start_angle
angle2 = p.end_angle
if p.direction == 'counterclockwise':
- self.ctx.arc(*center, radius=radius, angle1=angle1, angle2=angle2)
+ self.ctx.arc(center[0], center[1], radius, angle1, angle2)
else:
- self.ctx.arc_negative(*center, radius=radius, angle1=angle1, angle2=angle2)
+ self.ctx.arc_negative(center[0], center[1], radius, angle1, angle2)
self.ctx.fill()
def _render_circle(self, circle, color):
@@ -116,7 +115,7 @@ class GerberCairoContext(GerberContext):
self.ctx.set_source_rgba(color[0], color[1], color[2], self.alpha)
self.ctx.set_operator(cairo.OPERATOR_OVER if (circle.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR)
self.ctx.set_line_width(0)
- self.ctx.arc(*center, radius=circle.radius * self.scale[0], angle1=0, angle2=2 * math.pi)
+ self.ctx.arc(center[0], center[1], circle.radius * self.scale[0], 0, 2 * math.pi)
self.ctx.fill()
def _render_rectangle(self, rectangle, color):
@@ -148,7 +147,7 @@ class GerberCairoContext(GerberContext):
self.ctx.scale(1, -1)
def _paint_inverted_layer(self):
- self.ctx.set_source_rgba(*self.background_color)
+ self.ctx.set_source_rgba(self.background_color[0], self.background_color[1], self.background_color[2])
self.ctx.set_operator(cairo.OPERATOR_OVER)
self.ctx.paint()
self.ctx.set_operator(cairo.OPERATOR_CLEAR)
@@ -156,7 +155,7 @@ class GerberCairoContext(GerberContext):
def _paint_background(self):
if not self.bg:
self.bg = True
- self.ctx.set_source_rgba(*self.background_color)
+ self.ctx.set_source_rgba(self.background_color[0], self.background_color[1], self.background_color[2])
self.ctx.paint()
def dump(self, filename):