Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/scene/StageView.py
blob: ed4d42422ea703efbdd7c416779b43b68bd65584 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import gtk

from sugar.scene.Stage import Stage

class StageView(gtk.Fixed):
	def __init__(self, stage):
		gtk.Fixed.__init__(self)
		self.set_has_window(True)

		self._stage = stage
		self._stage.connect('changed', self.__stage_changed_cb)
		self.connect('expose_event', self.__expose_cb)

	def __stage_changed_cb(self, stage):
		if self.window:
			self.window.invalidate_rect(None, False)

	def __expose_cb(self, widget, event):
		self._stage.render(widget.window)

	def get_stage(self):
		return self._stage