pub struct DrawListBuilder { /* private fields */ }Expand description
Builds a command list. Each call appends one fixed-size record; TextAt also appends
its bytes to the text region, which is written after every record.
Implementations§
Source§impl DrawListBuilder
impl DrawListBuilder
pub fn with_capacity(commands: usize, text_bytes: usize) -> Self
Sourcepub fn view_box(self, width: f32, height: f32) -> Self
pub fn view_box(self, width: f32, height: f32) -> Self
Interprets command coordinates in a (width, height) reference coordinate space
scaled to the Canvas container’s measured size. Stroke widths stay in dp.
Sourcepub fn fractional(self) -> Self
pub fn fractional(self) -> Self
Interprets command coordinates as 0.0..=1.0 fractions of the Canvas container’s
width and height. Stroke widths stay in dp.
Sourcepub fn push(self, command: DrawCommand) -> Self
pub fn push(self, command: DrawCommand) -> Self
Appends any command. TextAt offsets are fixed up by DrawListBuilder::build,
so prefer DrawListBuilder::text_at for text.
pub fn line( self, paint: Paint, x1: f32, y1: f32, x2: f32, y2: f32, stroke_width: f32, ) -> Self
Sourcepub fn rect(
self,
paint: Paint,
x: f32,
y: f32,
width: f32,
height: f32,
stroke_width: f32,
) -> Self
pub fn rect( self, paint: Paint, x: f32, y: f32, width: f32, height: f32, stroke_width: f32, ) -> Self
A stroke width of zero fills the rectangle.
pub fn round_rect( self, paint: Paint, x: f32, y: f32, width: f32, height: f32, radius: f32, stroke_width: f32, ) -> Self
pub fn circle( self, paint: Paint, center_x: f32, center_y: f32, radius: f32, stroke_width: f32, ) -> Self
pub fn arc( self, paint: Paint, center_x: f32, center_y: f32, radius: f32, start_degrees: f32, sweep_degrees: f32, stroke_width: f32, ) -> Self
Sourcepub fn polyline_ref(
self,
paint: Paint,
asset_id: u32,
stroke_width: f32,
) -> Self
pub fn polyline_ref( self, paint: Paint, asset_id: u32, stroke_width: f32, ) -> Self
Draws a registered point list. The asset holds the points, so the record stays the same size however long the path is.
Sourcepub fn text_at(
self,
paint: Paint,
text: &str,
x: f32,
y: f32,
type_role: TypeRole,
) -> Self
pub fn text_at( self, paint: Paint, text: &str, x: f32, y: f32, type_role: TypeRole, ) -> Self
Draws text at the type role’s size with its top-left corner at (x, y). The
point is the top of the line, not its baseline, so text placed near a canvas’s
bottom edge needs the role’s whole line height above that edge.