diff options
Diffstat (limited to 'gerber/render')
-rw-r--r-- | gerber/render/cairo_backend.py | 64 |
1 files changed, 4 insertions, 60 deletions
diff --git a/gerber/render/cairo_backend.py b/gerber/render/cairo_backend.py index f5e5aca..df513bb 100644 --- a/gerber/render/cairo_backend.py +++ b/gerber/render/cairo_backend.py @@ -23,70 +23,14 @@ import math SCALE = 300.
-#class CairoCircle(Circle):
-# def line(self, ctx, x, y, color=(184/255., 115/255., 51/255.)):
-# ctx.set_source_rgb (*color)
-# ctx.set_line_width(self.diameter * SCALE)
-# ctx.set_line_cap(cairo.LINE_CAP_ROUND)
-# ctx.line_to(x * SCALE, y * SCALE)
-# ctx.stroke()
-#
-# def arc(self, ctx, x, y, i, j, direction, color=(184/255., 115/255., 51/255.)):
-# ctx_x, ctx_y = ctx.get_current_point()
-#
-# # Do the math
-# center = ((x + i) * SCALE, (y + j) * SCALE)
-# radius = math.sqrt(math.pow(ctx_x - center[0], 2) + math.pow(ctx_y - center[1], 2))
-# delta_x0 = (ctx_x - center[0])
-# delta_y0 = (ctx_y - center[1])
-# delta_x1 = (x * SCALE - center[0])
-# delta_y1 = (y * SCALE - center[1])
-# theta0 = math.atan2(delta_y0, delta_x0)
-# theta1 = math.atan2(delta_y1, delta_x1)
-# # Draw the arc
-# ctx.set_source_rgb (*color)
-# ctx.set_line_width(self.diameter * SCALE)
-# ctx.set_line_cap(cairo.LINE_CAP_ROUND)
-# if direction == 'clockwise':
-# ctx.arc_negative(center[0], center[1], radius, theta0, theta1)
-# else:
-# ctx.arc(center[0], center[1], radius, theta0, theta1)
-# ctx.stroke()
-#
-# def flash(self, ctx, x, y, color=(184/255., 115/255., 51/255.)):
-# ctx.set_source_rgb (*color)
-# ctx.set_line_width(0)
-# ctx.arc(x * SCALE, y * SCALE, (self.diameter/2.) * SCALE, 0, 2 * math.pi)
-# ctx.fill()
-#
-#class CairoRect(Rect):
-# def line(self, ctx, x, y, color=(184/255., 115/255., 51/255.)):
-# ctx.set_source_rgb (*color)
-# ctx.set_line_width(self.diameter * SCALE)
-# ctx.set_line_cap(cairo.LINE_CAP_SQUARE)
-# ctx.line_to(x * SCALE, y * SCALE)
-# ctx.stroke()
-#
-# def flash(self, ctx, x, y, color=(184/255., 115/255., 51/255.)):
-# xsize, ysize = self.size
-# ctx.set_source_rgb (*color)
-# ctx.set_line_width(0)
-# x0 = SCALE * (x - (xsize / 2.))
-# y0 = SCALE * (y - (ysize / 2.))
-#
-# ctx.rectangle(x0,y0,SCALE * xsize, SCALE * ysize)
-# ctx.fill()
-#
-
-
class GerberCairoContext(GerberContext):
def __init__(self, surface=None, size=(1000, 1000)):
GerberContext.__init__(self)
if surface is None:
- self.surface = cairo.ImageSurface(cairo.FORMAT_ARGB32,
+ self.surface = cairo.ImageSurface(cairo.FORMAT_ARGB32,
size[0], size[1])
else:
- self.surface = surface
+ self.surface = surface
self.ctx = cairo.Context(self.surface)
self.size = size
self.ctx.translate(0, self.size[1])
@@ -94,7 +38,7 @@ class GerberCairoContext(GerberContext): self.ctx.scale(1, -1)
self.apertures = {}
self.background = False
-
+
def set_bounds(self, bounds):
xbounds, ybounds = bounds
self.ctx.rectangle(SCALE * xbounds[0], SCALE * ybounds[0], SCALE * (xbounds[1]- xbounds[0]), SCALE * (ybounds[1] - ybounds[0]))
@@ -144,4 +88,4 @@ class GerberCairoContext(GerberContext): self._render_circle(circle, color)
def dump(self, filename):
- self.surface.write_to_png(filename)
\ No newline at end of file + self.surface.write_to_png(filename)
|