diff options
Diffstat (limited to 'src/ui/button.cc')
-rw-r--r-- | src/ui/button.cc | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/ui/button.cc b/src/ui/button.cc index 0910995..e06e883 100644 --- a/src/ui/button.cc +++ b/src/ui/button.cc @@ -41,9 +41,18 @@ void Button::set_command(std::string const &command) button_command.assign(command); } -void Button::draw() +void Button::draw_border() { - Label::draw(); + if (!border()) + return; + + if (palette()) { + if (has_focus()) + render::gl::color(palette()->foreground()); + else + render::gl::color(palette()->border()); + } + render::primitives::border(global_location(), size()); } void Button::draw_text() @@ -61,12 +70,12 @@ void Button::draw_text() render::primitives::text_centered(global_location(), size(), text()); } -void Button::event_keypress(unsigned int key, unsigned int modifier) +void Button::keypress(unsigned int key, unsigned int modifier) { } -void Button::event_keyrelease(unsigned int key, unsigned int modifier) +void Button::keyrelease(unsigned int key, unsigned int modifier) { if (key == 512 + SDL_BUTTON_LEFT) { core::cmd() << button_command << std::endl; @@ -75,4 +84,3 @@ void Button::event_keyrelease(unsigned int key, unsigned int modifier) } - |