MetaCoreEngineV2/Builtin/LUISpriteButton.py
2026-01-13 17:06:06 +08:00

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")