1 2 3 4 5 6 7 8 9 10 11 12 13
use skia_safe::Canvas; pub trait CanvasHelper { fn session<F: FnOnce(&Self)>(&self, callback: F); } impl CanvasHelper for Canvas { fn session<F: FnOnce(&Self)>(&self, callback: F) { self.save(); callback(&self); self.restore(); } }