32ff46fa21811e3b99b61d84e6fbac8325cc2433
[naja.git] / naja / widgets / base.py
1 import pygame
2
3
4 class Widget(object):
5     def __init__(self, pos, size=None):
6         self.pos = pos
7         self.size = size or (0, 0)
8         self._prepared = False
9
10     @property
11     def rect(self):
12         return pygame.Rect(self.pos, self.size)
13
14     def render(self, surface):
15         if not self._prepared:
16             self.prepare()
17             self._prepared = True
18         self.draw(surface)
19
20     def draw(self, surface):
21         raise NotImplemented()
22
23     def prepare(self):
24         raise NotImplemented()