skia-window 0.9.0

Rendering window with skia
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::context::RenderContext;
use crate::paint::Canvas;

pub struct Renderer {
    renderer: Box<dyn FnOnce(&Canvas, &mut RenderContext) + Send + 'static>,
}

impl Renderer {
    pub fn new(renderer: impl FnOnce(&Canvas, &mut RenderContext) + Send + 'static) -> Renderer {
        Renderer {
            renderer: Box::new(renderer),
        }
    }

    pub fn render(self, canvas: &Canvas, ctx: &mut RenderContext) {
        (self.renderer)(canvas, ctx)
    }
}