rustmotion 0.8.0

A CLI tool that renders motion design videos from JSON scenarios. No browser, no Node.js — just a single Rust binary.
Documentation
use skia_safe::Canvas;

pub struct CanvasGuard {
    canvas: *const Canvas,
}

impl CanvasGuard {
    #[inline]
    pub fn new(canvas: &Canvas) -> Self {
        canvas.save();
        Self {
            canvas: canvas as *const Canvas,
        }
    }
}

impl Drop for CanvasGuard {
    #[inline]
    fn drop(&mut self) {
        unsafe {
            (*self.canvas).restore();
        }
    }
}