#pragma once

#include <stdint.h>

namespace mini
{
    namespace font
    {
        struct char_t {
            uint8_t x,y,w,h,base;
        };

        struct font_t {
            char    *name {nullptr};
            uint8_t surface {0};
            uint8_t spacing {1};
            char_t  chars[256];
        };
        extern font_t *current_font;

        void init();
        void quit();
        
        uint8_t load(const char *filename);

        namespace current {
            void set(uint8_t font);
            uint8_t get();
        }

        namespace spacing {
            void set(uint8_t spacing);
            uint8_t get();
        }
    }
}