summaryrefslogtreecommitdiff
path: root/src/static-ui.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-05-21 13:45:14 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-05-21 13:58:13 -0400
commit2502a7fb8911a93272240a76de738c37a40744c4 (patch)
tree94573990d413acf484952a006a6bdd248dacb6e5 /src/static-ui.cpp
parent6478cb96e5054c9146fac90bcabc4d9c780e9915 (diff)
pke: static-ui DynArray to pk_arr_t
Diffstat (limited to 'src/static-ui.cpp')
-rw-r--r--src/static-ui.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/static-ui.cpp b/src/static-ui.cpp
index 2f2ce11..1eca4e4 100644
--- a/src/static-ui.cpp
+++ b/src/static-ui.cpp
@@ -1,7 +1,6 @@
#include "static-ui.hpp"
-#include "dynamic-array.hpp"
#include "ecs.hpp"
#include "font.hpp"
#include "game-settings.hpp"
@@ -93,7 +92,7 @@ struct pke_ui_flex_params {
float unit_total;
};
-void pke_ui_calc_px(DynArray<pke_ui_box_instance_buffer_item> &buffer, pke_ui_flex_params *flex_params, pke_ui_box *box) {
+void pke_ui_calc_px(pk_arr_t<pke_ui_box_instance_buffer_item> &buffer, pke_ui_flex_params *flex_params, pke_ui_box *box) {
assert(box != nullptr);
glm::vec2 px_size;
glm::vec2 px_min_size;
@@ -234,15 +233,16 @@ void pke_ui_calc_px(DynArray<pke_ui_box_instance_buffer_item> &buffer, pke_ui_fl
translate.y /= ((float)Extent.height / 2.0);
translate.z = 0;
- pke_ui_box_instance_buffer_item *buffer_item = &buffer.Push();
- buffer_item->pos_scale = glm::translate(glm::mat4(1), translate);
- buffer_item->pos_scale = glm::scale(buffer_item->pos_scale, scale);
- buffer_item->px_scale.x = (2.0 / (float)Extent.width);
- buffer_item->px_scale.y = (2.0 / (float)Extent.height);
- buffer_item->depth = (float)box->layer;
+ pke_ui_box_instance_buffer_item tmp{};
+ tmp.pos_scale = glm::translate(glm::mat4(1), translate);
+ tmp.pos_scale = glm::scale(tmp.pos_scale, scale);
+ tmp.px_scale.x = (2.0 / (float)Extent.width);
+ tmp.px_scale.y = (2.0 / (float)Extent.height);
+ tmp.depth = (float)box->layer;
+ pk_arr_append_t(&buffer, tmp);
}
-void pke_ui_recalc_sizes_recursive(DynArray<pke_ui_box_instance_buffer_item> &arr, pke_ui_box *box, uint8_t depth = 0) {
+void pke_ui_recalc_sizes_recursive(pk_arr_t<pke_ui_box_instance_buffer_item> &arr, pke_ui_box *box, uint8_t depth = 0) {
PKE_UI_BOX_FLAG_T flags_masked;
uint8_t flex_count = 0;
pke_ui_flex_params flex_params{};
@@ -277,9 +277,9 @@ void pke_ui_recalc_sizes_recursive(DynArray<pke_ui_box_instance_buffer_item> &ar
}
}
-void pke_ui_update_instance_buffer(DynArray<pke_ui_box_instance_buffer_item> &arr) {
+void pke_ui_update_instance_buffer(pk_arr_t<pke_ui_box_instance_buffer_item> &arr) {
VkResult vkResult;
- if (arr.Count() > pke_ui_master.bindings.instance_buffer_max_count) {
+ if (arr.next > pke_ui_master.bindings.instance_buffer_max_count) {
VkBuffer newBuffer;
VkBufferCreateInfo bufferCI;
bufferCI.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
@@ -289,7 +289,7 @@ void pke_ui_update_instance_buffer(DynArray<pke_ui_box_instance_buffer_item> &ar
bufferCI.queueFamilyIndexCount = 1;
bufferCI.pQueueFamilyIndices = &graphicsFamilyIndex;
bufferCI.usage = VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT;
- bufferCI.size = sizeof(pke_ui_box_instance_buffer_item) * arr.Count();
+ bufferCI.size = sizeof(pke_ui_box_instance_buffer_item) * arr.next;
vkResult = vkCreateBuffer(vkDevice, &bufferCI, vkAllocator, &newBuffer);
assert(vkResult == VK_SUCCESS);
VkMemoryRequirements vkMemReqs;
@@ -323,10 +323,10 @@ void pke_ui_update_instance_buffer(DynArray<pke_ui_box_instance_buffer_item> &ar
}
pke_ui_master.bindings.bd_instance.buffer = newBuffer;
pke_ui_master.bindings.deviceMemoryInst = new_memory;
- pke_ui_master.bindings.instance_buffer_max_count = arr.Count();
+ pke_ui_master.bindings.instance_buffer_max_count = arr.next;
}
PKVK_TmpBufferDetails tmpBufferDetails{};
- PKVK_BeginBuffer(graphicsFamilyIndex, sizeof(pke_ui_box_instance_buffer_item) * arr.Count(), tmpBufferDetails);
+ PKVK_BeginBuffer(graphicsFamilyIndex, sizeof(pke_ui_box_instance_buffer_item) * arr.next, tmpBufferDetails);
{
VkCommandBufferBeginInfo vkCommandBufferBeginInfo;
vkCommandBufferBeginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
@@ -337,12 +337,12 @@ void pke_ui_update_instance_buffer(DynArray<pke_ui_box_instance_buffer_item> &ar
vkResult = vkBeginCommandBuffer(tmpBufferDetails.cmdBuffer, &vkCommandBufferBeginInfo);
assert(vkResult == VK_SUCCESS);
- memcpy(tmpBufferDetails.deviceData, arr.GetPtr(), sizeof(pke_ui_box_instance_buffer_item) * arr.Count());
+ memcpy(tmpBufferDetails.deviceData, arr.data, sizeof(pke_ui_box_instance_buffer_item) * arr.next);
VkBufferCopy vk_buffer_copy{};
vk_buffer_copy.srcOffset = 0;
vk_buffer_copy.dstOffset = 0;
- vk_buffer_copy.size = sizeof(pke_ui_box_instance_buffer_item) * arr.Count();
+ vk_buffer_copy.size = sizeof(pke_ui_box_instance_buffer_item) * arr.next;
vkCmdCopyBuffer(tmpBufferDetails.cmdBuffer, tmpBufferDetails.buffer, pke_ui_master.bindings.bd_instance.buffer, 1, &vk_buffer_copy);
vkResult = vkEndCommandBuffer(tmpBufferDetails.cmdBuffer);
@@ -364,14 +364,14 @@ void pke_ui_update_instance_buffer(DynArray<pke_ui_box_instance_buffer_item> &ar
assert(vkResult == VK_SUCCESS);
}
PKVK_EndBuffer(tmpBufferDetails);
- pke_ui_master.bindings.instance_counter = arr.Count();
+ pke_ui_master.bindings.instance_counter = arr.next;
}
void pke_ui_tick(double delta) {
(void)delta;
if (pke_ui_master.h_root_boxes == 0) return;
if (pke_ui_master.should_recalc_ui == true || pkeSettings.rt.was_framebuffer_resized == true) {
- DynArray<pke_ui_box_instance_buffer_item> arr;
+ pk_arr_t<pke_ui_box_instance_buffer_item> arr;
pke_ui_master.should_recalc_ui = false;
pke_ui_master.px_scale = glm::vec2(
2.0 / (float)Extent.width,