ui_text_input selection

This commit is contained in:
Krzosa Karol
2025-01-23 19:14:54 +01:00
parent 0b6ea60fa7
commit 39c9a9841e
2 changed files with 46 additions and 44 deletions

View File

@@ -52,42 +52,6 @@ struct ui_caret_t {
i32 ifront;
};
fn ui_caret_t ui_caret_clamp(ui_caret_t c, i32 min, i32 max) {
return (ui_caret_t){CLAMP(c.e[0],min,max), CLAMP(c.e[1],min,max), c.ifront};
}
fn i32 ui_caret_front(ui_caret_t c) { return c.e[c.ifront]; }
fn i32 ui_caret_back(ui_caret_t c) { return c.e[c.ifront ? 0 : 1]; }
ui_caret_t ui_caret(i32 front, i32 back) {
ui_caret_t result = {0};
if (front >= back) {
result.range.min = back;
result.range.max = front;
result.ifront = 1;
} else {
result.range.min = front;
result.range.max = back;
result.ifront = 0;
}
return result;
}
ui_caret_t ui_caret_set_back(ui_caret_t caret, i32 back) {
i32 front = ui_caret_front(caret);
ui_caret_t result = ui_caret(front, back);
return result;
}
ui_caret_t ui_caret_set_front(ui_caret_t caret, i32 front) {
i32 back = ui_caret_back(caret);
ui_caret_t result = ui_caret(front, back);
return result;
}
fn ui_caret_t ui_carets(i32 x) {
return ui_caret(x, x);
}
typedef struct ui_text_input_t ui_text_input_t;
struct ui_text_input_t {
union {