#include "widget.h"

void Widget::input(const sf::Event &event)
{
    for (auto& child : _children)
        child->input(event);
}

void Widget::update()
{
    for (auto& child : _children)
        child->update();
}

void Widget::draw(sf::RenderTarget& target, sf::RenderStates states) const
{
    for (auto& child : _children)
        child->draw(target, states);
}

void Widget::addChild(const std::shared_ptr<Widget> &child)
{
    child->_parent = shared_from_this();
    _children.emplace_back(child);
}