Struct nannou::ui::prelude::widget::primitive::shape::triangles::TrianglesUnpositioned [−][src]
pub struct TrianglesUnpositioned<S, I> { /* fields omitted */ }
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 as Style>::Vertex>>,
Triangles<S, I>: Widget,
[src]
S: Style,
I: IntoIterator<Item = Triangle<<S as Style>::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, I> Clone for TrianglesUnpositioned<S, I> where
S: Clone,
I: Clone,
[src]
S: Clone,
I: Clone,
pub fn clone(&self) -> TrianglesUnpositioned<S, I>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<S, I> Copy for TrianglesUnpositioned<S, I> where
S: Copy,
I: Copy,
[src]
S: Copy,
I: Copy,
impl<S, I> Debug for TrianglesUnpositioned<S, I> where
S: Debug,
I: Debug,
[src]
S: Debug,
I: Debug,
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<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
T: Component + Float,
D: AdaptFrom<S, Swp, Dwp, T>,
Swp: WhitePoint,
Dwp: WhitePoint,
[src]
T: Component + Float,
D: AdaptFrom<S, Swp, Dwp, T>,
Swp: WhitePoint,
Dwp: WhitePoint,
pub fn adapt_into_using<M>(self, method: M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
[src]
M: TransformMatrix<Swp, Dwp, T>,
pub fn adapt_into(self) -> D
[src]
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> ConvertInto<U> for T where
U: ConvertFrom<T>,
[src]
U: ConvertFrom<T>,
pub fn convert_into(self) -> U
[src]
pub fn convert_unclamped_into(self) -> U
[src]
pub fn try_convert_into(self) -> Result<U, OutOfBounds<U>>
[src]
impl<T> Downcast<T> for T
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> SetParameter for T
pub fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub 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.
pub 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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Upcast<T> for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,