Add ui::element::transparent attribute

This commit is contained in:
Nikita Lisitsa 2022-04-20 18:46:21 +03:00
parent df963e18a3
commit cabe5721aa
8 changed files with 19 additions and 0 deletions

View file

@ -63,6 +63,8 @@ namespace psemek::ui
virtual void hide() { set_hidden(true); }
virtual void show() { set_hidden(false); }
virtual bool transparent() const { return false; }
virtual std::shared_ptr<struct style const> style() const { return style_; }
virtual std::shared_ptr<struct style const> own_style() const { return own_style_; }
virtual std::shared_ptr<struct style const> set_style(std::shared_ptr<struct style const> st);

View file

@ -25,6 +25,8 @@ namespace psemek::ui
bool on_event(mouse_wheel const & event) override;
bool on_event(key_press const & event) override;
bool transparent() const override { return true; }
void draw(painter &) const override {}
private:

View file

@ -52,6 +52,8 @@ namespace psemek::ui
struct shape const & shape() const override { return shape_; }
void reshape(geom::box<float, 2> const & bbox) override;
bool transparent() const override { return true; }
void draw(painter &) const override {}
~grid_layout() override;

View file

@ -31,6 +31,8 @@ namespace psemek::ui
geom::box<float, 2> size_constraints() const override;
bool transparent() const override { return true; }
void draw(painter & p) const override;
private:

View file

@ -75,6 +75,8 @@ namespace psemek::ui
void style_updated() override;
void own_style_updated() override;
bool transparent() const override { return true; }
void draw(painter & p) const override;
protected:

View file

@ -28,6 +28,8 @@ namespace psemek::ui
virtual void set_position(geom::point<float, 2> const & p, x_align x, y_align y, bool clamp = true);
bool transparent() const override { return true; }
void draw(ui::painter &) const override {}
private:

View file

@ -42,6 +42,8 @@ namespace psemek::ui
geom::box<float, 2> size_constraints() const override;
bool transparent() const override { return true; }
void draw(painter &) const override {}
~screen() override;

View file

@ -41,6 +41,11 @@ namespace psemek::ui
return root->size_constraints();
}
bool transparent() const override
{
return true;
}
void draw(painter &) const override {}
std::shared_ptr<element> root;