[−][src]Struct conrod_core::widget::primitive::shape::triangles::TrianglesUnpositioned
When beginning to build Triangles
they are initially unpositioned.
This is an intemediary type which allows the user to choose how to position the bounding rectangle relative to the points.
Implementations
impl<S, I> TrianglesUnpositioned<S, I> where
S: Style,
I: IntoIterator<Item = Triangle<S::Vertex>>,
Triangles<S, I>: Widget,
[src]
S: Style,
I: IntoIterator<Item = Triangle<S::Vertex>>,
Triangles<S, I>: Widget,
pub fn with_bounding_rect(self, rect: Rect) -> Triangles<S, I>
[src]
Specify the bounding rectangle for the Triangles.
Typically, the given Rect
bounds should be the min and max positions along both axes that
are touched by the Triangles' points.
This method is significantly more efficient than calc_bounding_rect
and
centre_points_to_bounding_rect
as the bounding rectangle does not have to be calculated
from the Triangles' points.
pub fn calc_bounding_rect(self) -> Triangles<S, I> where
I: Clone,
[src]
I: Clone,
Calculate the position and size of the bounding rectangle from the Triangles
points. The
resulting bounding rectangle will fit to the absolute co-ordinates of all points.
In other words, this method will automatically call Sizeable::wh
and Positionable::xy
after calculating the size and position from the given points.
This requires that the points
iterator is Clone
so that we may iterate through and
determine the bounding box of the points
. If you know the bounds of the rectangle ahead
of time, we recommend calling with_bounding_rect
instead as it will be significantly
cheaper.
If you would rather centre the points to the middle of the bounding box, use TrianglesUnpositioned::centre_points_to_bounding_rect instead.
pub fn centre_points_to_bounding_rect(self) -> Triangles<S, I> where
I: Clone,
[src]
I: Clone,
Shift the location of the Triangles points so that the centre of their bounding rectangle lies at the position determined for the Triangles widget.
This is useful if your points simply describe a shape and you want to position them using conrod's auto-layout or Positionable and Sizeable methods.
This requires that the points
iterator is Clone
so that we may iterate through and
determine the bounding box of the points
. If you know the bounds of the rectangle ahead
of time, we recommend calling with_bounding_rect
instead as it will be significantly
cheaper.
If you would rather calculate the bounding box from the given absolute points, use the TrianglesUnpositioned::calc_bounding_rect instead.
Trait Implementations
impl<S: Clone, I: Clone> Clone for TrianglesUnpositioned<S, I>
[src]
fn clone(&self) -> TrianglesUnpositioned<S, I>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<S: Copy, I: Copy> Copy for TrianglesUnpositioned<S, I>
[src]
impl<S: Debug, I: Debug> Debug for TrianglesUnpositioned<S, I>
[src]
Auto Trait Implementations
impl<S, I> RefUnwindSafe for TrianglesUnpositioned<S, I> where
I: RefUnwindSafe,
S: RefUnwindSafe,
I: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, I> Send for TrianglesUnpositioned<S, I> where
I: Send,
S: Send,
I: Send,
S: Send,
impl<S, I> Sync for TrianglesUnpositioned<S, I> where
I: Sync,
S: Sync,
I: Sync,
S: Sync,
impl<S, I> Unpin for TrianglesUnpositioned<S, I> where
I: Unpin,
S: Unpin,
I: Unpin,
S: Unpin,
impl<S, I> UnwindSafe for TrianglesUnpositioned<S, I> where
I: UnwindSafe,
S: UnwindSafe,
I: UnwindSafe,
S: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,