diff --git a/sugar/scene/SceneView.py b/sugar/scene/SceneView.py new file mode 100644 index 00000000..c534325e --- /dev/null +++ b/sugar/scene/SceneView.py @@ -0,0 +1,16 @@ +import gtk + +class SceneView(gtk.Fixed): + def __init__(self, stage): + gtk.Fixed.__init__(self) + self.set_has_window(True) + self.connect('expose-event', self.__expose_cb) + + self._stage = stage + stage.connect('changed', self.__stage_changed_cb) + + def __expose_cb(self, widget, event): + self._stage.render(widget.window) + + def __stage_changed_cb(self, stage): + self.window.invalidate_rect(None, False)