Files
SantoscopeUI/binary_button.py
SallarShayegan 6dc72353d7 unknown commit
2025-08-03 13:04:12 +02:00

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