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日

#487GUI

Download history 16/week @ 2024-03-13 14/week @ 2024-03-20 18/week @ 2024-03-27 20/week @ 2024-04-03 14/week @ 2024-04-10 35/week @ 2024-04-17 18/week @ 2024-04-24 12/week @ 2024-05-01 7/week @ 2024-05-08 7/week @ 2024-05-15 11/week @ 2024-05-22 22/week @ 2024-05-29 16/week @ 2024-06-05 15/week @ 2024-06-12 20/week @ 2024-06-19 12/week @ 2024-06-26

每月65次下载
5 个crates中(直接使用2个)使用

MIT/Apache

64KB
1.5K SLoC

cuadra

Crate API Lines Of Code

布局。

有关更多信息,请参阅文档

状态

目前处于开发实验阶段。

贡献

欢迎贡献以帮助随着时间的推移改进和精炼这个库。如果您发现了一个错误,有一个新功能的想法,或者只是想对现有代码库提出改进建议,请与我们联系。


lib.rs:

布局

定义了几个用于 PositionSize 及其组合作为 Zone 的原语。

类型具有8位、16位、32位和64位大小实现,并且它们的值仅限于与等效位大小有符号整数的范围的一半,将1/4的范围留给了正值。

位置可以有负值,而大小只能为正。

例如,一个 Position8 可以在 -64,-6463,63 之间持有值,而一个 Size16 可以有 1,116_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

依赖关系