#ifndef LABEL_HPP_
#define LABEL_HPP_

#include <string>

#include <Widget/Widget.hpp>
#include <Utilities/Extern.hpp>

/**
 * @brief A widget which displays text.
 */
class Label : public Widget
{
private:
    std::string text;
    glm::vec4 color;

public:
    /**
     * @brief Construct a label.
     * 
     * @param text The label text.
     */
    Label(std::string text, glm::vec4 color = glm::vec4(1.0f));

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

#endif