summaryrefslogtreecommitdiff
path: root/src/font.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-07-17 14:50:05 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-07-17 14:50:05 -0400
commit8fbeadda53243b701957a26dba1113d84ad5c7c4 (patch)
treed37007379260bd8e6ec2a9c24ff269a8b5875dff /src/font.cpp
parentf50804900157af65da50166325163444a78aaaec (diff)
pke: handle pk.h breaking changes
Diffstat (limited to 'src/font.cpp')
-rw-r--r--src/font.cpp34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/font.cpp b/src/font.cpp
index 737e86d..deaf956 100644
--- a/src/font.cpp
+++ b/src/font.cpp
@@ -246,7 +246,7 @@ void FontType_Init() {
FontTypeIndex fti;
ftd.h_ft = FontTypeIndex{0};
ftd.n_ft = FontTypeIndex{5};
- ftd.arr_ft = pk_new<FontType>(5);
+ ftd.arr_ft = pk_new_arr<FontType>(5);
for (FontTypeIndex_T i = 0; i < 5; ++i) {
FontType *ft = &ftd.arr_ft[i];
ft->glyphs = nullptr;
@@ -275,7 +275,7 @@ void FontType_Teardown() {
for (i = FontTypeIndex{0}; i < ftd.h_ft; ++i) {
FontType_Unload(i);
}
- if (ftd.arr_ft != nullptr) pk_delete(ftd.arr_ft, (FontTypeIndex_T)ftd.n_ft);
+ if (ftd.arr_ft != nullptr) pk_delete_arr<FontType>(ftd.arr_ft, (FontTypeIndex_T)ftd.n_ft);
}
// TODO - Memory Pressure
@@ -306,7 +306,7 @@ void FontType_Tick(double delta) {
}
ft->gr.should_update_instance_buffer = false;
- fibis = pk_new<FontInstanceBufferItem>(index);
+ fibis = pk_new_arr<FontInstanceBufferItem>(index);
ft->bindings.instance_counter = index;
index = 0;
for (FontRenderIndex_T k = 0; k < (FontRenderIndex_T)ft->h_render; ++k) {
@@ -379,7 +379,7 @@ void FontType_Tick(double delta) {
assert(vkResult == VK_SUCCESS);
}
PKVK_EndBuffer(tmpBufferDetails);
- pk_delete<FontInstanceBufferItem>(fibis, ft->bindings.instance_counter);
+ pk_delete_arr<FontInstanceBufferItem>(fibis, ft->bindings.instance_counter);
}
}
@@ -444,7 +444,7 @@ void FontType_Deserialize(std::istream &stream) {
uint64_t prefixLen = strlen(PKE_PROJECT_FONT_TITLE);
title.length = strlen(readLine + prefixLen);
title.reserved = title.length + 1;
- title.val = pk_new<char>(title.reserved);
+ title.val = pk_new_arr<char>(title.reserved);
strncpy(const_cast<char*>(title.val), readLine + prefixLen, title.reserved);
continue;
}
@@ -557,11 +557,11 @@ FontTypeIndex FontType_RegisterFont(pk_cstr title, AssetHandle fontTextureHandle
ftd.h_ft += FontTypeIndex{1};
if (ftd.h_ft >= ftd.n_ft) {
ftd.n_ft += FontTypeIndex{5};
- FontType *arr = pk_new<FontType>((FontTypeIndex_T)ftd.n_ft);
+ FontType *arr = pk_new_arr<FontType>((FontTypeIndex_T)ftd.n_ft);
if (idx > FontTypeIndex{0}) {
memcpy(arr, ftd.arr_ft, sizeof(FontType) * (FontTypeIndex_T)idx);
}
- if (ftd.arr_ft != nullptr && ftd.arr_ft != CAFE_BABE(FontType)) pk_delete<FontType>(ftd.arr_ft, (FontTypeIndex_T)idx);
+ if (ftd.arr_ft != nullptr && ftd.arr_ft != CAFE_BABE(FontType)) pk_delete_arr<FontType>(ftd.arr_ft, (FontTypeIndex_T)idx);
ftd.arr_ft = arr;
}
@@ -570,7 +570,7 @@ FontTypeIndex FontType_RegisterFont(pk_cstr title, AssetHandle fontTextureHandle
ft->title = title;
ft->fontTextureAssetHandle = fontTextureHandle;
ft->glyphDetailsAssetHandle = glyphsHandle;
- ft->renders = pk_new<FontRender>(startingGlyphCount);
+ ft->renders = pk_new_arr<FontRender>(startingGlyphCount);
ft->h_render = FontRenderIndex{0};
ft->n_render = FontRenderIndex{startingGlyphCount};
ft->msdf_settings = *msdf_settings;
@@ -720,10 +720,10 @@ void FontType_Unload(FontTypeIndex idx) {
if (ft->renders != nullptr) {
for (FontRenderIndex_T i = 0; i < (FontRenderIndex_T)ft->h_render; ++i) {
if (ft->renders[i].glyph_indices != nullptr) {
- pk_delete<uint32_t>(ft->renders[i].glyph_indices, ft->renders[i].n_glyphs);
+ pk_delete_arr<uint32_t>(ft->renders[i].glyph_indices, ft->renders[i].n_glyphs);
}
}
- pk_delete<FontRender>(ft->renders, (FontTypeIndex_T)ft->n_render);
+ pk_delete_arr<FontRender>(ft->renders, (FontTypeIndex_T)ft->n_render);
}
if (ft->gr.vkDescriptorSet != VK_NULL_HANDLE && ft->gr.vkDescriptorPool != VK_NULL_HANDLE) {
@@ -795,7 +795,7 @@ void FontType_Unload(FontTypeIndex idx) {
ft->gr.deviceMemoryTexture = VK_NULL_HANDLE;
if (ft->title.reserved != 0 && ft->title.val != nullptr) {
- pk_delete<char>(ft->title.val, ft->title.reserved);
+ pk_delete_arr<char>(ft->title.val, ft->title.reserved);
ft->title.val = nullptr;
ft->title.length = 0;
}
@@ -855,9 +855,9 @@ FontRenderHandle FontType_AddStringRender(FontTypeIndex idx_ft, const pk_cstr &&
if (ft->h_render >= ft->n_render) {
FontRenderIndex_T old_count{static_cast<FontRenderIndex_T>(ft->n_render)};
ft->n_render += FontRenderIndex{5};
- FontRender *arr = pk_new<FontRender>((FontRenderIndex_T)ft->n_render);
+ FontRender *arr = pk_new_arr<FontRender>((FontRenderIndex_T)ft->n_render);
memcpy(arr, ft->renders, sizeof(FontRender) * old_count);
- pk_delete<FontRender>(ft->renders, old_count);
+ pk_delete_arr<FontRender>(ft->renders, old_count);
ft->renders = arr;
}
fr = &ft->renders[(FontRenderIndex_T)idx_fr];
@@ -884,7 +884,7 @@ FontRenderHandle FontType_AddStringRender(FontTypeIndex idx_ft, const pk_cstr &&
// TODO specific bucket
count = glyph_indices.next;
fr->n_glyphs = count;
- fr->glyph_indices = pk_new<uint32_t>(count);
+ fr->glyph_indices = pk_new_arr<uint32_t>(count);
for (i = 0; i < count; ++i) {
fr->glyph_indices[i] = glyph_indices[i];
}
@@ -930,12 +930,12 @@ void FontType_UpdateStringRenderText(FontRenderHandle frh, pk_cstr &&cstr) {
// TODO specific bucket
count = glyph_indices.next;
fr.n_glyphs = count;
- fr.glyph_indices = pk_new<uint32_t>(count);
+ fr.glyph_indices = pk_new_arr<uint32_t>(count);
for (i = 0; i < count; ++i) {
fr.glyph_indices[i] = glyph_indices[i];
}
glyph_indices.data = nullptr;
- if (fr.text.reserved > 0 && fr.text.val != NULL) pk_delete<char>(fr.text.val, fr.text.reserved);
+ if (fr.text.reserved > 0 && fr.text.val != NULL) pk_delete_arr<char>(fr.text.val, fr.text.reserved);
fr.text = cstr;
ft.gr.should_update_instance_buffer = true;
@@ -961,7 +961,7 @@ void FontType_RemoveStringRender(FontRenderHandle handle) {
// 2025-04-16 - JCB
// not passing a specific bucket because pk_cstr doesn't store it.
// font.cpp assumes the user has already cloned the string if necessary - only assigns the value.
- pk_delete<char>(fr->text.val, fr->text.reserved);
+ pk_delete_arr<char>(fr->text.val, fr->text.reserved);
}
ECS_MarkForRemoval(fr);
}