pub struct Polyline<'a> {
pub translate: Point,
pub vertices: &'a [Point],
}
Expand description
Polyline primitive
Creates an unfilled chained line shape.
§Examples §Draw a “heartbeat” shaped polylineThis example draws a stylized cardiogram in a 5px green stroke.
use embedded_graphics::{
pixelcolor::Rgb565, prelude::*, primitives::{Polyline, PrimitiveStyle},
};
let points: [Point; 10] = [
Point::new(10, 64),
Point::new(50, 64),
Point::new(60, 44),
Point::new(70, 64),
Point::new(80, 64),
Point::new(90, 74),
Point::new(100, 10),
Point::new(110, 84),
Point::new(120, 64),
Point::new(300, 64),
];
let line_style = PrimitiveStyle::with_stroke(Rgb565::GREEN, 5);
Polyline::new(&points)
.into_styled(line_style)
.draw(&mut display)?;
An offset to apply to the polyline as a whole
All vertices in the line
Source§ SourceCreate a new polyline from a list of vertices
If fewer than two vertices are provided, the line will not render anything when drawn.
Source§ Source§ Source§ Source§ Source§ Source§Writes the defmt representation of self
to fmt
.
Tests for self
and other
values to be equal, and is used by ==
.
Tests for !=
. The default implementation is almost always sufficient, and should not be overridden without very good reason.
This method returns an ordering between
self
and
other
values if one exists.
Read more 1.0.0 · Source§Tests less than (for
self
and
other
) and is used by the
<
operator.
Read more 1.0.0 · Source§Tests less than or equal to (for
self
and
other
) and is used by the
<=
operator.
Read more 1.0.0 · Source§Tests greater than (for
self
and
other
) and is used by the
>
operator.
Read more 1.0.0 · Source§Tests greater than or equal to (for
self
and
other
) and is used by the
>=
operator.
Read more Source§ Source§Iterator over all points inside the primitive.
Source§Returns an iterator over all points inside the primitive.
Source§ Source§Converts this primitive into a Styled
.
Returns the bounding box using the given style.
Source§ Source§ Source§Translate the polyline from its current position to a new position by (x, y) pixels, returning a new Polyline
. For a mutating transform, see translate_mut
.
let points = [
Point::new(5, 10),
Point::new(7, 7),
Point::new(5, 8),
Point::new(10, 10),
];
let polyline = Polyline::new(&points);
let moved = polyline.translate(Point::new(10, 12));
assert_eq!(polyline.bounding_box().top_left, Point::new(5, 7));
assert_eq!(moved.bounding_box().top_left, Point::new(15, 19));
Source§
Translate the polyline from its current position to a new position by (x, y) pixels.
let points = [
Point::new(5, 10),
Point::new(7, 7),
Point::new(5, 8),
Point::new(10, 10),
];
let mut polyline = Polyline::new(&points);
polyline.translate_mut(Point::new(10, 12));
assert_eq!(polyline.bounding_box().top_left, Point::new(15, 19));
Source§ Source§ Source§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4