diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-04-21 15:46:46 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-04-21 15:46:46 -0400 |
| commit | ef37d054dfe5812efa9eefb4b9b18621fdabac25 (patch) | |
| tree | 713042c875004da0058bf5813c4b2b736b6c4ed3 /src/font.hpp | |
| parent | a066448effaa9a56c049136067a73ba0156f65d3 (diff) | |
pke: first-pass serializing ui and font renders
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); |
