Struct conrod::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.
Methods
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,
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.
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.
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: Copy, I: Copy> Copy for TrianglesUnpositioned<S, I>
[src]
impl<S: Clone, I: Clone> Clone for TrianglesUnpositioned<S, I>
[src]
fn clone(&self) -> TrianglesUnpositioned<S, I>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more