Fix #24124, Slider control size

This commit is contained in:
mawenzy 2019-04-09 21:58:19 +02:00
parent 9c3ddf05cb
commit e2e8457ca6
1 changed files with 13 additions and 2 deletions

View File

@ -34,8 +34,15 @@
Size2 Slider::get_minimum_size() const {
Ref<StyleBox> style = get_stylebox("slider");
Size2i ms = style->get_minimum_size() + style->get_center_size();
return ms;
Size2i ss = style->get_minimum_size() + style->get_center_size();
Ref<Texture> grabber = get_icon("grabber");
Size2i rs = grabber->get_size();
if (orientation == HORIZONTAL)
return Size2i(ss.width, MAX(ss.height, rs.height));
else
return Size2i(MAX(ss.width, rs.width), ss.height);
}
void Slider::_gui_input(Ref<InputEvent> p_event) {
@ -134,7 +141,11 @@ void Slider::_gui_input(Ref<InputEvent> p_event) {
void Slider::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_THEME_CHANGED: {
minimum_size_changed();
update();
} break;
case NOTIFICATION_MOUSE_ENTER: {
mouse_inside = true;