// dvxIcon.c  -- stb_image implementation for DVX GUI
//
// This file exists solely to instantiate the stb_image implementation.
// stb_image is a single-header library: you #define STB_IMAGE_IMPLEMENTATION
// in exactly one .c file to generate the actual function bodies. Putting
// this in its own translation unit keeps the stb code isolated so it:
//   1. Compiles once, not in every file that #includes stb_image.h
//   2. Can have its own warning suppressions without affecting project code
//   3. Doesn't slow down incremental rebuilds (only recompiles if stb changes)
//
// stb_image was chosen over libpng/libjpeg because:
//   - Single header, no external dependencies  -- critical for DJGPP cross-compile
//   - Supports BMP, PNG, JPEG, GIF with one include
//   - Public domain license, no linking restrictions
//   - Small code footprint suitable for DOS targets
//
// STBI_ONLY_* defines strip out support for unused formats (TGA, PSD, HDR,
// PIC, PNM) to reduce binary size. STBI_NO_SIMD is required because DJGPP
// targets 486/Pentium which lack SSE; on the Linux/SDL build it's harmless.

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"

#define STBI_ONLY_BMP
#define STBI_ONLY_PNG
#define STBI_ONLY_JPEG
#define STBI_ONLY_GIF
#define STBI_NO_SIMD
#define STB_IMAGE_IMPLEMENTATION
#include "thirdparty/stb_image_wrap.h"

#pragma GCC diagnostic pop

#include <stdlib.h>
#include "dvxMem.h"
