Dolda2000 GitWeb
/
kaka
/
rust-sdl-test.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Collect wall points into walls and place them in a wall grid
[kaka/rust-sdl-test.git]
/
src
/
common
/
geometry.rs
diff --git
a/src/common/geometry.rs
b/src/common/geometry.rs
index
02f93b1
..
5a03ffb
100644
(file)
--- a/
src/common/geometry.rs
+++ b/
src/common/geometry.rs
@@
-182,28
+182,28
@@
impl Radians {
}
#[macro_export]
}
#[macro_export]
-macro_rules!
rect
{
- ( $
x:expr, $y
:expr ) => {
-
Rect { x: $x, y: $y
}
+macro_rules!
dimen
{
+ ( $
w:expr, $h
:expr ) => {
+
Dimension { width: $w, height: $h
}
};
}
};
}
-#[derive(Default)]
-pub struct
Rect
<T> {
+#[derive(De
bug, De
fault)]
+pub struct
Dimension
<T> {
pub width: T,
pub height: T,
}
pub width: T,
pub height: T,
}
-impl<T: Mul<Output = T> + Copy>
Rect
<T> {
+impl<T: Mul<Output = T> + Copy>
Dimension
<T> {
#[allow(dead_code)]
pub fn area(&self) -> T {
self.width * self.height
}
}
#[allow(dead_code)]
pub fn area(&self) -> T {
self.width * self.height
}
}
-impl<T> From<(T, T)> for
Rect
<T> {
+impl<T> From<(T, T)> for
Dimension
<T> {
fn from(item: (T, T)) -> Self {
fn from(item: (T, T)) -> Self {
-
Rect
{
+
Dimension
{
width: item.0,
height: item.1,
}
width: item.0,
height: item.1,
}
@@
-291,9
+291,9
@@
mod tests {
}
#[test]
}
#[test]
- fn area_for_
rect
_of_multipliable_type() {
- let r:
Rect
<_> = (30, 20).into(); // the Into trait uses the From trait
+ fn area_for_
dimension
_of_multipliable_type() {
+ let r:
Dimension
<_> = (30, 20).into(); // the Into trait uses the From trait
assert_eq!(r.area(), 30 * 20);
assert_eq!(r.area(), 30 * 20);
- // let a =
Rect
::from(("a".to_string(), "b".to_string())).area(); // this doesn't work, because area() is not implemented for String
+ // let a =
Dimension
::from(("a".to_string(), "b".to_string())).area(); // this doesn't work, because area() is not implemented for String
}
}
}
}