diff --git a/kubo_window.c b/kubo_window.c index 511d348..cdb3457 100644 --- a/kubo_window.c +++ b/kubo_window.c @@ -30,11 +30,12 @@ bool kubo_window_should_close(struct kubo_context *context) { } void kubo_window_tick(struct kubo_context *context) { - kubo_window_render(context); - kubo_window_input(context); + window_render(context); + window_mouse_input(context); + window_key_input(context); } -void kubo_window_render(struct kubo_context *context) { +static void window_render(struct kubo_context *context) { BeginDrawing(); ClearBackground(WHITE); @@ -50,13 +51,9 @@ void kubo_window_render(struct kubo_context *context) { EndDrawing(); } -void kubo_window_input(struct kubo_context *context) { +static void window_mouse_input(struct kubo_context *context) { int bar_limit = GetScreenHeight() - KUBO_BAR_HEIGHT; - if (IsKeyPressed(KEY_Q)) { - context->exit_pending = true; - } - struct kubo_wall *current_wall = kubo_context_get_pending_wall(context); if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) { @@ -69,3 +66,28 @@ void kubo_window_input(struct kubo_context *context) { current_wall->state = KUBO_WALL_DONE; } } + +static void window_key_input(struct kubo_context *context) { + int key_code = GetKeyPressed(); + + if (!key_code) { + return; + } + + switch (key_code) { + case KEY_Q: + context->exit_pending = true; + break; + + case KEY_W: + context->state = KUBO_CONTEXT_STATE_WALL_NEW; + break; + + case KEY_S: + context->state = KUBO_CONTEXT_STATE_WALL_SELECT; + break; + + default: + break; + } +} diff --git a/kubo_window.h b/kubo_window.h index 17bd4c2..97b8038 100644 --- a/kubo_window.h +++ b/kubo_window.h @@ -35,7 +35,8 @@ bool kubo_window_should_close(struct kubo_context *context); void kubo_window_tick(struct kubo_context *context); -void kubo_window_render(struct kubo_context *context); -void kubo_window_input(struct kubo_context *context); +static void window_render(struct kubo_context *context); +static void window_mouse_input(struct kubo_context *context); +static void window_key_input(struct kubo_context *context); #endif