Introduce custom backend-specific primitives
This commit is contained in:
parent
8d65e40a11
commit
0ae1baa37b
28 changed files with 618 additions and 263 deletions
|
|
@ -14,20 +14,10 @@ pub use text::Text;
|
|||
|
||||
pub use crate::gradient::{self, Gradient};
|
||||
|
||||
use crate::Primitive;
|
||||
|
||||
/// A bunch of shapes that can be drawn.
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Geometry(pub Primitive);
|
||||
|
||||
impl From<Geometry> for Primitive {
|
||||
fn from(geometry: Geometry) -> Self {
|
||||
geometry.0
|
||||
}
|
||||
}
|
||||
|
||||
/// A renderer capable of drawing some [`Geometry`].
|
||||
pub trait Renderer: crate::core::Renderer {
|
||||
type Geometry;
|
||||
|
||||
/// Draws the given layers of [`Geometry`].
|
||||
fn draw(&mut self, layers: Vec<Geometry>);
|
||||
fn draw(&mut self, layers: Vec<Self::Geometry>);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue