glifparser 2.0.1

A parser and writer for UFO `.glif` files
Documentation
use skia_safe as skia;
use skia::Matrix;
use kurbo::Affine;

use super::GlifMatrix;

pub trait ToSkiaMatrix {
    fn to_skia_matrix(&self) -> Matrix;
}

impl ToSkiaMatrix for GlifMatrix {
    fn to_skia_matrix(&self) -> Matrix {
        let m: Affine = (*self).into();
        m.to_skia_matrix()
    }
}

impl ToSkiaMatrix for Affine {
    fn to_skia_matrix(&self) -> Matrix {
        Matrix::from_affine(&self.as_coeffs().map(|f|f as f32))
    }
}

impl ToSkiaMatrix for [f64; 6] {
    fn to_skia_matrix(&self) -> Matrix {
        Matrix::from_affine(&self.map(|f|f as f32))
    }
}

impl ToSkiaMatrix for [f32; 6] {
    fn to_skia_matrix(&self) -> Matrix {
        Matrix::from_affine(self)
    }
}