Display power usage per hour.
[tabakrolletjie.git] / tabakrolletjie / widgets.py
index f34fa35fccc0427477107fae9677b4be91d1cea0..2678e72c46cce18b390686ee079dda184ee1e56b 100644 (file)
@@ -6,6 +6,7 @@ import pygame.locals as pgl
 
 from .loader import loader
 from .constants import FONTS
+from .transforms import NullTransform
 
 
 class Button(object):
@@ -64,12 +65,19 @@ class TextButton(Button):
 class ImageButton(Button):
 
     def __init__(self, *imgparts, **kwargs):
-        self._img = loader.load_image(*imgparts)
+        transform = kwargs.pop("transform", NullTransform())
+        self._img = kwargs.pop("image", None)
+        if self._img is None:
+            self._img = loader.load_image(*imgparts, transform=transform)
         name = kwargs.get('name')
         pos = kwargs.get('pos')
         padding = kwargs.get('padding', 0)
         super(ImageButton, self).__init__(self._img.get_size(), name,
                                           pos, padding)
 
+    def update_image(self, *imgparts, **kwargs):
+        transform = kwargs.pop("transform", NullTransform())
+        self._img = loader.load_image(*imgparts, transform=transform)
+
     def render(self, surface):
         surface.blit(self._img, self._pos, None)