#pragma once

#include <filesystem>
#include <string>

using Path = std::filesystem::path;

class FontItem
{
public:
    FontItem(const std::string& faceName = "Arial", float size = 16);

    const Path& getPath() const;

    const std::string& getFaceName() const;

    float getSize() const;

    void setPath(const Path& path);

    bool hasPath() const;

    bool operator==(const FontItem& rhs) const
    {
       return (mSize == rhs.mSize)
       && (mFaceName == rhs.mFaceName);
    }

    bool operator!=(const FontItem& rhs) const
    {
      return !operator==(rhs);
    }

private:
    float mSize{24};
    std::string mFaceName;
    Path mPath;
};
