pub trait DrawContextExt: DrawContext {
// Provided methods
fn fill<B: Into<Brush>>(&mut self, path: &Path, brush: B) { ... }
fn stroke<B: Into<Brush>>(&mut self, path: &Path, stroke: &Stroke, brush: B) { ... }
fn fill_rounded_rect<B: Into<Brush>>(
&mut self,
rect: Rect,
corner_radius: CornerRadius,
brush: B,
) { ... }
fn sdf<F: FnMut(&mut dyn SdfBuilder)>(&mut self, f: F) { ... }
fn billboard<F: FnMut(&mut dyn DrawContext)>(
&mut self,
size: Size,
transform: Mat4,
facing: BillboardFacing,
f: F,
) { ... }
fn viewport_3d<F: FnMut(&mut dyn DrawContext)>(
&mut self,
rect: Rect,
camera: &Camera,
f: F,
) { ... }
}Expand description
Extension trait for DrawContext that provides ergonomic generic methods
These methods are implemented on concrete types and provide convenient
APIs using impl Into<Brush> for colors and brushes.
Provided Methods§
Sourcefn stroke<B: Into<Brush>>(&mut self, path: &Path, stroke: &Stroke, brush: B)
fn stroke<B: Into<Brush>>(&mut self, path: &Path, stroke: &Stroke, brush: B)
Stroke a path with a color or brush
Sourcefn fill_rounded_rect<B: Into<Brush>>(
&mut self,
rect: Rect,
corner_radius: CornerRadius,
brush: B,
)
fn fill_rounded_rect<B: Into<Brush>>( &mut self, rect: Rect, corner_radius: CornerRadius, brush: B, )
Fill a rectangle with a color or brush
Sourcefn sdf<F: FnMut(&mut dyn SdfBuilder)>(&mut self, f: F)
fn sdf<F: FnMut(&mut dyn SdfBuilder)>(&mut self, f: F)
Build SDF shapes with a closure (convenience wrapper)
Sourcefn billboard<F: FnMut(&mut dyn DrawContext)>(
&mut self,
size: Size,
transform: Mat4,
facing: BillboardFacing,
f: F,
)
fn billboard<F: FnMut(&mut dyn DrawContext)>( &mut self, size: Size, transform: Mat4, facing: BillboardFacing, f: F, )
Embed 2D content as a billboard (convenience wrapper)
Sourcefn viewport_3d<F: FnMut(&mut dyn DrawContext)>(
&mut self,
rect: Rect,
camera: &Camera,
f: F,
)
fn viewport_3d<F: FnMut(&mut dyn DrawContext)>( &mut self, rect: Rect, camera: &Camera, f: F, )
Embed a 3D viewport (convenience wrapper)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.