diff --git a/lib/goocanvas_compat.py b/lib/goocanvas_compat.py new file mode 100644 --- /dev/null +++ b/lib/goocanvas_compat.py @@ -0,0 +1,17 @@ +from gi.repository import GooCanvas + +def Points(pts): + cp = GooCanvas.CanvasPoints.new(len(pts)) + for i, (x, y) in enumerate(pts): + cp.set_point(i, x, y) + return cp + +def polyline_new_line(parent, x0=None, y0=None, x1=None, y1=None, points=None, **props): + p = GooCanvas.CanvasPolyline() + p.set_property('parent', parent) + if x0 is not None or points is not None: + pts = points or Points([(x0, y0), (x1, y1)]) + p.set_property('points', pts) + for k, v in props.items(): + p.set_property(k, v) + return p