Mercurial > mamba
comparison mamba/widgets/levelbutton.py @ 310:b371c2ea309e
excised level locking
author | Adrianna Pińska <adrianna.pinska@gmail.com> |
---|---|
date | Fri, 16 Sep 2011 18:32:31 +0200 |
parents | e6a3b00f997b |
children | fba74abad7b7 |
comparison
equal
deleted
inserted
replaced
309:67312228c158 | 310:b371c2ea309e |
---|---|
7 from mamba.widgets.text import TextWidget | 7 from mamba.widgets.text import TextWidget |
8 | 8 |
9 | 9 |
10 class LevelButton(Button): | 10 class LevelButton(Button): |
11 | 11 |
12 def __init__(self, rect, text, locked=True, done=False): | 12 def __init__(self, rect, text, done=False): |
13 super(LevelButton, self).__init__(rect) | 13 super(LevelButton, self).__init__(rect) |
14 self.text = text | 14 self.text = text |
15 self.locked = locked | |
16 self.done = done | 15 self.done = done |
17 self.focussable = True | 16 self.focussable = True |
18 self.border = 3 | 17 self.border = 3 |
19 self.rect.width = 50 | 18 self.rect.width = 50 |
20 self.rect.height = 50 | 19 self.rect.height = 50 |
23 def prepare(self): | 22 def prepare(self): |
24 self.surface = pygame.Surface(self.rect.size, SRCALPHA) | 23 self.surface = pygame.Surface(self.rect.size, SRCALPHA) |
25 self.surface.fill(0) | 24 self.surface.fill(0) |
26 | 25 |
27 image = None | 26 image = None |
28 if self.locked: | 27 if self.done: |
29 image = load_image('menus/lock.png') | |
30 elif self.done: | |
31 image = load_image('menus/tick.png') | 28 image = load_image('menus/tick.png') |
32 if image: | 29 if image: |
33 self.surface.blit(image, image.get_rect()) | 30 self.surface.blit(image, image.get_rect()) |
34 | 31 |
35 self._text = TextWidget((0, 0), self.text, fontsize=24) | 32 self._text = TextWidget((0, 0), self.text, fontsize=24) |
40 self.border) | 37 self.border) |
41 text_rect = pygame.Rect((0, 0), self.rect.size).inflate( | 38 text_rect = pygame.Rect((0, 0), self.rect.size).inflate( |
42 self._text.rect.width - self.rect.width, | 39 self._text.rect.width - self.rect.width, |
43 self._text.rect.height - self.rect.height) | 40 self._text.rect.height - self.rect.height) |
44 self.surface.blit(self._text.surface, text_rect) | 41 self.surface.blit(self._text.surface, text_rect) |
45 self._state = (self.locked, self.done, self.focussed) | 42 self._state = (self.done, self.focussed) |
46 | 43 |
47 def draw(self, surface): | 44 def draw(self, surface): |
48 if self._state != (self.locked, self.done, self.focussed): | 45 if self._state != (self.done, self.focussed): |
49 self.prepare() | 46 self.prepare() |
50 surface.blit(self.surface, self.rect) | 47 surface.blit(self.surface, self.rect) |