mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-12-16 01:48:56 +08:00
Merge dom and component focus (#978)
Instead of two levels of focus with `focus` and `selected`, use a recursive level. The components set the one "active" and hbox/vbox/dbox Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
This commit is contained in:
@@ -31,7 +31,7 @@ Component Renderer(std::function<Element()> render) {
|
||||
public:
|
||||
explicit Impl(std::function<Element()> render)
|
||||
: render_(std::move(render)) {}
|
||||
Element Render() override { return render_(); }
|
||||
Element OnRender() override { return render_(); }
|
||||
std::function<Element()> render_;
|
||||
};
|
||||
|
||||
@@ -88,7 +88,7 @@ Component Renderer(std::function<Element(bool)> render) {
|
||||
: render_(std::move(render)) {}
|
||||
|
||||
private:
|
||||
Element Render() override { return render_(Focused()) | reflect(box_); }
|
||||
Element OnRender() override { return render_(Focused()) | reflect(box_); }
|
||||
bool Focusable() const override { return true; }
|
||||
bool OnEvent(Event event) override {
|
||||
if (event.is_mouse() && box_.Contain(event.mouse().x, event.mouse().y)) {
|
||||
|
||||
Reference in New Issue
Block a user