grid and mouse snapping

This commit is contained in:
Luka Jankovic 2025-08-30 21:40:16 +02:00
parent 736829a119
commit 61986f41fa
7 changed files with 72 additions and 19 deletions

View file

@ -18,9 +18,12 @@
#include "kubo_bar.h"
const char *snap_text_on = "Snap enabled";
const char *snap_text_off = "Snap disabled";
static inline int push_text(int x, int y, const char *text, Color bg_color);
void kubo_bar_render(struct kubo_context *context) {
void kubo_bar_render(struct kubo_context *context, bool snap_enabled) {
const int bar_y = GetScreenHeight() - KUBO_BAR_HEIGHT;
int bar_text_x = 10;
@ -30,9 +33,18 @@ void kubo_bar_render(struct kubo_context *context) {
bar_text_x += 2 * KUBO_BAR_PADDING;
if (context->state.id == KUBO_CONTEXT_COMMAND) {
const char *snap_text = snap_enabled ? snap_text_on : snap_text_off;
switch (context->state.id) {
case KUBO_CONTEXT_COMMAND:
kubo_command_bar_render(bar_text_x, bar_y + (KUBO_BAR_PADDING / 2),
KUBO_BAR_HEIGHT - KUBO_BAR_PADDING);
break;
case KUBO_CONTEXT_WALL_NEW:
bar_text_x += push_text(bar_text_x, bar_y, snap_text, BLACK);
break;
default:
break;
}
}