X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=tabakrolletjie%2Fwidgets.py;h=51c449f10aaf2e04025e9bb85b91dfec100c9f9e;hb=149979a669c18ca17fd646e900208ccba4b7dbb7;hp=3f37b52919c15cc28d1fd37e4c5327732c8fab2b;hpb=17576103ca351f86ec6633ac7f3ec50bb8532852;p=tabakrolletjie.git diff --git a/tabakrolletjie/widgets.py b/tabakrolletjie/widgets.py index 3f37b52..51c449f 100644 --- a/tabakrolletjie/widgets.py +++ b/tabakrolletjie/widgets.py @@ -6,14 +6,16 @@ import pygame.locals as pgl from .loader import loader from .constants import FONTS +from .transforms import NullTransform class Button(object): - def __init__(self, size, pos=None, padding=10): + def __init__(self, size, name=None, pos=None, padding=10): self._size = size self._padding = padding self.position = pos + self.name = name @property def position(self): @@ -50,10 +52,11 @@ class Button(object): class TextButton(Button): - def __init__(self, text, colour, pos=None, padding=10): + def __init__(self, text, colour, name=None, pos=None, padding=10): font = loader.load_font(FONTS['sans'], size=24) self._text = font.render(text, True, colour) - super(TextButton, self).__init__(self._text.get_size(), pos, padding) + super(TextButton, self).__init__(self._text.get_size(), name, + pos, padding) def render(self, surface): surface.blit(self._text, self._pos, None) @@ -62,10 +65,16 @@ class TextButton(Button): class ImageButton(Button): def __init__(self, *imgparts, **kwargs): - self._img = loader.load_image(*imgparts) + transform = kwargs.pop("transform", NullTransform()) + 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(), pos, padding) + super(ImageButton, self).__init__(self._img.get_size(), name, + pos, padding) + def update_image(self, *imgparts, transform=NullTransform()): + self._img = loader.load_image(*imgparts, transform=transform) + def render(self, surface): surface.blit(self._img, self._pos, None)