#rectangle #traits #rect #lib #library

rect-lib

一个用于处理任何大致矩形的简单库

1个不稳定版本

0.1.1 2024年4月22日
0.1.0 2024年4月22日

#4#rect

GPL-3.0 许可协议

23KB
230

rect-lib 📐

一个用于在Rust中处理任何大致矩形的简单库。

功能 📦

  • 矩形特质:实现所有矩形操作的特质;见文档

  • BasicRectangleRectangle特质的一个简单实现。

使用 🚀

将crate添加到你的Cargo.toml

[dependencies]
rect-lib = "0.1.1"

或使用cargo add

cargo add rect-lib

然后,你可以在代码中使用Rectangle特质

use rect_lib::Rectangle;

#[derive(Clone, Copy)]
pub struct BasicRectangle {
    x: i32,
    y: i32,
    width: i32,
    height: i32,
}

impl Rectangle for BasicRectangle {
    type Unit = i32;

    fn left(&self) -> i32 {
        self.x
    }

    fn right(&self) -> i32 {
        self.x + self.width - 1
    }

    fn top(&self) -> i32 {
        self.y
    }

    fn bottom(&self) -> i32 {
        self.y - self.height + 1
    }

    fn new_from_sides(left: i32, right: i32, top: i32, bottom: i32) -> Self {
        Self {
            x: left,
            y: top,
            width: right - left + 1,
            height: top - bottom + 1,
        }
    }
}

许可协议 📜

本项目遵循GPL-v3许可协议。

依赖

~465KB