some more refactoring and improvements

This commit is contained in:
ohyzha
2024-12-31 10:13:36 +02:00
parent 84221f3e2b
commit 8d389db50c
5 changed files with 61 additions and 46 deletions

View File

@@ -10,16 +10,24 @@
namespace OpenVulkano::Scene
{
struct FontPixelSizeConfig
{
float size = 16.f;
float dpi = 72.f;
bool isPixelSize = true;
};
class BitmapFontAtlasGenerator : public FontAtlasGeneratorBase
{
public:
BitmapFontAtlasGenerator() : FontAtlasGeneratorBase(1) {}
BitmapFontAtlasGenerator(FontPixelSizeConfig config = FontPixelSizeConfig()) : FontAtlasGeneratorBase(1), m_pixelSizeConfig(config) {}
void GenerateAtlas(const std::string& fontFile, const std::set<uint32_t>& charset,
const std::optional<std::string>& pngOutput = std::nullopt) override;
void GenerateAtlas(const Array<char>& fontData, const std::set<uint32_t>& charset,
const std::optional<std::string>& pngOutput = std::nullopt) override;
private:
void Generate(const std::variant<std::string, Array<char>>& source, const std::set<uint32_t>& chset, const std::optional<std::string>& pngOutput);
private:
FontPixelSizeConfig m_pixelSizeConfig;
};
}