From 1392344cdde1529b1ea1163e258e721b0f3d13b3 Mon Sep 17 00:00:00 2001 From: Sean Barrett Date: Sat, 16 Apr 2016 09:14:39 -0700 Subject: [PATCH] include stb_connected_components.h in main stb compile tests, add test app --- data/map_01.png | Bin 0 -> 26064 bytes data/map_02.png | Bin 0 -> 3243 bytes data/map_03.png | Bin 0 -> 8747 bytes tests/stb.dsp | 6 +++++- tests/test_c_compilation.c | 5 +++++ tests/test_cpp_compilation.cpp | 5 +++++ tests/test_truetype.c | 4 ++-- 7 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 data/map_01.png create mode 100644 data/map_02.png create mode 100644 data/map_03.png diff --git a/data/map_01.png b/data/map_01.png new file mode 100644 index 0000000000000000000000000000000000000000..a2be8a0dc73c2be249a6250034362ccaef2644ea GIT binary patch literal 26064 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 literal 0 HcmV?d00001 diff --git a/tests/stb.dsp b/tests/stb.dsp index 68c1806..b5ce917 100644 --- a/tests/stb.dsp +++ b/tests/stb.dsp @@ -66,7 +66,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /GX /Zi /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "MAIN_TEST" /FR /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /GX /Zi /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "GRID_TEST" /FR /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" @@ -86,6 +86,10 @@ LINK32=link.exe # Name "stb - Win32 Debug" # Begin Source File +SOURCE=.\grid_reachability.c +# End Source File +# Begin Source File + SOURCE=..\docs\other_libs.md # End Source File # Begin Source File diff --git a/tests/test_c_compilation.c b/tests/test_c_compilation.c index de25330..3f4148c 100644 --- a/tests/test_c_compilation.c +++ b/tests/test_c_compilation.c @@ -9,6 +9,7 @@ #define STB_RECT_PACK_IMPLEMENTATION #define STB_VOXEL_RENDER_IMPLEMENTATION #define STB_EASY_FONT_IMPLEMENTATION +#define STB_CONNECTED_COMPONENTS_IMPLEMENTATION #include "stb_easy_font.h" #include "stb_herringbone_wang_tile.h" @@ -21,6 +22,10 @@ #include "stb_image_resize.h" #include "stb_rect_pack.h" +#define STBCC_GRID_COUNT_X_LOG2 10 +#define STBCC_GRID_COUNT_Y_LOG2 10 +#include "stb_connected_components.h" + #define STBVOX_CONFIG_MODE 1 #include "stb_voxel_render.h" diff --git a/tests/test_cpp_compilation.cpp b/tests/test_cpp_compilation.cpp index 97bd2c2..4e77da5 100644 --- a/tests/test_cpp_compilation.cpp +++ b/tests/test_cpp_compilation.cpp @@ -8,6 +8,7 @@ #define STB_HERRINGBONE_WANG_TILE_IMPLEMENTATION #define STB_RECT_PACK_IMPLEMENTATION #define STB_VOXEL_RENDER_IMPLEMENTATION +#define STB_CONNECTED_COMPONENTS_IMPLEMENTATION #define STBI_MALLOC my_malloc #define STBI_FREE my_free @@ -27,6 +28,10 @@ void my_free(void *) { } #include "stb_divide.h" #include "stb_herringbone_wang_tile.h" +#define STBCC_GRID_COUNT_X_LOG2 10 +#define STBCC_GRID_COUNT_Y_LOG2 10 +#include "stb_connected_components.h" + #define STBVOX_CONFIG_MODE 1 #include "stb_voxel_render.h" diff --git a/tests/test_truetype.c b/tests/test_truetype.c index 4b78152..d18d3b5 100644 --- a/tests/test_truetype.c +++ b/tests/test_truetype.c @@ -3,13 +3,13 @@ #include "stb_truetype.h" #include "stb_image_write.h" +#ifdef TT_TEST + #include char ttf_buffer[1<<25]; unsigned char output[512*100]; -#ifdef TT_TEST - void debug(void) { stbtt_fontinfo font;