|
1 | 1 | use crate::Val;
|
2 |
| -use bevy_math::Vec2; |
3 | 2 | use bevy_reflect::Reflect;
|
4 |
| -use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Sub, SubAssign}; |
| 3 | +use std::ops::{Div, DivAssign, Mul, MulAssign}; |
5 | 4 |
|
6 | 5 | /// A type which is commonly used to define positions, margins, paddings and borders.
|
7 | 6 | ///
|
@@ -356,42 +355,15 @@ impl Size {
|
356 | 355 | };
|
357 | 356 | }
|
358 | 357 |
|
359 |
| -impl Add<Vec2> for Size { |
360 |
| - type Output = Size; |
361 |
| - |
362 |
| - fn add(self, rhs: Vec2) -> Self::Output { |
363 |
| - Self { |
364 |
| - width: self.width + rhs.x, |
365 |
| - height: self.height + rhs.y, |
366 |
| - } |
367 |
| - } |
368 |
| -} |
369 |
| - |
370 |
| -impl AddAssign<Vec2> for Size { |
371 |
| - fn add_assign(&mut self, rhs: Vec2) { |
372 |
| - self.width += rhs.x; |
373 |
| - self.height += rhs.y; |
374 |
| - } |
375 |
| -} |
376 |
| - |
377 |
| -impl Sub<Vec2> for Size { |
378 |
| - type Output = Size; |
379 |
| - |
380 |
| - fn sub(self, rhs: Vec2) -> Self::Output { |
| 358 | +impl From<(Val, Val)> for Size { |
| 359 | + fn from(vals: (Val, Val)) -> Self { |
381 | 360 | Self {
|
382 |
| - width: self.width - rhs.x, |
383 |
| - height: self.height - rhs.y, |
| 361 | + width: vals.0, |
| 362 | + height: vals.1, |
384 | 363 | }
|
385 | 364 | }
|
386 | 365 | }
|
387 | 366 |
|
388 |
| -impl SubAssign<Vec2> for Size { |
389 |
| - fn sub_assign(&mut self, rhs: Vec2) { |
390 |
| - self.width -= rhs.x; |
391 |
| - self.height -= rhs.y; |
392 |
| - } |
393 |
| -} |
394 |
| - |
395 | 367 | impl Mul<f32> for Size {
|
396 | 368 | type Output = Size;
|
397 | 369 |
|
@@ -433,27 +405,16 @@ mod tests {
|
433 | 405 | use super::*;
|
434 | 406 |
|
435 | 407 | #[test]
|
436 |
| - fn test_size_add() { |
437 |
| - assert_eq!( |
438 |
| - Size::new(Val::Px(10.), Val::Px(10.)) + Vec2::new(10., 10.), |
439 |
| - Size::new(Val::Px(20.), Val::Px(20.)) |
440 |
| - ); |
| 408 | + fn test_size_from() { |
| 409 | + let size: Size = (Val::Px(20.), Val::Px(30.)).into(); |
441 | 410 |
|
442 |
| - let mut size = Size::new(Val::Px(10.), Val::Px(10.)); |
443 |
| - size += Vec2::new(10., 10.); |
444 |
| - assert_eq!(size, Size::new(Val::Px(20.), Val::Px(20.))); |
445 |
| - } |
446 |
| - |
447 |
| - #[test] |
448 |
| - fn test_size_sub() { |
449 | 411 | assert_eq!(
|
450 |
| - Size::new(Val::Px(20.), Val::Px(20.)) - Vec2::new(10., 10.), |
451 |
| - Size::new(Val::Px(10.), Val::Px(10.)) |
| 412 | + size, |
| 413 | + Size { |
| 414 | + width: Val::Px(20.), |
| 415 | + height: Val::Px(30.), |
| 416 | + } |
452 | 417 | );
|
453 |
| - |
454 |
| - let mut size = Size::new(Val::Px(20.), Val::Px(20.)); |
455 |
| - size -= Vec2::new(10., 10.); |
456 |
| - assert_eq!(size, Size::new(Val::Px(10.), Val::Px(10.))); |
457 | 418 | }
|
458 | 419 |
|
459 | 420 | #[test]
|
|
0 commit comments