SketchWidget: refactor drawing of shapes/constraints
This commit is contained in:
parent
15f020e93a
commit
f2fdf19079
@ -6,6 +6,7 @@ import gtk.gtkgl
|
||||
from OpenGL.GL import *
|
||||
|
||||
from shapes import *
|
||||
from constraints import *
|
||||
|
||||
class SketchWidget:
|
||||
def __init__(self, sketch):
|
||||
@ -25,6 +26,7 @@ class SketchWidget:
|
||||
self.background_color = (0.6, 0.9, 1.0, 1.0)
|
||||
self.line_color = (0.1, 0.4, 1.0, 1.0)
|
||||
self.axis_color = (1.0, 0.0, 0.0, 1.0)
|
||||
self.constraint_color = (0.5, 1.0, 0.0, 1.0)
|
||||
|
||||
try:
|
||||
# try double-buffered
|
||||
@ -103,12 +105,8 @@ class SketchWidget:
|
||||
|
||||
self.drawAxes()
|
||||
|
||||
glColor(*self.line_color)
|
||||
for shape in self.sketch:
|
||||
if isinstance(shape, Line):
|
||||
self.drawLine(shape, self.line_width)
|
||||
elif isinstance(shape, Circle):
|
||||
self.drawCircle(shape, self.line_width)
|
||||
self.drawShapes()
|
||||
self.drawConstraints()
|
||||
|
||||
if self.drawingLine is not None:
|
||||
self.drawLine(self.drawingLine, self.line_width)
|
||||
@ -263,3 +261,18 @@ class SketchWidget:
|
||||
def queue_redraw(self):
|
||||
self.widget.queue_draw_area(0, 0,
|
||||
int(self.size[0]), int(self.size[1]))
|
||||
|
||||
def drawShapes(self):
|
||||
glColor(*self.line_color)
|
||||
for shape in self.sketch:
|
||||
if isinstance(shape, Line):
|
||||
self.drawLine(shape, self.line_width)
|
||||
elif isinstance(shape, Circle):
|
||||
self.drawCircle(shape, self.line_width)
|
||||
|
||||
def drawConstraints(self):
|
||||
glColor(*self.constraint_color)
|
||||
for c in self.sketch.constraints:
|
||||
if isinstance(c, Connect):
|
||||
# self.drawConnect(c)
|
||||
pass
|
||||
|
Loading…
x
Reference in New Issue
Block a user