Some updates to sizing button text
This commit is contained in:
@@ -66,23 +66,22 @@ impl ButtonWidget {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let font = resources.font();
|
let font = resources.font();
|
||||||
let mut dim_width = self.rect.w;
|
let target_w = self.rect.w * 0.9;
|
||||||
let mut font_size = 30.0;
|
let target_h = self.rect.h;
|
||||||
let mut dims = measure_text(&text, Some(&font), font_size as u16, 1.0);
|
let mut font_size = 20;
|
||||||
|
let mut dims = measure_text(&text, Some(&font), font_size, 1.0);
|
||||||
loop {
|
loop {
|
||||||
if dim_width <= self.rect.w * 0.8 {
|
if dims.width <= target_w && dims.height <= target_h {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
font_size -= 2;
|
||||||
dims = measure_text(&text, Some(&font), font_size as u16, 1.0);
|
dims = measure_text(&text, Some(&font), font_size as u16, 1.0);
|
||||||
dim_width = dims.width;
|
|
||||||
font_size -= 2.0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let button_draw_offset = self.get_button_draw_offset();
|
let button_draw_offset = self.get_button_draw_offset();
|
||||||
|
|
||||||
let text_params = TextParams {
|
let text_params = TextParams {
|
||||||
font_size: font_size as u16,
|
font_size,
|
||||||
color: font_color,
|
color: font_color,
|
||||||
font: Some(&font),
|
font: Some(&font),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
|
|||||||
@@ -112,13 +112,26 @@ impl CounterWidget {
|
|||||||
self.increment.draw("+", &UiColor::Yellow, resources);
|
self.increment.draw("+", &UiColor::Yellow, resources);
|
||||||
self.decrement.draw("-", &UiColor::Yellow, resources);
|
self.decrement.draw("-", &UiColor::Yellow, resources);
|
||||||
|
|
||||||
|
let font = resources.font();
|
||||||
|
let mut min_dim = self.visual_rect.w.min(self.visual_rect.h);
|
||||||
|
let mut font_size = self.font_size as u16;
|
||||||
|
loop {
|
||||||
|
if min_dim <= self.visual_rect.w * 0.5 {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
let dims = measure_text(&self.current.to_string(), Some(&font), font_size as u16, 1.0);
|
||||||
|
min_dim = dims.width.min(dims.height);
|
||||||
|
font_size -= 1;
|
||||||
|
}
|
||||||
|
|
||||||
draw_text_ex(
|
draw_text_ex(
|
||||||
&self.current.to_string(),
|
&self.current.to_string(),
|
||||||
self.visual_rect.x + (self.visual_rect.w - self.visual_dims.width) / 2.,
|
self.visual_rect.x + (self.visual_rect.w - self.visual_dims.width) / 2.,
|
||||||
self.visual_rect.y + (self.visual_rect.h + self.font_size) / 2.,
|
self.visual_rect.y + (self.visual_rect.h + self.font_size) / 2.,
|
||||||
TextParams {
|
TextParams {
|
||||||
font: Some(resources.font()),
|
font: Some(resources.font()),
|
||||||
font_size: self.font_size as u16,
|
font_size,
|
||||||
color: UiColor::Yellow.to_fg_color(),
|
color: UiColor::Yellow.to_fg_color(),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user