summaryrefslogtreecommitdiff
path: root/src/font.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/font.hpp')
-rw-r--r--src/font.hpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/font.hpp b/src/font.hpp
index 0396e8d..d31209c 100644
--- a/src/font.hpp
+++ b/src/font.hpp
@@ -53,16 +53,17 @@ struct FontRenderSettings {
float char_scale;
float line_height_scale;
float char_spacing_scale;
- glm::ivec2 surface_area_size; // TODO
+ glm::ivec2 surface_area_size;
glm::ivec2 surface_area_pos;
FONT_RENDER_SURFACE_AREA_TYPE_FLAG surface_area_type_flags; // TODO
};
-struct FontRender {
- FontRenderHandle handle;
+struct FontRender : public Entity_Base {
uint32_t *glyph_indices;
+ FontRenderHandle fr_handle;
uint32_t n_glyphs;
uint32_t buffer_start_index;
FontRenderSettings settings;
+ pk_cstr text;
};
struct FontTypeMSDFSettings {
float minimum_scale;
@@ -120,7 +121,7 @@ void FontType_Deserialize(std::istream &stream);
FontType* FontType_GetFonts(FontTypeIndex &count);
FontTypeIndex FontType_RegisterFont(pk_cstr title, AssetHandle fontTextureHandle, AssetHandle glyphsHandle, FontTypeMSDFSettings *msdf_settings, FontTypeSpacing *spacing);
void FontType_Unload(FontTypeIndex idx);
-FontRenderHandle FontType_AddStringRender(FontTypeIndex idx_ft, pk_str str, FontRenderSettings *settings);
+FontRenderHandle FontType_AddStringRender(FontTypeIndex idx_ft, const pk_cstr &&str, FontRenderSettings *settings, Entity_Base *parent = nullptr);
void FontType_UpdateStringRender(FontRenderHandle frh, FontRenderSettings *settings);
void FontType_RemoveStringRender(FontRenderHandle frh);