|
@@ -22,7 +22,7 @@ library | lastest version | category | LoC | description
|
|
--------------------- | ---- | -------- | --- | --------------------------------
|
|
--------------------- | ---- | -------- | --- | --------------------------------
|
|
**[stb_vorbis.c](stb_vorbis.c)** | 1.22 | audio | 5584 | decode ogg vorbis files from file/memory to float/16-bit signed output
|
|
**[stb_vorbis.c](stb_vorbis.c)** | 1.22 | audio | 5584 | decode ogg vorbis files from file/memory to float/16-bit signed output
|
|
**[stb_image.h](stb_image.h)** | 2.27 | graphics | 7890 | image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC
|
|
**[stb_image.h](stb_image.h)** | 2.27 | graphics | 7890 | image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC
|
|
-**[stb_truetype.h](stb_truetype.h)** | 1.25 | graphics | 5011 | parse, decode, and rasterize characters from truetype fonts
|
|
|
|
|
|
+**[stb_truetype.h](stb_truetype.h)** | 1.25 | graphics | 5017 | parse, decode, and rasterize characters from truetype fonts
|
|
**[stb_image_write.h](stb_image_write.h)** | 1.16 | graphics | 1724 | image writing to disk: PNG, TGA, BMP
|
|
**[stb_image_write.h](stb_image_write.h)** | 1.16 | graphics | 1724 | image writing to disk: PNG, TGA, BMP
|
|
**[stb_image_resize.h](stb_image_resize.h)** | 0.97 | graphics | 2634 | resize images larger/smaller with good quality
|
|
**[stb_image_resize.h](stb_image_resize.h)** | 0.97 | graphics | 2634 | resize images larger/smaller with good quality
|
|
**[stb_rect_pack.h](stb_rect_pack.h)** | 1.01 | graphics | 623 | simple 2D rectangle packer with decent quality
|
|
**[stb_rect_pack.h](stb_rect_pack.h)** | 1.01 | graphics | 623 | simple 2D rectangle packer with decent quality
|
|
@@ -43,7 +43,7 @@ library | lastest version | category | LoC | description
|
|
**[stb_include.h](stb_include.h)** | 0.02 | misc | 295 | implement recursive #include support, particularly for GLSL
|
|
**[stb_include.h](stb_include.h)** | 0.02 | misc | 295 | implement recursive #include support, particularly for GLSL
|
|
|
|
|
|
Total libraries: 21
|
|
Total libraries: 21
|
|
-Total lines of C code: 55379
|
|
|
|
|
|
+Total lines of C code: 55385
|
|
|
|
|
|
|
|
|
|
FAQ
|
|
FAQ
|
|
@@ -59,6 +59,24 @@ They are also licensed under the MIT open source license, if you have lawyers
|
|
who are unhappy with public domain. Every source file includes an explicit
|
|
who are unhappy with public domain. Every source file includes an explicit
|
|
dual-license for you to choose from.
|
|
dual-license for you to choose from.
|
|
|
|
|
|
|
|
+#### How do I use these libraries?
|
|
|
|
+
|
|
|
|
+The idea behind single-header file libraries is that they're easy to distribute and deploy
|
|
|
|
+because all the code is contained in a single file. By default, the .h files in here act as
|
|
|
|
+their own header files, i.e. they declare the functions contained in the file but don't
|
|
|
|
+actually result in any code getting compiled.
|
|
|
|
+
|
|
|
|
+So in addition, you should select _exactly one_ C/C++ source file that actually instantiates
|
|
|
|
+the code, preferably a file you're not editing frequently. This file should define a
|
|
|
|
+specific macro (this is documented per-library) to actually enable the function definitions.
|
|
|
|
+For example, to use stb_image, you should have exactly one C/C++ file that doesn't
|
|
|
|
+include stb_image.h regularly, but instead does
|
|
|
|
+
|
|
|
|
+ #define STB_IMAGE_IMPLEMENTATION
|
|
|
|
+ #include "stb_image.h"
|
|
|
|
+
|
|
|
|
+The right macro to define is pointed out right at the top of each of these libraries.
|
|
|
|
+
|
|
#### <a name="other_libs"></a> Are there other single-file public-domain/open source libraries with minimal dependencies out there?
|
|
#### <a name="other_libs"></a> Are there other single-file public-domain/open source libraries with minimal dependencies out there?
|
|
|
|
|
|
[Yes.](https://github.com/nothings/single_file_libs)
|
|
[Yes.](https://github.com/nothings/single_file_libs)
|