diff --git a/Makefile b/Makefile index 376f6e9e5558436e4783bedbd3fc7ec4ed675b95..e5818a10dc1719b91e43b721b03c2e1e1ec5da77 100644 --- a/Makefile +++ b/Makefile @@ -1,26 +1,18 @@ -#The compiler CC:=gcc -#The flags passed to the compiler CFLAGS:=-g -O3 -Wall -Wextra -fsanitize=address -fsanitize=leak -std=gnu11 -#The flags passed to the linker LDFLAGS:=-lm VPATH:=utils utils/vec2 utils/gfx src +NAME:= draw +OBJFILES:= vec2.o utils.o field.o draw.o gfx.o +TESTS:= draw_tests field_tests -main: main.o vec2.o utils.o field.o draw.o gfx.o +main: main.o $(OBJFILES) $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) -lSDL2 -tests: vec_tests.o vec2.o - $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) +all : $(TESTS) -field.o: field.h - -draw.o: draw.h - -vec2.o: vec2.h - -utils.o: utils.h - -gfx.o: gfx.h +$(TESTS): %: %.o $(OBJFILES) + $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) -lSDL2 clean: - rm -f *.o main tests + rm -f *.o main $(TESTS) tests diff --git a/src/draw_tests.c b/src/draw_tests.c new file mode 100644 index 0000000000000000000000000000000000000000..4eba0e1356e801c294ba359993e4c4c4777e40bd --- /dev/null +++ b/src/draw_tests.c @@ -0,0 +1,56 @@ +#include <stdlib.h> +#include "draw.h" + +int main() { + struct gfx_context_t* ctxt = gfx_create("main", 100, 100); + + coordinates_t src = coordinates_create(50, 50); + coordinates_t dst = coordinates_create(75, 50); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(72, 62); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(62, 72); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(50, 75); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(38, 72); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(28, 62); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(25, 50); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(28, 38); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(37, 28); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(50, 25); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(62, 28); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(72, 37); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + coordinates_t c = coordinates_create(50, 50); + int r = 25; + gfx_draw_circle(ctxt, c, r, COLOR_RED); + + while (true) { + if (gfx_keypressed() == SDLK_ESCAPE) + break; + + gfx_present(ctxt); + } + + return EXIT_SUCCESS; +} diff --git a/src/field_tests.c b/src/field_tests.c new file mode 100644 index 0000000000000000000000000000000000000000..4eba0e1356e801c294ba359993e4c4c4777e40bd --- /dev/null +++ b/src/field_tests.c @@ -0,0 +1,56 @@ +#include <stdlib.h> +#include "draw.h" + +int main() { + struct gfx_context_t* ctxt = gfx_create("main", 100, 100); + + coordinates_t src = coordinates_create(50, 50); + coordinates_t dst = coordinates_create(75, 50); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(72, 62); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(62, 72); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(50, 75); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(38, 72); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(28, 62); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(25, 50); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(28, 38); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(37, 28); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(50, 25); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(62, 28); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + dst = coordinates_create(72, 37); + gfx_draw_line(ctxt, src, dst, COLOR_WHITE); + + coordinates_t c = coordinates_create(50, 50); + int r = 25; + gfx_draw_circle(ctxt, c, r, COLOR_RED); + + while (true) { + if (gfx_keypressed() == SDLK_ESCAPE) + break; + + gfx_present(ctxt); + } + + return EXIT_SUCCESS; +}