diff options
Diffstat (limited to 'scene/gui/link_button.h')
-rw-r--r-- | scene/gui/link_button.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/scene/gui/link_button.h b/scene/gui/link_button.h new file mode 100644 index 0000000000..d218482337 --- /dev/null +++ b/scene/gui/link_button.h @@ -0,0 +1,40 @@ +#ifndef LINKBUTTON_H +#define LINKBUTTON_H + + +#include "scene/gui/base_button.h" +#include "scene/resources/bit_mask.h" + +class LinkButton : public BaseButton { + + OBJ_TYPE( LinkButton, BaseButton ); +public: + + enum UnderlineMode { + UNDERLINE_MODE_ALWAYS, + UNDERLINE_MODE_ON_HOVER + }; +private: + String text; + UnderlineMode underline_mode; + +protected: + + virtual Size2 get_minimum_size() const; + void _notification(int p_what); + static void _bind_methods(); + +public: + + void set_text(const String& p_text); + String get_text() const; + + void set_underline_mode(UnderlineMode p_underline_mode); + UnderlineMode get_underline_mode() const; + + LinkButton(); +}; + +VARIANT_ENUM_CAST( LinkButton::UnderlineMode ); + +#endif // LINKBUTTON_H |