// 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.h" #pragma GCC diagnostic pop