summaryrefslogtreecommitdiff
path: root/src/cdeps/image_impl.c
diff options
context:
space:
mode:
authort <t@tjp.lol>2026-07-07 11:26:32 -0600
committert <t@tjp.lol>2026-07-07 11:26:45 -0600
commitf83578fdc9264019a1a1cef8c5484a161167d3dd (patch)
tree888f11767f944d61e5ca8eb92fa1b2dba295a4b8 /src/cdeps/image_impl.c
initial commit, moved libpanto over from the pantograph repo
Diffstat (limited to 'src/cdeps/image_impl.c')
-rw-r--r--src/cdeps/image_impl.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/cdeps/image_impl.c b/src/cdeps/image_impl.c
new file mode 100644
index 0000000..6266630
--- /dev/null
+++ b/src/cdeps/image_impl.c
@@ -0,0 +1,25 @@
+// Single translation unit that compiles the implementations of the
+// vendored single-header image libraries. Keeping the implementation
+// macros confined to one .c file avoids duplicate-symbol errors.
+
+#define STB_IMAGE_IMPLEMENTATION
+// We only decode raster formats we detect via magic bytes. Disable the
+// formats we never feed in to shrink code size and attack surface.
+#define STBI_NO_HDR
+#define STBI_NO_LINEAR
+#define STBI_NO_PSD
+#define STBI_NO_PIC
+#define STBI_NO_PNM
+#define STBI_NO_TGA
+#include "stb_image.h"
+
+#define STB_IMAGE_RESIZE_IMPLEMENTATION
+#include "stb_image_resize2.h"
+
+#define STB_IMAGE_WRITE_IMPLEMENTATION
+#include "stb_image_write.h"
+
+// We feed jebp bytes from memory only; no file I/O needed.
+#define JEBP_NO_STDIO
+#define JEBP_IMPLEMENTATION
+#include "jebp.h"