pub trait Draw {
Show 23 methods
// Required methods
fn push_vertex_raw(&mut self, vertex: Vertex);
fn push_triangle(&mut self, a: u32, b: u32, c: u32);
fn last_vertex_index(&self) -> u32;
// Provided methods
fn push_vertex(
&mut self,
pos: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
tex_coord: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
) { ... }
fn push_triangle_multicolor(
&mut self,
vertices: [(Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, Color); 3],
) { ... }
fn push_triangle_filled(
&mut self,
vertices: [Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>; 3],
) { ... }
fn push_line(
&mut self,
a: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
b: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
thickness: f32,
) { ... }
fn push_rect(&mut self, rect: &Rect<f32>, thickness: f32) { ... }
fn push_rect_vary(&mut self, rect: &Rect<f32>, thickness: Thickness) { ... }
fn push_rect_filled(
&mut self,
rect: &Rect<f32>,
tex_coords: Option<&[Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>; 4]>,
) { ... }
fn push_rect_multicolor(&mut self, rect: &Rect<f32>, colors: [Color; 4]) { ... }
fn push_circle_filled(
&mut self,
origin: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
radius: f32,
segments: usize,
color: Color,
) { ... }
fn push_circle(
&mut self,
center: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
radius: f32,
subdivisions: usize,
thickness: f32,
) { ... }
fn connect_as_line(&mut self, from: u32, to: u32, closed: bool) { ... }
fn push_arc(
&mut self,
center: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
radius: f32,
angles: Range<f32>,
subdivisions: usize,
thickness: f32,
) { ... }
fn push_arc_path_with_thickness(
&mut self,
center: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
radius: f32,
angles: Range<f32>,
subdivisions: usize,
thickness: f32,
) { ... }
fn push_arc_path(
&mut self,
center: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
radius: f32,
angles: Range<f32>,
subdivisions: usize,
) { ... }
fn push_line_path(
&mut self,
a: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
b: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
) { ... }
fn push_line_path_with_thickness(
&mut self,
a: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
b: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
thickness: f32,
) { ... }
fn push_rounded_rect_filled(
&mut self,
rect: &Rect<f32>,
corner_radius: f32,
corner_subdivisions: usize,
) { ... }
fn push_rounded_rect(
&mut self,
rect: &Rect<f32>,
thickness: f32,
corner_radius: f32,
corner_subdivisions: usize,
) { ... }
fn push_bezier(
&mut self,
p0: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
p1: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
p2: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
p3: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
subdivisions: usize,
thickness: f32,
) { ... }
fn push_grid(
&mut self,
zoom: f32,
cell_size: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>,
grid_bounds: Rect<f32>,
) { ... }
}Required Methods§
fn push_vertex_raw(&mut self, vertex: Vertex)
fn push_triangle(&mut self, a: u32, b: u32, c: u32)
fn last_vertex_index(&self) -> u32
Provided Methods§
fn push_vertex( &mut self, pos: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, tex_coord: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, )
fn push_triangle_multicolor( &mut self, vertices: [(Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, Color); 3], )
fn push_triangle_filled( &mut self, vertices: [Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>; 3], )
fn push_line( &mut self, a: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, b: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, thickness: f32, )
fn push_rect(&mut self, rect: &Rect<f32>, thickness: f32)
fn push_rect_vary(&mut self, rect: &Rect<f32>, thickness: Thickness)
fn push_rect_filled( &mut self, rect: &Rect<f32>, tex_coords: Option<&[Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>; 4]>, )
fn push_rect_multicolor(&mut self, rect: &Rect<f32>, colors: [Color; 4])
fn push_circle_filled( &mut self, origin: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, radius: f32, segments: usize, color: Color, )
fn push_circle( &mut self, center: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, radius: f32, subdivisions: usize, thickness: f32, )
fn connect_as_line(&mut self, from: u32, to: u32, closed: bool)
fn push_arc( &mut self, center: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, radius: f32, angles: Range<f32>, subdivisions: usize, thickness: f32, )
fn push_arc_path_with_thickness( &mut self, center: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, radius: f32, angles: Range<f32>, subdivisions: usize, thickness: f32, )
fn push_arc_path( &mut self, center: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, radius: f32, angles: Range<f32>, subdivisions: usize, )
fn push_line_path( &mut self, a: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, b: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, )
fn push_line_path_with_thickness( &mut self, a: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, b: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, thickness: f32, )
fn push_rounded_rect_filled( &mut self, rect: &Rect<f32>, corner_radius: f32, corner_subdivisions: usize, )
fn push_rounded_rect( &mut self, rect: &Rect<f32>, thickness: f32, corner_radius: f32, corner_subdivisions: usize, )
fn push_bezier( &mut self, p0: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, p1: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, p2: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, p3: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, subdivisions: usize, thickness: f32, )
fn push_grid( &mut self, zoom: f32, cell_size: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, grid_bounds: Rect<f32>, )
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".