Font Testing

This commit is contained in:
2022-10-24 13:48:17 -07:00
parent 2764a2ac42
commit ab725fcdc5
14 changed files with 270 additions and 93 deletions

View File

@@ -10,40 +10,25 @@
#include "util/mathutils.hpp"
#include "display/Texture.hpp"
#include "display/mesh/QuadMesh.hpp"
#include "FontMeasure.hpp"
#define FONT_NEWLINE '\n'
#define FONT_SPACE ' '
namespace Dawn {
class FontMeasure {
public:
virtual float_t getWidth() = 0;
virtual float_t getHeight() = 0;
virtual int32_t getQuadsOnLine(int32_t line);
virtual int32_t getQuadIndexOnLine(int32_t line);
virtual int32_t getLineCount();
virtual int32_t getQuadCount();
};
class Font {
public:
Font();
virtual void init() = 0;
virtual void buffer(
std::string text,
float_t fontSize,
float_t maxWidth,
Mesh &mesh,
FontMeasure &measure
struct FontMeasure *info
) = 0;
virtual Texture & getTexture() = 0;
virtual void draw(Mesh &mesh, int32_t startCharacter, int32_t length) = 0;
virtual float_t getLineHeight(float_t fontSize) = 0;
virtual float_t getDefaultFontSize() = 0;
virtual ~Font();
};
}