Enum ytesrev::drawable::Position [−][src]
Where to draw a specific object.
Variants
TopLeftCorner(Point)
Place the top left corner at a specific position, ignoring size. Only used in the most primitive situations
Center(Point)
Center the object at this position
Rect(Rect)
Draw the object in a specific rectangle
Methods
impl Position
[src]
impl Position
pub fn into_rect_with_size(self, width: u32, height: u32) -> Rect
[src]
pub fn into_rect_with_size(self, width: u32, height: u32) -> Rect
Convert a Position
into a Rect with the specified size. The size is not gauranteed to be
(width, height) such as when the Position
is a Position::Rect
with a smaller size
For Position::Rect
the center is preserved, but the size is changed.
use ytesrev::{Point, Rect}; use ytesrev::drawable::Position; let tlc = Position::TopLeftCorner(Point::new(10, 20)); assert_eq!(tlc.into_rect_with_size(5, 8), Rect::new(10, 20, 5, 8)); let center = Position::Center(Point::new(20, 30)); assert_eq!(center.into_rect_with_size(4, 10), Rect::new(18, 25, 4, 10)); let rect = Position::Rect(Rect::new(10, 40, 20, 20)); assert_eq!(rect.into_rect_with_size(6, 4), Rect::new(17, 48, 6, 4)); let rect_too_short = Position::Rect(Rect::new(10, 20, 30, 8)); assert_eq!(rect_too_short.into_rect_with_size(20, 69), Rect::new(15, 20, 20, 8));
pub fn into_rect_with_size_unbounded(self, width: u32, height: u32) -> Rect
[src]
pub fn into_rect_with_size_unbounded(self, width: u32, height: u32) -> Rect
Convert a Position into a Rect, like Position::into_rect_with_size
, but this doesn't
check if the Position::Rect
is too small.
use ytesrev::{Point, Rect}; use ytesrev::drawable::Position; let tlc = Position::TopLeftCorner(Point::new(20, 50)); assert_eq!(tlc.into_rect_with_size(2, 7), Rect::new(20, 50, 2, 7)); let center = Position::Center(Point::new(50, 10)); assert_eq!(center.into_rect_with_size(2, 8), Rect::new(49, 6, 2, 8)); let rect = Position::Rect(Rect::new(10, 40, 20, 20)); assert_eq!(rect.into_rect_with_size(6, 4), Rect::new(17, 48, 6, 4));
Trait Implementations
impl Clone for Position
[src]
impl Clone for Position
fn clone(&self) -> Position
[src]
fn clone(&self) -> Position
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Copy for Position
[src]
impl Copy for Position
impl PartialEq for Position
[src]
impl PartialEq for Position
fn eq(&self, other: &Position) -> bool
[src]
fn eq(&self, other: &Position) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Position) -> bool
[src]
fn ne(&self, other: &Position) -> bool
This method tests for !=
.
impl Debug for Position
[src]
impl Debug for Position