From e708d5e2cbc40a0f10778c42c8f86163086575f8 Mon Sep 17 00:00:00 2001 From: Klemen Plestenjak Date: Thu, 21 Dec 2023 18:02:14 +0100 Subject: [PATCH] Add method for getting unique key id --- engine/breeze/ui/ui.c | 8 ++++++-- engine/breeze/ui/ui.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/engine/breeze/ui/ui.c b/engine/breeze/ui/ui.c index e4ac424..3a942a3 100644 --- a/engine/breeze/ui/ui.c +++ b/engine/breeze/ui/ui.c @@ -49,7 +49,7 @@ typedef struct BzUI { BzUINode *root; u64 currFrame; - u64 idCount; // Per-frame + u64 keyIdCount; // Per-frame } BzUI; BzUIKey bzUIKeyNull() { @@ -114,7 +114,7 @@ void bzUIBegin(BzUI *ui, i32 width, i32 height) { ui->currFrame++; ui->root->lastFrame = ui->currFrame; - ui->idCount = 1; + ui->keyIdCount = 1; } static Rectangle getNodeRect(const BzUINode *node) { @@ -381,6 +381,10 @@ void bzUIEnd(BzUI *ui) { renderNode(ui, ui->root); } +BzUIKey bzUIGetUniqueKey(BzUI *ui) { + return ui->keyIdCount++; +} + BzUINode *bzUINodeMake(BzUI *ui, BzUIKey key, BzUIFlags flags) { BzUINode *node = NULL; if (key != bzUIKeyNull()) diff --git a/engine/breeze/ui/ui.h b/engine/breeze/ui/ui.h index 22b6eff..6e5e4bf 100644 --- a/engine/breeze/ui/ui.h +++ b/engine/breeze/ui/ui.h @@ -119,6 +119,7 @@ void bzUIDestroy(BzUI *ui); void bzUIBegin(BzUI *ui, i32 width, i32 height); void bzUIEnd(BzUI *ui); +BzUIKey bzUIGetUniqueKey(BzUI *ui); BzUINode *bzUINodeMake(BzUI *ui, BzUIKey key, BzUIFlags flags);