5 def __init__(self, pos, size=None):
7 self.size = size or (0, 0)
12 return pygame.Rect(self.pos, self.size)
14 def render(self, surface):
15 if not self._prepared:
20 def draw(self, surface):
21 raise NotImplemented()
24 raise NotImplemented()
26 def handle_event(self, ev):
30 class Container(object):
31 def __init__(self, *widgets):
33 for widget in widgets:
36 def add(self, widget):
37 self.widgets.append(widget)
39 def render(self, surface):
40 for widget in self.widgets:
41 widget.render(surface)
43 def handle_event(self, ev):
44 for widget in self.widgets:
45 if widget.handle_event(ev):