#pragma once

#include <string>
#include <vector>

#include <imgui.h>

struct ImDrawList;

namespace ta::presentation::overlays::esp
{
struct EspOverlayLabel
{
    ImVec2 position = {0.0f, 0.0f};
    ImVec4 color = {1.0f, 1.0f, 1.0f, 1.0f};
    std::string text;
    bool use_hud_font = false;
    float font_size = 0.0f;
};

struct EspOverlayDrawData
{
    std::vector<EspOverlayLabel> labels;
};

class EspOverlayRenderer
{
public:
    static void draw(ImDrawList* draw_list, const EspOverlayDrawData& data);
};
}
