From f1ddc12b68b4e4c8087962de25260470e6df2bea Mon Sep 17 00:00:00 2001 From: Connor Thomson Date: Tue, 8 Sep 2026 18:27:39 -0700 Subject: Add tuxanci2 files --- src/widget/widget_catchkey.c | 141 ------------------------------------------- 1 file changed, 141 deletions(-) delete mode 100644 src/widget/widget_catchkey.c (limited to 'src/widget/widget_catchkey.c') diff --git a/src/widget/widget_catchkey.c b/src/widget/widget_catchkey.c deleted file mode 100644 index 814cfa1..0000000 --- a/src/widget/widget_catchkey.c +++ /dev/null @@ -1,141 +0,0 @@ -#include -#include - -#include "main.h" -#include "interface.h" -#include "font.h" -#include "mouse_buffer.h" - -#include "widget.h" -#include "widget_catchkey.h" - -widget_t *catch_key_new(int key, int x, int y, void *event) -{ - widget_catchkey_t *new; - - new = malloc(sizeof(widget_catchkey_t)); - new->key = key; - new->fce_event = event; - new->active = FALSE; - - return widget_new(WIDGET_TYPE_CATCHKEY, x, y, WIDGET_CATCHKEY_WIDTH, - WIDGET_CATCHKEY_HEIGHT, new); -} - -int catch_key_get(widget_t *widget) -{ - widget_catchkey_t *p; - - assert(widget != NULL); - assert(widget->type == WIDGET_TYPE_CATCHKEY); - - p = (widget_catchkey_t *) widget->private_data; - - return p->key; -} - -void catch_key_set(widget_t *widget, int key) -{ - widget_catchkey_t *p; - - assert(widget != NULL); - assert(widget->type == WIDGET_TYPE_CATCHKEY); - - p = (widget_catchkey_t *) widget->private_data; - - p->key = key; -} - -void catch_key_draw(widget_t *widget) -{ - widget_catchkey_t *p; - char *name; - - assert(widget != NULL); - assert(widget->type == WIDGET_TYPE_CATCHKEY); - - p = (widget_catchkey_t *) widget->private_data; - name = NULL; - - if (p->key != WIDGET_CATCHKEY_NOKEY) { - name = (char *) SDL_GetKeyName(p->key); - } - - if (name == NULL) { - name = "no key"; - } - - if (p->active) { - font_draw(name, widget->x, widget->y, COLOR_RED); - } else { - font_draw(name, widget->x, widget->y, COLOR_WHITE); - } -} - -static int getPressAnyKey() -{ - Uint8 *mapa; - int i; - - mapa = SDL_GetKeyState(NULL); - - for (i = SDLK_FIRST; i <= SDLK_COMPOSE; i++) { - if (i == SDLK_NUMLOCK || /* black key */ - i == SDLK_CAPSLOCK || - i == SDLK_SCROLLOCK) { - continue; - } - - if (mapa[i] == SDL_PRESSED) { - return i; - } - } - - return WIDGET_CATCHKEY_NOKEY; -} - -void catch_key_event(widget_t *widget) -{ - widget_catchkey_t *p; - - assert(widget != NULL); - assert(widget->type == WIDGET_TYPE_CATCHKEY); - - p = (widget_catchkey_t *) widget->private_data; - - if (mouse_buffer_is_on_area(0, 0, 0, 0, MOUSE_BUF_AREA_NONE|MOUSE_BUF_CLICK)) { - if (mouse_buffer_is_on_area(widget->x, widget->y, - WIDGET_CATCHKEY_WIDTH, - WIDGET_CATCHKEY_HEIGHT, - MOUSE_BUF_CLICK)) { - p->active = TRUE; - } else { - p->active = FALSE; - } - } - - if (p->active == TRUE) { - int key; - - key = getPressAnyKey(); - - if (key != WIDGET_CATCHKEY_NOKEY) { - p->key = key; - p->fce_event(widget); - p->active = FALSE; - } - } -} - -void catch_key_destroy(widget_t *widget) -{ - widget_catchkey_t *p; - - assert(widget != NULL); - assert(widget->type == WIDGET_TYPE_CATCHKEY); - - p = (widget_catchkey_t *) widget->private_data; - - free(p); - widget_destroy(widget); -} -- cgit v1.2.3