50 lines
1.2 KiB
Python
50 lines
1.2 KiB
Python
|
# -------------------------------
|
||
|
# Difficult Rocket
|
||
|
# Copyright © 2020-2023 by shenjackyuanjie 3695888@qq.com
|
||
|
# All rights reserved
|
||
|
# -------------------------------
|
||
|
|
||
|
from typing import Optional, Tuple
|
||
|
|
||
|
from pyglet.shapes import Rectangle
|
||
|
from pyglet.graphics import Batch, Group
|
||
|
|
||
|
from Difficult_Rocket.gui.widget.theme import BaseTheme, FontTheme
|
||
|
|
||
|
_RGBA = Tuple[int, int, int, int]
|
||
|
|
||
|
|
||
|
class ButtonBaseTheme(BaseTheme):
|
||
|
"""
|
||
|
Base theme of button
|
||
|
inherit from BaseTheme and dict
|
||
|
按钮的基础主题
|
||
|
继承了 BaseTheme 和 dict
|
||
|
"""
|
||
|
theme_name = 'Button Base Theme'
|
||
|
|
||
|
def init(self, batch: Batch, group: Group, **kwargs) -> None:
|
||
|
"""
|
||
|
Init theme
|
||
|
:param batch: batch
|
||
|
:param group: group
|
||
|
:param kwargs: options
|
||
|
:return: None
|
||
|
"""
|
||
|
self.batch = batch
|
||
|
self.group = group
|
||
|
self.font_theme = FontTheme(**kwargs)
|
||
|
|
||
|
|
||
|
class BlockTheme(ButtonBaseTheme):
|
||
|
"""
|
||
|
button theme: Block like button
|
||
|
"""
|
||
|
theme_name = 'Block Theme(button)'
|
||
|
main_color: _RGBA = (39, 73, 114, 255)
|
||
|
touch_color: _RGBA = (66, 150, 250, 255)
|
||
|
hit_color: _RGBA = (15, 135, 250, 255)
|
||
|
|
||
|
font_theme: FontTheme = FontTheme()
|
||
|
|