30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
import pygame
|
|
from .fonts import *
|
|
from .colors import *
|
|
|
|
class BinaryButton:
|
|
|
|
def __init__(self, screen, position, size, label, state):
|
|
self.screen = screen
|
|
self.position = position
|
|
self.size = size
|
|
self.label = label
|
|
self.state = state
|
|
|
|
def check_click(self, pos):
|
|
if pos[0] >= self.position[0] and pos[1] >= self.position[1] and pos[0] <= self.position[0] + self.size[0] and pos[1] <= self.position[1] + self.size[1]:
|
|
self.state = not self.state
|
|
|
|
def display(self):
|
|
if self.state:
|
|
w = 0
|
|
text_color = "black"
|
|
else:
|
|
w = 2
|
|
text_color = color_primary
|
|
|
|
pygame.draw.rect(self.screen, color_primary, (self.position, self.size), w)
|
|
|
|
label = font_helvetica16.render(self.label, False, text_color)
|
|
self.screen.blit(label, (self.position[0] + (self.size[0] - label.get_width())/2,
|
|
self.position[1] + (self.size[1] - label.get_height())/2)) |