diff options
Diffstat (limited to 'src/font.hpp')
| -rw-r--r-- | src/font.hpp | 9 |
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); |
