separate input handling

master
Alessandro Mauri 1 year ago
parent b34de18b64
commit 27e5ead579
  1. 40
      input.c
  2. 5
      test/Makefile
  3. 38
      ugui.c

@ -0,0 +1,40 @@
#include "ugui.h"
/*=============================================================================*
* Input Handling *
*=============================================================================*/
#define TEST_CTX(ctx) { if (!ctx) return -1; }
int ug_input_mousemove(ug_ctx_t *ctx, int x, int y)
{
TEST_CTX(ctx)
if (x < 0 || y < 0)
return 0;
ctx->mouse.pos = (ug_vec2_t){.x = x, .y = y};
return 0;
}
int ug_input_mousedown(ug_ctx_t *ctx, unsigned int mask)
{
TEST_CTX(ctx);
ctx->mouse.update |= mask;
return 0;
}
int ug_input_mouseup(ug_ctx_t *ctx, unsigned int mask)
{
TEST_CTX(ctx);
ctx->mouse.update |= mask;
return 0;
}

@ -1,10 +1,11 @@
CFLAGS = -Wall -Wextra -Wpedantic -std=c11 -g
LDFLAGS = -lSDL2 -lm
test: main.c ../ugui.c ../ugui.h ../def_style.h
test: main.c ../ugui.c ../ugui.h ../def_style.h ../input.c
gcc ${CFLAGS} -c ../ugui.c -o ugui.o
gcc ${CFLAGS} -c ../input.c -o input.o
gcc ${CFLAGS} -c main.c -o main.o
gcc ${LDFLAGS} main.o ugui.o -o test
gcc ${LDFLAGS} main.o ugui.o input.o -o test
clean:
rm -f main.o ugui.o

@ -923,44 +923,6 @@ ug_rect_t ug_container_get_rect(ug_ctx_t *ctx, const char *name)
}
/*=============================================================================*
* Input Handling *
*=============================================================================*/
int ug_input_mousemove(ug_ctx_t *ctx, int x, int y)
{
TEST_CTX(ctx)
if (x < 0 || y < 0)
return 0;
ctx->mouse.pos = (ug_vec2_t){.x = x, .y = y};
return 0;
}
int ug_input_mousedown(ug_ctx_t *ctx, unsigned int mask)
{
TEST_CTX(ctx);
ctx->mouse.update |= mask;
return 0;
}
int ug_input_mouseup(ug_ctx_t *ctx, unsigned int mask)
{
TEST_CTX(ctx);
ctx->mouse.update |= mask;
return 0;
}
/*=============================================================================*
* Frame Handling *
*=============================================================================*/

Loading…
Cancel
Save