#ifndef PANEL_HPP_
#define PANEL_HPP_

#include <Widget/Widget.hpp>

/**
 * @brief Represents the panel widget.
 * 
 * This widget has a specified minimum width and it fills its area with a specific
 * color.
 */
class Panel : public Widget
{
private:
    glm::ivec2 minSize;
    glm::vec4 color;

public:
    /**
     * @brief Construct the panel.
     * 
     * @param minSize The minimum size to declare.
     * @param color The color to fill with.
     */
    Panel(glm::ivec2 minSize = glm::ivec2(0, 0), glm::vec4 color = glm::vec4(0.0f));

    virtual glm::ivec2 getMinSize() override;
    virtual void draw(GraphicsContext &context) override;
};

#endif