pub enum Shape {
Noop,
Vec(Vec<Shape, Global>),
Circle(CircleShape),
LineSegment {
points: [Pos2; 2],
stroke: Stroke,
},
Path(PathShape),
Rect(RectShape),
Text(TextShape),
Mesh(Mesh),
QuadraticBezier(QuadraticBezierShape),
CubicBezier(CubicBezierShape),
Callback(PaintCallback),
}
Expand description
A paint primitive such as a circle or a piece of text. Coordinates are all screen space points (not physical pixels).
Variants
Noop
Paint nothing. This can be useful as a placeholder.
Vec(Vec<Shape, Global>)
Recursively nest more shapes - sometimes a convenience to be able to do. For performance reasons it is better to avoid it.
Circle(CircleShape)
LineSegment
A line between two points.
Path(PathShape)
A series of lines between points. The path can have a stroke and/or fill (if closed).
Rect(RectShape)
Text(TextShape)
Mesh(Mesh)
QuadraticBezier(QuadraticBezierShape)
CubicBezier(CubicBezierShape)
Callback(PaintCallback)
Backend-specific painting.
Implementations
sourceimpl Shape
impl Shape
sourcepub fn line_segment(points: [Pos2; 2], stroke: impl Into<Stroke>) -> Shape
pub fn line_segment(points: [Pos2; 2], stroke: impl Into<Stroke>) -> Shape
A line between two points.
More efficient than calling Self::line
.
sourcepub fn line(points: Vec<Pos2, Global>, stroke: impl Into<Stroke>) -> Shape
pub fn line(points: Vec<Pos2, Global>, stroke: impl Into<Stroke>) -> Shape
A line through many points.
Use Self::line_segment
instead if your line only connects two points.
sourcepub fn closed_line(
points: Vec<Pos2, Global>,
stroke: impl Into<Stroke>
) -> Shape
pub fn closed_line(
points: Vec<Pos2, Global>,
stroke: impl Into<Stroke>
) -> Shape
A line that closes back to the start point again.
sourcepub fn dotted_line(
path: &[Pos2],
color: impl Into<Color32>,
spacing: f32,
radius: f32
) -> Vec<Shape, Global>
pub fn dotted_line(
path: &[Pos2],
color: impl Into<Color32>,
spacing: f32,
radius: f32
) -> Vec<Shape, Global>
Turn a line into equally spaced dots.
sourcepub fn dashed_line(
path: &[Pos2],
stroke: impl Into<Stroke>,
dash_length: f32,
gap_length: f32
) -> Vec<Shape, Global>
pub fn dashed_line(
path: &[Pos2],
stroke: impl Into<Stroke>,
dash_length: f32,
gap_length: f32
) -> Vec<Shape, Global>
Turn a line into dashes.
sourcepub fn dashed_line_many(
points: &[Pos2],
stroke: impl Into<Stroke>,
dash_length: f32,
gap_length: f32,
shapes: &mut Vec<Shape, Global>
)
pub fn dashed_line_many(
points: &[Pos2],
stroke: impl Into<Stroke>,
dash_length: f32,
gap_length: f32,
shapes: &mut Vec<Shape, Global>
)
Turn a line into dashes. If you need to create many dashed lines use this instead of
Self::dashed_line
sourcepub fn convex_polygon(
points: Vec<Pos2, Global>,
fill: impl Into<Color32>,
stroke: impl Into<Stroke>
) -> Shape
pub fn convex_polygon(
points: Vec<Pos2, Global>,
fill: impl Into<Color32>,
stroke: impl Into<Stroke>
) -> Shape
A convex polygon with a fill and optional stroke.
The most performant winding order is clockwise.
pub fn circle_filled(
center: Pos2,
radius: f32,
fill_color: impl Into<Color32>
) -> Shape
pub fn circle_stroke(
center: Pos2,
radius: f32,
stroke: impl Into<Stroke>
) -> Shape
pub fn rect_filled(
rect: Rect,
rounding: impl Into<Rounding>,
fill_color: impl Into<Color32>
) -> Shape
pub fn rect_stroke(
rect: Rect,
rounding: impl Into<Rounding>,
stroke: impl Into<Stroke>
) -> Shape
pub fn text(
fonts: &Fonts,
pos: Pos2,
anchor: Align2,
text: impl ToString,
font_id: FontId,
color: Color32
) -> Shape
pub fn galley(pos: Pos2, galley: Arc<Galley>) -> Shape
sourcepub fn galley_with_color(
pos: Pos2,
galley: Arc<Galley>,
text_color: Color32
) -> Shape
pub fn galley_with_color(
pos: Pos2,
galley: Arc<Galley>,
text_color: Color32
) -> Shape
The text color in the Galley
will be replaced with the given color.
pub fn mesh(mesh: Mesh) -> Shape
pub fn image(
texture_id: TextureId,
rect: Rect,
uv: Rect,
tint: Color32
) -> Shape
sourcepub fn visual_bounding_rect(&self) -> Rect
pub fn visual_bounding_rect(&self) -> Rect
The visual bounding rectangle (includes stroke widths)
Trait Implementations
sourceimpl From<CircleShape> for Shape
impl From<CircleShape> for Shape
sourcefn from(shape: CircleShape) -> Shape
fn from(shape: CircleShape) -> Shape
Converts to this type from the input type.
sourceimpl From<CubicBezierShape> for Shape
impl From<CubicBezierShape> for Shape
sourcefn from(shape: CubicBezierShape) -> Shape
fn from(shape: CubicBezierShape) -> Shape
Converts to this type from the input type.
sourceimpl From<PaintCallback> for Shape
impl From<PaintCallback> for Shape
sourcefn from(shape: PaintCallback) -> Shape
fn from(shape: PaintCallback) -> Shape
Converts to this type from the input type.
sourceimpl From<QuadraticBezierShape> for Shape
impl From<QuadraticBezierShape> for Shape
sourcefn from(shape: QuadraticBezierShape) -> Shape
fn from(shape: QuadraticBezierShape) -> Shape
Converts to this type from the input type.
impl StructuralPartialEq for Shape
Auto Trait Implementations
impl !RefUnwindSafe for Shape
impl Send for Shape
impl Sync for Shape
impl Unpin for Shape
impl !UnwindSafe for Shape
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more