Mercurial > mamba
changeset 382:9db8fbe8ae83
Add Box base class
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 17 Sep 2011 01:23:41 +0200 |
parents | 8b9cfc4f0f01 |
children | 08a84134ccbf |
files | mamba/widgets/base.py |
diffstat | 1 files changed, 18 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mamba/widgets/base.py Sat Sep 17 01:02:52 2011 +0200 +++ b/mamba/widgets/base.py Sat Sep 17 01:23:41 2011 +0200 @@ -1,7 +1,7 @@ import collections import pygame -from pygame.constants import K_UP, K_DOWN, K_LEFT, K_RIGHT, K_RETURN +from pygame.constants import K_UP, K_DOWN, K_LEFT, K_RIGHT, K_RETURN, SRCALPHA from pygame.locals import (KEYDOWN, MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, USEREVENT) @@ -269,3 +269,20 @@ return False self.children[self.focussed_child].focussed = True return True + + +class Box(Container): + """A container that draws a filled background with a border""" + padding = 4 + + def draw(self, surface): + expandrect = self.rect.move((-self.padding, -self.padding)) + expandrect.width = self.rect.width + 2 * self.padding + expandrect.height = self.rect.height + 2 * self.padding + border = pygame.Surface(expandrect.size, SRCALPHA) + border.fill(pygame.Color('black')) + surface.blit(border, expandrect) + background = pygame.Surface(self.rect.size, SRCALPHA) + background.fill(pygame.Color('gray')) + surface.blit(background, self.rect) + super(Box, self).draw(surface)