@@ -14,20 +14,20 @@ def __init__(self, text, width, height, pos, win, font):
14
14
self .text_surface = self .font .render (text ,True ,"#FFFFFF" )
15
15
self .text_rect = self .text_surface .get_rect (center = self .top_rect .center )
16
16
17
- def draw (self ):
18
- pygame .draw .rect (self .win , self .top_color , self .top_rect , border_radius = 12 )
17
+ def draw (self , event_list ):
18
+ pygame .draw .rect (self .win , self .top_color , self .top_rect , border_radius = 6 )
19
19
self .win .blit (self .text_surface , self .text_rect )
20
- self .is_clicked ()
20
+ self .is_clicked (event_list )
21
21
22
- def is_clicked (self ):
22
+ def is_clicked (self , event_list ):
23
23
mouse_pos = pygame .mouse .get_pos ()
24
+ self .pressed = False
24
25
if self .top_rect .collidepoint (mouse_pos ):
25
26
self .top_color = "#D74B4B"
26
- if pygame .mouse .get_pressed ()[0 ]:
27
- self .pressed = True
28
- else :
29
- if self .pressed == True :
30
- self .pressed = False
27
+ for event in event_list :
28
+ if event .type == pygame .MOUSEBUTTONDOWN :
29
+ if pygame .mouse .get_pressed ()[0 ]:
30
+ self .pressed = True
31
31
else :
32
32
self .top_color = "#475F77"
33
33
@@ -57,13 +57,13 @@ def __init__(self,text, width, height, pos, win, font, offset, checked):
57
57
self .text_checkbox = self .font .render (self .text ,True , (0 ,0 ,0 ))
58
58
self .cross_rect = pygame .Rect ((self .cb_x + (offset / 2 ), self .cb_y + (offset / 2 )), (width - offset , height - offset ))
59
59
60
- def draw (self ):
60
+ def draw (self , event_list ):
61
61
self .win .fill ((255 ,255 ,255 ), ((self .cb_x , self .pos [1 ]), (self .width , self .height ))) #clear the text
62
62
pygame .draw .rect (self .win , self .top_color , self .top_rect )
63
63
if self .is_checked ():
64
64
pygame .draw .rect (self .win , (150 , 150 , 150 ), self .cross_rect )
65
65
self .win .blit (self .text_checkbox , (self .pos ))
66
- self .is_clicked ()
66
+ self .is_clicked (event_list )
67
67
68
68
def change_state (self ):
69
69
if self .pressed :
@@ -75,15 +75,16 @@ def change_state(self):
75
75
def is_checked (self ):
76
76
return self .checked
77
77
78
- def is_clicked (self ):
78
+ def is_clicked (self , event_list ):
79
79
mouse_pos = pygame .mouse .get_pos ()
80
+ self .pressed = False
80
81
if self .top_rect .collidepoint (mouse_pos ):
81
- if pygame . mouse . get_pressed ()[ 0 ] :
82
- self . pressed = True
83
- else :
84
- if self .pressed :
85
- self . change_state ()
86
- self .pressed = False
82
+ for event in event_list :
83
+ if event . type == pygame . MOUSEBUTTONDOWN :
84
+ if pygame . mouse . get_pressed ()[ 0 ] :
85
+ self .pressed = True
86
+
87
+ self .change_state ()
87
88
88
89
class DropDown ():
89
90
@@ -134,4 +135,4 @@ def update(self, event_list):
134
135
elif self .draw_menu and self .active_option >= 0 :
135
136
self .draw_menu = False
136
137
return self .active_option
137
- return - 1
138
+ return - 1
0 commit comments