Add mouse implementation of most components.

This commit is contained in:
ArthurSonzogni
2021-04-18 22:33:41 +02:00
parent d685a8655e
commit 890a41a64c
20 changed files with 239 additions and 12 deletions

View File

@@ -5,13 +5,26 @@
namespace ftxui {
Element Button::Render() {
if (Focused())
return text(label) | border | inverted;
else
return text(label) | border;
return text(label) | //
border | //
(Focused() ? inverted : nothing) | //
reflect(box_);
}
bool Button::OnEvent(Event event) {
if (event.is_mouse() && box_.Contain(event.mouse_x(), event.mouse_y())) {
if (event.is_mouse_move()) {
TakeFocus();
return true;
}
if (event.is_mouse_left_down()) {
on_click();
return true;
}
return false;
}
if (event == Event::Return) {
on_click();
return true;