prosperon/source/engine/font.h

33 lines
860 B
C
Raw Normal View History

2021-11-30 21:29:18 -06:00
#ifndef FONT_H
#define FONT_H
#include "mathc.h"
struct mShader;
/// Holds all state information relevant to a character as loaded using FreeType
struct Character {
uint32_t TextureID; // ID handle of the glyph texture
mfloat_t Size[2]; // Size of glyph
mfloat_t Bearing[2]; // Offset from baseline to left/top of glyph
unsigned int Advance; // Horizontal offset to advance to next glyph
};
struct sFont {
uint32_t fontTexture;
uint32_t height;
2022-01-31 17:04:59 -06:00
struct Character Characters[127];
2021-11-30 21:29:18 -06:00
};
2022-01-31 17:04:59 -06:00
void font_init();
2022-01-19 16:43:21 -06:00
struct sFont *MakeFont(const char *fontfile, int height);
2021-11-30 21:29:18 -06:00
void sdrawCharacter(struct Character c, mfloat_t cursor[2], float scale,
struct mShader *shader, float color[3]);
2022-01-31 17:04:59 -06:00
void text_settype(struct sFont *font);
2022-01-19 16:43:21 -06:00
void renderText(
2021-11-30 21:29:18 -06:00
const char *text, mfloat_t pos[2], float scale,
mfloat_t color[3], float lw);
#endif