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.cpp45
1 files changed, 25 insertions, 20 deletions
diff --git a/scene/gui/button.cpp b/scene/gui/button.cpp
index f28595b622..de2ccfb0b5 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"))
@@ -223,26 +228,26 @@ Button::TextAlign Button::get_text_align() const {
void Button::_bind_methods() {
- ClassDB::bind_method(_MD("set_text","text"),&Button::set_text);
- ClassDB::bind_method(_MD("get_text"),&Button::get_text);
- ClassDB::bind_method(_MD("set_button_icon","texture:Texture"),&Button::set_icon);
- ClassDB::bind_method(_MD("get_button_icon:Texture"),&Button::get_icon);
- ClassDB::bind_method(_MD("set_flat","enabled"),&Button::set_flat);
- ClassDB::bind_method(_MD("set_clip_text","enabled"),&Button::set_clip_text);
- ClassDB::bind_method(_MD("get_clip_text"),&Button::get_clip_text);
- ClassDB::bind_method(_MD("set_text_align","align"),&Button::set_text_align);
- ClassDB::bind_method(_MD("get_text_align"),&Button::get_text_align);
- ClassDB::bind_method(_MD("is_flat"),&Button::is_flat);
+ ClassDB::bind_method(D_METHOD("set_text","text"),&Button::set_text);
+ ClassDB::bind_method(D_METHOD("get_text"),&Button::get_text);
+ ClassDB::bind_method(D_METHOD("set_button_icon","texture:Texture"),&Button::set_icon);
+ ClassDB::bind_method(D_METHOD("get_button_icon:Texture"),&Button::get_icon);
+ ClassDB::bind_method(D_METHOD("set_flat","enabled"),&Button::set_flat);
+ ClassDB::bind_method(D_METHOD("set_clip_text","enabled"),&Button::set_clip_text);
+ ClassDB::bind_method(D_METHOD("get_clip_text"),&Button::get_clip_text);
+ ClassDB::bind_method(D_METHOD("set_text_align","align"),&Button::set_text_align);
+ ClassDB::bind_method(D_METHOD("get_text_align"),&Button::get_text_align);
+ ClassDB::bind_method(D_METHOD("is_flat"),&Button::is_flat);
BIND_CONSTANT( ALIGN_LEFT );
BIND_CONSTANT( ALIGN_CENTER );
BIND_CONSTANT( ALIGN_RIGHT );
- ADD_PROPERTYNZ( PropertyInfo( Variant::STRING, "text", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_DEFAULT_INTL ), _SCS("set_text"),_SCS("get_text") );
- ADD_PROPERTYNZ( PropertyInfo( Variant::OBJECT, "icon", PROPERTY_HINT_RESOURCE_TYPE, "Texture" ), _SCS("set_button_icon"),_SCS("get_button_icon") );
- ADD_PROPERTY( PropertyInfo( Variant::BOOL, "flat" ), _SCS("set_flat"),_SCS("is_flat") );
- ADD_PROPERTYNZ( PropertyInfo( Variant::BOOL, "clip_text" ), _SCS("set_clip_text"),_SCS("get_clip_text") );
- ADD_PROPERTYNO( PropertyInfo( Variant::INT, "align",PROPERTY_HINT_ENUM,"Left,Center,Right" ), _SCS("set_text_align"),_SCS("get_text_align") );
+ ADD_PROPERTYNZ( PropertyInfo( Variant::STRING, "text", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_DEFAULT_INTL ), "set_text","get_text") ;
+ ADD_PROPERTYNZ( PropertyInfo( Variant::OBJECT, "icon", PROPERTY_HINT_RESOURCE_TYPE, "Texture" ), "set_button_icon","get_button_icon") ;
+ ADD_PROPERTY( PropertyInfo( Variant::BOOL, "flat" ), "set_flat","is_flat") ;
+ ADD_PROPERTYNZ( PropertyInfo( Variant::BOOL, "clip_text" ), "set_clip_text","get_clip_text") ;
+ ADD_PROPERTYNO( PropertyInfo( Variant::INT, "align",PROPERTY_HINT_ENUM,"Left,Center,Right" ), "set_text_align","get_text_align") ;
}