6个版本 (3个重大更新)
0.3.1 | 2023年4月11日 |
---|---|
0.3.0 | 2023年4月9日 |
0.2.0 | 2023年3月6日 |
0.1.0 | 2023年3月6日 |
0.0.2 | 2022年6月27日 |
#487 在 GUI
每月65次下载
在 5 个crates中(直接使用2个)使用
64KB
1.5K SLoC
cuadra
布局。
有关更多信息,请参阅文档。
状态
目前处于开发实验阶段。
贡献
欢迎贡献以帮助随着时间的推移改进和精炼这个库。如果您发现了一个错误,有一个新功能的想法,或者只是想对现有代码库提出改进建议,请与我们联系。
lib.rs
:
布局
定义了几个用于 Position
、Size
及其组合作为 Zone
的原语。
类型具有8位、16位、32位和64位大小实现,并且它们的值仅限于与等效位大小有符号整数的范围的一半,将1/4的范围留给了正值。
位置可以有负值,而大小只能为正。
例如,一个 Position8
可以在 -64,-64
和 63,63
之间持有值,而一个 Size16
可以有 1,1
和 16_383,16_383
之间的值。
从0到夹断最大值的非负范围始终是原语最大值的1/4。这允许在安全边缘周围移动最大的大小,同时仍然能够用相同的内部位大小表示所有点。
以下图表显示了 Position8
的示例值范围,围绕中心正方形,以及围绕它的外层安全边缘,最大正夹断大小用 +
填充。
-128,127 0,127 127,127
.-----|-----|-----|-----·
| |
| -64,63 63,63 |
| .-----------. --
| | |+++++| |
| | |+++++| |
-128,0 -- |----0,0----| -- 127,0
| | | | |
| | | | |
| .-----------. --
| -64,-64 63,-64 |
| |
.-----|-----|-----|-----.
-128,-128 0,-128 127,-128