#pragma once

#include <memory>

#include "Image.h"

class FontGlyph
{

public:
    FontGlyph(unsigned width, unsigned height, int bearingX, int bearingY,
            int advanceX, std::unique_ptr<Image<unsigned char> > image);

    Image<unsigned char>* getImage() const;

    unsigned getWidth() const;
    unsigned getHeight() const;
    int getBearingX() const;
    int getBearingY() const;
    int getAdvanceX() const;

private:
    unsigned mWidth{0};
    unsigned mHeight{0};
    int mBearingX{0};
    int mBearingY{0};
    int mAdvanceX{0};
    std::unique_ptr<Image<unsigned char> > mImage;
};
