31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
|
|
from LUIObject import LUIObject
|
|
from LUISprite import LUISprite
|
|
from LUIInitialState import LUIInitialState
|
|
|
|
class LUISpriteButton(LUIObject):
|
|
|
|
""" Simple button that uses only two images: Default and focus. """
|
|
|
|
def __init__(self, template="ButtonDefault", **kwargs):
|
|
LUIObject.__init__(self, x=0, y=0, solid=True)
|
|
self._template = template
|
|
self._button_sprite = LUISprite(self, template, "skin")
|
|
if 'width' in kwargs:
|
|
self._button_sprite.width = kwargs['width']
|
|
if 'height' in kwargs:
|
|
self._button_sprite.height = kwargs['height']
|
|
LUIInitialState.init(self, kwargs)
|
|
|
|
def on_mousedown(self, event):
|
|
""" Internal on_mousedown handler. Do not override """
|
|
self._button_sprite.set_texture(self.template + "Focus", "skin", resize=False)
|
|
|
|
def on_mouseup(self, event):
|
|
""" Internal on_mouseup handler. Do not override """
|
|
self._button_sprite.set_texture(self.template, "skin", resize=False)
|
|
|
|
def on_click(self, event):
|
|
""" Internal onclick handler. Do not override """
|
|
self.trigger_event("changed")
|