#==============================================================================
class Geometry(Canvas):
def __init__(self, parent, **kwargs):
# Tkinter doesn't support super(...) type initialisation
Canvas.__init__(self, parent, kwargs)
def draw_point(self, point, colour):
self.create_oval(
point[0] - 2,
point[1] - 2,
point[0] + 2,
point[1] + 2,
fill=colour,
outline=""
)
def draw_circle(self, centre, radius, colour):
# makes an oval, takes the top left coordinate and the bottom right
self.create_oval(
int(centre[0] - radius),
int(centre[1] - radius),
int(centre[0] + radius),
int(centre[1] + radius),
outline=colour,
fill=""
)
# draw the centre
self.draw_point(centre, colour)
def draw_line(self, point, second_point, colour):
self.create_line(
point[0],
point[1],
second_point[0],
second_point[1],
fill=colour
)
def draw_polygon(self, points, colour):
# tkinter wants the points like x0, y0, x1, y1, ... we give it as
# [(x0, y0), (x1, y1), ...]
tkinter_compatible_points = list()
for point in points:
tkinter_compatible_points.append(point[0])
tkinter_compatible_points.append(point[1])
self.create_polygon(
*tkinter_compatible_points,
fill="",
outline=colour
)
Diff to Previous Revision
--- revision 1 2013-03-18 14:48:45
+++ revision 2 2013-03-18 14:49:16
@@ -7,15 +7,10 @@
def draw_point(self, point, colour):
self.create_oval(
-
point[0] - 2,
-
point[1] - 2,
-
point[0] + 2,
-
point[1] + 2,
-
fill=colour,
outline=""
)