Skip to content
Snippets Groups Projects
utilities.rs 569 B
Newer Older
use bevy::math::Vec2;
use bevy::prelude::Rect;
#[macro_export]
macro_rules! deref_as {
    ($outer:ty => $inner:ty) => {
		impl ::std::ops::Deref for $outer {
			type Target = $inner;
			fn deref(&self) -> &Self::Target {
				&self.0
			}
		}
	};

	(mut $outer:ty => $inner:ty) => {
		deref_as!($outer => $inner);
		impl ::std::ops::DerefMut for $outer {
			fn deref_mut(&mut self) -> &mut Self::Target {
				&mut self.0
			}
		}
	}
}

pub fn translate_rect(rect: Rect, translation: Vec2) -> Rect {
	Rect::from_corners(rect.min + translation, rect.max + translation)
}