Browse Source

Respect style boxes for Button states other than "normal"

(cherry picked from commit 2baeb531e6dc240c7c2c3f176888c4d09715b56d)
Ray Koopa 8 years ago
parent
commit
98f01f9143
1 changed files with 10 additions and 5 deletions
  1. 10 5
      scene/gui/button.cpp

+ 10 - 5
scene/gui/button.cpp

@@ -67,17 +67,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
@@ -86,13 +90,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;
@@ -104,7 +110,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"))