summaryrefslogtreecommitdiff
path: root/scene/gui/button.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/button.cpp')
-rw-r--r--scene/gui/button.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/scene/gui/button.cpp b/scene/gui/button.cpp
index f28595b622..2d1d437668 100644
--- a/scene/gui/button.cpp
+++ b/scene/gui/button.cpp
@@ -74,17 +74,21 @@ void Button::_notification(int p_what) {
//print_line(get_text()+": "+itos(is_flat())+" hover "+itos(get_draw_mode()));
+ Ref<StyleBox> style = get_stylebox("normal");
+
switch( get_draw_mode() ) {
case DRAW_NORMAL: {
+ style = get_stylebox("normal");
if (!flat)
- get_stylebox("normal" )->draw( ci, Rect2(Point2(0,0), size) );
+ style->draw( ci, Rect2(Point2(0,0), size) );
color=get_color("font_color");
} break;
case DRAW_PRESSED: {
- get_stylebox("pressed" )->draw( ci, Rect2(Point2(0,0), size) );
+ style = get_stylebox("pressed");
+ style->draw( ci, Rect2(Point2(0,0), size) );
if (has_color("font_color_pressed"))
color=get_color("font_color_pressed");
else
@@ -93,13 +97,15 @@ void Button::_notification(int p_what) {
} break;
case DRAW_HOVER: {
- get_stylebox("hover" )->draw( ci, Rect2(Point2(0,0), size) );
+ style = get_stylebox("hover");
+ style->draw( ci, Rect2(Point2(0,0), size) );
color=get_color("font_color_hover");
} break;
case DRAW_DISABLED: {
- get_stylebox("disabled" )->draw( ci, Rect2(Point2(0,0), size) );
+ style = get_stylebox("disabled");
+ style->draw( ci, Rect2(Point2(0,0), size) );
color=get_color("font_color_disabled");
} break;
@@ -111,7 +117,6 @@ void Button::_notification(int p_what) {
style->draw(ci,Rect2(Point2(),size));
}
- Ref<StyleBox> style = get_stylebox("normal" );
Ref<Font> font=get_font("font");
Ref<Texture> _icon;
if (icon.is_null() && has_icon("icon"))