aboutsummaryrefslogtreecommitdiff
path: root/font.c
diff options
context:
space:
mode:
authorRiley Beckett <rbeckettvt@gmail.com>2025-10-23 00:07:26 -0400
committerRiley Beckett <rbeckettvt@gmail.com>2025-10-23 00:07:26 -0400
commit9d8db4146d025e3a967700414a9fc68fa186045e (patch)
tree9d0e0d6dd46a2f580f4b2fb4e1fbba2b0c6fb11e /font.c
parent90d6b2a866c6da29921dfae3d684203fd232ea74 (diff)
add basic cursor movement
Diffstat (limited to 'font.c')
-rw-r--r--font.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/font.c b/font.c
index 93cbeca..2795ab3 100644
--- a/font.c
+++ b/font.c
@@ -156,6 +156,15 @@ int atlas_get_strwidth(client_state* state, const char* str) {
return (int)ceil(width);
}
+int atlas_get_strwidth_len(client_state* state, const char* str, size_t len) {
+ float width = 0;
+ // TODO - UNICODE MAKE WORKY
+ for (int i = 0; i < len; i++) {
+ width += ceil(state->atlas.metrics[(int)str[i]].advance_x);
+ }
+ return (int)ceil(width);
+}
+
void atlas_calc_item_widths(client_state* state) {
if (state->items) {
array_for_all(item_t, item, state->items) {