Struct pixels_graphics_lib::prelude::Ellipse
pub struct Ellipse { /* private fields */ }
Implementations§
§impl Ellipse
impl Ellipse
pub fn as_rect(&self) -> Rect
pub fn as_horizontal_line(&self) -> Line
pub fn as_vertical_line(&self) -> Line
pub fn as_radius_line(&self) -> Line
pub fn as_radius_line(&self) -> Line
Create line from center to top edge at 0 degrees
pub fn as_circle(&self) -> Option<Circle>
pub fn as_circle(&self) -> Option<Circle>
Returns a circle if the ellipse height and width are the same
pub fn as_largest_circle(&self) -> Circle
pub fn as_smallest_circle(&self) -> Circle
pub fn as_polygon(&self) -> Polygon
Trait Implementations§
§impl ContainsShape for Ellipse
impl ContainsShape for Ellipse
§fn contains_circle(&self, circle: &Circle) -> bool
fn contains_circle(&self, circle: &Circle) -> bool
Returns true if
self
contains circle
§fn contains_ellipse(&self, ellipse: &Ellipse) -> bool
fn contains_ellipse(&self, ellipse: &Ellipse) -> bool
Returns true if
self
contains ellipse
§fn contains_rect(&self, rect: &Rect) -> bool
fn contains_rect(&self, rect: &Rect) -> bool
Returns true if
self
contains rect
§fn contains_line(&self, line: &Line) -> bool
fn contains_line(&self, line: &Line) -> bool
Returns true if
self
contains line
§fn contains_triangle(&self, triangle: &Triangle) -> bool
fn contains_triangle(&self, triangle: &Triangle) -> bool
Returns true if
self
contains triangle
§impl<'de> Deserialize<'de> for Ellipse
impl<'de> Deserialize<'de> for Ellipse
§fn deserialize<__D>(
__deserializer: __D
) -> Result<Ellipse, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<Ellipse, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl IntersectsContains for Ellipse
impl IntersectsContains for Ellipse
§impl IntersectsShape for Ellipse
impl IntersectsShape for Ellipse
§fn intersects_rect(&self, rect: &Rect) -> bool
fn intersects_rect(&self, rect: &Rect) -> bool
Returns true if
rect
intersects self
§fn intersects_circle(&self, circle: &Circle) -> bool
fn intersects_circle(&self, circle: &Circle) -> bool
Returns true if
circle
intersects self
§fn intersects_line(&self, line: &Line) -> bool
fn intersects_line(&self, line: &Line) -> bool
Returns true if
line
intersects self
§fn intersects_triangle(&self, triangle: &Triangle) -> bool
fn intersects_triangle(&self, triangle: &Triangle) -> bool
Returns true if
triangle
intersects self
§fn intersects_ellipse(&self, ellipse: &Ellipse) -> bool
fn intersects_ellipse(&self, ellipse: &Ellipse) -> bool
Returns true if
ellipse
intersects self
§fn intersects_polygon(&self, polygon: &Polygon) -> bool
fn intersects_polygon(&self, polygon: &Polygon) -> bool
Returns true if
polygon
intersects self
§impl Serialize for Ellipse
impl Serialize for Ellipse
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
§impl Shape for Ellipse
impl Shape for Ellipse
§fn from_points(points: &[Coord]) -> Ellipse
fn from_points(points: &[Coord]) -> Ellipse
must be [center, top, right] see Ellipse::points
§fn points(&self) -> Vec<Coord>
fn points(&self) -> Vec<Coord>
Returns [center, top, right]
- Center is center point
- Top is center - height/2, at 0 degrees
- Right is center + width/2, at 90 degrees
fn rebuild(&self, points: &[Coord]) -> Ellipse
§fn translate_by(&self, delta: Coord) -> Ellipse
fn translate_by(&self, delta: Coord) -> Ellipse
change every point by +
delta
§fn move_to(&self, point: Coord) -> Ellipse
fn move_to(&self, point: Coord) -> Ellipse
moves the shapes first point to
point
(and changes every other point to match their original distance and angle) Read more§fn outline_pixels(&self) -> Vec<Coord>
fn outline_pixels(&self) -> Vec<Coord>
The coords for drawing the shape outline, the points may be in any order
This should be cached rather than called per frame
§fn filled_pixels(&self) -> Vec<Coord>
fn filled_pixels(&self) -> Vec<Coord>
The coords for drawing the filled shape, the points may be in any order
This should be cached rather than called per frame
fn to_shape_box(&self) -> ShapeBox
§fn move_center_to(&self, point: Coord) -> Selfwhere
Self: Sized,
fn move_center_to(&self, point: Coord) -> Selfwhere
Self: Sized,
Moves the shapes center to
point
(and changes every other point to match their original distance and angle) Read more§fn rotate_around(&self, degrees: isize, point: Coord) -> Selfwhere
Self: Sized,
fn rotate_around(&self, degrees: isize, point: Coord) -> Selfwhere
Self: Sized,
Rotate shape around a point
fn top_left(&self) -> Coord
fn top_right(&self) -> Coord
fn bottom_left(&self) -> Coord
fn bottom_right(&self) -> Coord
§fn scale(&self, factor: f32) -> Selfwhere
Self: Sized,
fn scale(&self, factor: f32) -> Selfwhere
Self: Sized,
Scale the shape by factor (around the center, so the change will be uniform)
§fn scale_around(&self, factor: f32, point: Coord) -> Selfwhere
Self: Sized,
fn scale_around(&self, factor: f32, point: Coord) -> Selfwhere
Self: Sized,
Scale the shape by factor around point
impl Eq for Ellipse
impl StructuralEq for Ellipse
impl StructuralPartialEq for Ellipse
Auto Trait Implementations§
impl RefUnwindSafe for Ellipse
impl Send for Ellipse
impl Sync for Ellipse
impl Unpin for Ellipse
impl UnwindSafe for Ellipse
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more