#include "menubar.h" #include "iostream" MenuBar::MenuBar() { } void MenuBar::input(const sf::Event &event) { Widget::input(event); for (const auto& bar_button : _bar_buttons) bar_button->input(event); } void MenuBar::update() { Widget::update(); } void MenuBar::draw(sf::RenderTarget& target, sf::RenderStates states) const { Widget::draw(target, states); target.draw(_bar_rect, states); for (const auto& bar_button : _bar_buttons) target.draw(*bar_button, states); } void MenuBar::setRect(const sf::FloatRect& rect) { _bar_rect.setPosition(rect.left, rect.top); _bar_rect.setSize({rect.width, rect.height}); int x = 0; int button_width = 100; for (const auto& bar_button : _bar_buttons) { bar_button->setRect(sf::FloatRect(x, 0, button_width, _bar_rect.getSize().y)); x += button_width; } } void MenuBar::setPosition(const sf::Vector2f& position) { _bar_rect.setPosition(position); } bool MenuBar::isUnderMouse(int mouse_x, int mouse_y) const { return _bar_rect.getGlobalBounds().contains(mouse_x, mouse_y); }