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)