| c | ||
| cpp | ||
| img | ||
| tests | ||
| .gitignore | ||
| easyfont.hpp | ||
| README.md | ||
| STYLE.md | ||
| TODO.md | ||
STB Libraries
Just the stb header files I use in my projects. They're copied in their entirety, copyright notices included. The GitHub repo for them is here.
The c files are in c/, but cpp/ contains refactored versions for C++17 and beyond. These include the author name and date but all are assumed to be MIT/Public Domain by default.
C++
The C++ conversions are as faithful API-wise as is possible. However, I am making internal changes to improve these libraries to fit more use cases and be as efficient as can be. They retain their original spirit and the credit goes entirely to Sean Barrett for their creation.
Image Processing
The image processing library takes from stb_image.h directly. It uses all the same techniques and technical implementations, just converted to C++17 and namespaced; this way we have opt-in formats rather than opt-out. This also splits helpers and image formats, which can help with compilation speed. The image library is under the sel::img namespace.
img::util
The util namespace contains helper functions that are shared among the image processing formats. Context management, memory management, byte utilities, error handling, etc. The util.hpp file is a prerequisite for including any of the image formats.
img::bmp
The bmp namespace provides functions for handling bitmap images; this is primarily bit manipulation and mask handling.
img::tga
The tga namespace is for TGA format images. For the most part this is just RLE decoding and 16-bit RGB conversion.