From 1402cf4dd9ee0450ed11fce7ca01c15da31aa8dd Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Fri, 06 Aug 2021 17:24:29 -0400 Subject: tk: Implement text cursor movement --- (limited to 'src/tk/text.c') diff --git a/src/tk/text.c b/src/tk/text.c index 95bd03b..a495cde 100644 --- a/src/tk/text.c +++ b/src/tk/text.c @@ -30,7 +30,7 @@ struct mftk_text { char min_char; char max_char; size_t len; - size_t cur; + int cur; int y; int w; int h; @@ -52,10 +52,29 @@ static int _mftk_text_key_event(struct mftk_widget *w, SDL_Event *e) { struct mftk_text *t = (struct mftk_text *) w; + int len; switch (e->type) { case SDL_KEYDOWN: + switch (e->key.keysym.sym) { + case SDLK_LEFT: + --t->cur; + if (t->cur < 0) { + t->cur = 0; + } + break; + case SDLK_RIGHT: + ++t->cur; + len = strlen(t->val); + if (t->cur >= len) { + t->cur = len; + } + break; + default: + break; + } /* TODO */ + SDL_DestroyTexture(t->texture); t->texture = NULL; break; default: -- cgit v0.9.1