#pragma once

#include "ofMain.h"
#include "ofTrueTypeFont.h"
#include <freetype2/freetype/freetype.h>
#include <msdf-atlas-gen/msdf-atlas-gen.h>
#include "conversion.h"

namespace ofxMsdfgen {
struct AtlasSettings {
    float maxCornerAngle = 3.0;
    float minimumScale = 24.0;
    float pixelRange = 2.0;
    float miterLimit = 1.0;
    #ifdef TARGET_EMSCRIPTEN
        int threadCount = 1;
    #else
        int threadCount = 4;
    #endif
};
class Atlas {
    public:
        Atlas();
        ~Atlas();
        void setup(string _fontPath);
        void setup(string _fontPath, AtlasSettings _settings);
        bool generate();
        const ofImage & getAtlasImage();
        AtlasSettings settings;
    private:
        string fontPath;
        ofImage atlasImage;
};
}
