#pragma once

#include <filesystem>

#include <imgui.h>

#include "../util/physfs.hpp"

namespace game::resource
{
  class Font
  {
    ImFont* internal{};
    bool valid{};

  public:
    static constexpr auto SMALL = 16;
    static constexpr auto NORMAL = 20;
    static constexpr auto HEADER_1 = 40;
    static constexpr auto HEADER_2 = 30;
    static constexpr auto HEADER_3 = 24;

    Font() = default;
    Font(const std::filesystem::path&, float = NORMAL);
    Font(const util::physfs::Path&, float = NORMAL);
    ImFont* get();
    bool is_valid() const;
  };
}
