11 个版本 (2 个稳定版本)
2.0.1 | 2023年7月19日 |
---|---|
2.0.0 | 2023年7月1日 |
1.6.0-dev | 2023年6月4日 |
0.7.4 | 2023年2月19日 |
0.4.0 | 2022年12月22日 |
#343 in 数学
每月下载 23 次
用于 lexsdl
285KB
7.5K SLoC
LexLib
Lexevier 的 Lib 库
是一个 C/Rust 库,包含 C stdlib 缺失的杂项功能和一些有用的功能。
无需麻烦即可在 C++ 中使用。
特性
- Linux 和 Windows 的操作系统抽象。
- 图像处理。
- 颜色处理。
- 原始 C 字符串处理。
- SIMD 向量数学。
- 小型数学工具。
- 计时。
- 向量(可增长数组)。
Rust
对于在 Rust stdlib 中有等效或更好选择的 C 函数,不需要包装在安全接口中。
目前不需要 Rust 编译器,但将来可能需要。
一些特性(如向量数学)在 Rust 端尚不可用。
文档
C:在头文件中。
Rust:https://docs.rs/lexlib/latest/lexlib/
依赖项
- libc
- win32api (kernel32)
许可证
在 zlib 许可证下授权。
变更日志
2.0.1
- 修复 LEXLIB_VEC2I/3I_ZERO。
- 修复 Windows 中的 cfile 模式。
- LexlibVec(T)。
- lexlibStrNew()。
2.0.0
- 许可证改为 zlib。
- rust 绑定和包装。
- 支持灰度透明度。
- 结构体不再使用 typedef。
- 支持 SIMD。
- 重做 Vec4 数学。
- 重做图像加载。
- LexlibColorFlt -> LexlibColorF。
- LexlibImage.depth -> LexlibImage.bpc。
- lexlibImagePixelGet() -> lexlibImagePixel()。
- lexlibImagePixel16Get() -> lexlibImagePixel16()。
- lexlibMillis() -> lexlibTimeMillis()。
- lexlibSeconds() -> lexlibTimeSeconds()。
- lexlibStrcat() -> lexlibStrCat()。
- 添加 typedef.h。
- 添加 vec.h(可增长数组)。
- 移除 path。
- 移除 aabb。
- 移除 LexlibBytes。
- 移除 lexlibFileToString()。
- 移除 lexlibStringToFile()。
- 移除 lexlibFileBytes()。
- 移除 lexlibPrintTimed()。
- 移除 lexlibVersion()。
- 移除 LEXLIB_UNREACHABLE。
- LexlibBool。
- lexlibStrFile()。
- LEXLIB_STRING()。
- lexlibCFileMap()。
- lexlibCFileMode()。
- lexlibCFileSize()。
- lexlibCFileType().
- lexlibColorGrayAlpha().
- lexlibTimeNanos().
- lexlibTimeMicros().
- lexlibThrdNanos().
- lexlibThrdMicros().
- lexlibThrdMillis().
- lexlibThrdSeconds().
- lexlibProcNanos().
- lexlibProcMicros().
- lexlibProcMillis().
- lexlibProcSeconds().
- lexlibTimerAdd().
- LEXLIB_CLAMP().
- lexlibRad().
- lexlibDeg()
- lexlibFloatCmp().
- lexlibMemUnmap().
- lexlibMemReverse16().
- lexlibMemReverse32().
- lexlibMemReverse64().
- lexlibImageCopy().
- lexlibImageFillArea().
- lexlibImageLoadBmpMem().
- lexlibVecNew().
- lexlibVecDelete().
- lexlibVecGet().
- lexlibVecPush().
- lexlibVecPop().
- lexlibVecInsert().
- lexlibVecRemove().
- lexlibVecResize().
- lexlibVecFind().
- lexlibVecSwap().
- lexlibVecClear().
- lexlibVecLen().
- lexlibVecCap().
1.5.0
- lexlibFileBytes();
- lexlibPowu();
- lexlibColor16Blend();
- lexlibImagePixelSet();
- lexlibImagePixelGet();
- lexlibImagePixel16Set();
- lexlibImagePixel16Get();
- lexlibImageProfileChange();
- lexlibImageLoadBmp();
- lexlibImageSaveBmp();
- lexlibImageSaveBmpEx();
- LexlibImage.data是官方支持机器字节序的。
- fixed strPath缓冲区溢出。
- fixed imageFlip X缓冲区溢出。
- fixed linkedList内存泄露。
1.4.0
- function lexlibStrCopy().
- removed path.h from default includes.
- renamed LEXLIB_C_EXTERN to LEXLIB_EXTERN.
- functions lexlibClamp().
- struct LexlibColor8.
- struct LexlibColor16.
- struct LexlibColorFtl.
- functions lexlibColorBlend().
- functions lexlibColorGray().
- functions lexlibColorPremultiply().
- functions lexlibColorTo8().
- functions lexlibColorTo16().
- functions lexlibColorToFlt().
- function lexlibColorFltClamp().
1.3.1
- deprecation attribute.
- removed PKGBUILD from package.
- fixed a scope problem with clang.
1.3.0
- LexlibImage.
- support for loading and saving pngs.
- lexlibStrPath.
- LexlibPath被lexlibStrPath取代。
- 将所有 Bool改为uint8_t。
1.2.0
- lexlibRandom(), 获取一个安全的随机数。
查看完整的变更日志,请访问项目根目录下的CHANGELOG.md。
依赖项
~230KB