@@ -58,7 +58,8 @@ def __init__(
58
58
label = None ,
59
59
label_font = None ,
60
60
label_color = 0x0 ,
61
- selected_label = None
61
+ selected_label = None ,
62
+ label_scale = None
62
63
):
63
64
super ().__init__ (x = x , y = y )
64
65
self .x = x
@@ -72,6 +73,7 @@ def __init__(
72
73
self ._label_color = label_color
73
74
self ._label_font = label_font
74
75
self ._selected_label = _check_color (selected_label )
76
+ self ._label_scale = label_scale or 1
75
77
76
78
@property
77
79
def label (self ):
@@ -89,14 +91,18 @@ def label(self, newtext):
89
91
90
92
if not self ._label_font :
91
93
raise RuntimeError ("Please provide label font" )
92
- self ._label = Label (self ._label_font , text = newtext )
93
- dims = self ._label .bounding_box
94
+ self ._label = Label (self ._label_font , text = newtext , scale = self ._label_scale )
95
+ dims = list (self ._label .bounding_box )
96
+ dims [2 ] *= self ._label .scale
97
+ dims [3 ] *= self ._label .scale
94
98
if dims [2 ] >= self .width or dims [3 ] >= self .height :
95
99
while len (self ._label .text ) > 1 and (
96
100
dims [2 ] >= self .width or dims [3 ] >= self .height
97
101
):
98
102
self ._label .text = "{}." .format (self ._label .text [:- 2 ])
99
103
dims = self ._label .bounding_box
104
+ dims [2 ] *= self ._label .scale
105
+ dims [3 ] *= self ._label .scale
100
106
if len (self ._label .text ) <= 1 :
101
107
raise RuntimeError ("Button not large enough for label" )
102
108
self ._label .x = (self .width - dims [2 ]) // 2
0 commit comments