Struct epaint::tessellator::Tessellator
source · pub struct Tessellator { /* private fields */ }
Expand description
Converts Shape
s into triangles (Mesh
).
For performance reasons it is smart to reuse the same Tessellator
.
Se also tessellate_shapes
, a convenient wrapper around Tessellator
.
Implementations§
source§impl Tessellator
impl Tessellator
sourcepub fn new(
pixels_per_point: f32,
options: TessellationOptions,
font_tex_size: [usize; 2],
prepared_discs: Vec<PreparedDisc>
) -> Self
pub fn new(
pixels_per_point: f32,
options: TessellationOptions,
font_tex_size: [usize; 2],
prepared_discs: Vec<PreparedDisc>
) -> Self
Create a new Tessellator
.
font_tex_size
: size of the font texture. Required to normalize glyph uv rectangles when tessellating text.prepared_discs
: WhatTextureAtlas::prepared_discs
returns. Can safely be set to an empty vec.
sourcepub fn set_clip_rect(&mut self, clip_rect: Rect)
pub fn set_clip_rect(&mut self, clip_rect: Rect)
Set the Rect
to use for culling.
pub fn round_to_pixel(&self, point: f32) -> f32
sourcepub fn tessellate_clipped_shape(
&mut self,
clipped_shape: ClippedShape,
out_primitives: &mut Vec<ClippedPrimitive>
)
pub fn tessellate_clipped_shape(
&mut self,
clipped_shape: ClippedShape,
out_primitives: &mut Vec<ClippedPrimitive>
)
Tessellate a clipped shape into a list of primitives.
sourcepub fn tessellate_shape(&mut self, shape: Shape, out: &mut Mesh)
pub fn tessellate_shape(&mut self, shape: Shape, out: &mut Mesh)
Tessellate a single Shape
into a Mesh
.
This call can panic the given shape is of Shape::Vec
or Shape::Callback
.
For that, use Self::tessellate_clipped_shape
instead.
shape
: the shape to tessellate.out
: triangles are appended to this.
sourcepub fn tessellate_circle(&mut self, shape: CircleShape, out: &mut Mesh)
pub fn tessellate_circle(&mut self, shape: CircleShape, out: &mut Mesh)
Tessellate a single CircleShape
into a Mesh
.
shape
: the circle to tessellate.out
: triangles are appended to this.
sourcepub fn tessellate_mesh(&mut self, mesh: &Mesh, out: &mut Mesh)
pub fn tessellate_mesh(&mut self, mesh: &Mesh, out: &mut Mesh)
sourcepub fn tessellate_line(
&mut self,
points: [Pos2; 2],
stroke: Stroke,
out: &mut Mesh
)
pub fn tessellate_line(
&mut self,
points: [Pos2; 2],
stroke: Stroke,
out: &mut Mesh
)
Tessellate a line segment between the two points with the given stoken into a Mesh
.
shape
: the mesh to tessellate.out
: triangles are appended to this.
sourcepub fn tessellate_path(&mut self, path_shape: &PathShape, out: &mut Mesh)
pub fn tessellate_path(&mut self, path_shape: &PathShape, out: &mut Mesh)
sourcepub fn tessellate_rect(&mut self, rect: &RectShape, out: &mut Mesh)
pub fn tessellate_rect(&mut self, rect: &RectShape, out: &mut Mesh)
sourcepub fn tessellate_text(&mut self, text_shape: &TextShape, out: &mut Mesh)
pub fn tessellate_text(&mut self, text_shape: &TextShape, out: &mut Mesh)
sourcepub fn tessellate_quadratic_bezier(
&mut self,
quadratic_shape: QuadraticBezierShape,
out: &mut Mesh
)
pub fn tessellate_quadratic_bezier(
&mut self,
quadratic_shape: QuadraticBezierShape,
out: &mut Mesh
)
Tessellate a single QuadraticBezierShape
into a Mesh
.
quadratic_shape
: the shape to tessellate.out
: triangles are appended to this.
sourcepub fn tessellate_cubic_bezier(
&mut self,
cubic_shape: CubicBezierShape,
out: &mut Mesh
)
pub fn tessellate_cubic_bezier(
&mut self,
cubic_shape: CubicBezierShape,
out: &mut Mesh
)
Tessellate a single CubicBezierShape
into a Mesh
.
cubic_shape
: the shape to tessellate.out
: triangles are appended to this.