summaryrefslogtreecommitdiff
path: root/src/font.hpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-04-21 15:46:46 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-04-21 15:46:46 -0400
commitef37d054dfe5812efa9eefb4b9b18621fdabac25 (patch)
tree713042c875004da0058bf5813c4b2b736b6c4ed3 /src/font.hpp
parenta066448effaa9a56c049136067a73ba0156f65d3 (diff)
pke: first-pass serializing ui and font renders
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);