Skip to main content

native/skia_native/src/generated_layers.rs

// Generated by mix skia.codegen. Do not edit by hand.

fn draw_save_impl(canvas: &skia_safe::Canvas) -> NifResult<()> {
    canvas.save();
    Ok(())
}
fn draw_save_layer_impl<'a>(
    canvas: &skia_safe::Canvas,
    opts: generated_opts::SaveLayerOpts<'a>,
    raw_opts: &[(Atom, Term<'a>)],
) -> NifResult<()> {
    let bounds = match opts.bounds {
        Some(term) => Some(rect_from_term(term)?),
        None => None,
    };
    let mut paint = Paint::default();
    paint.set_alpha((opts.opacity.unwrap_or(1.0).clamp(0.0, 1.0) * 255.0).round() as u8);
    apply_blend_mode(&mut paint, raw_opts)?;
    if let Some(sigma) = opts.blur {
        if let Some(filter) = image_filters::blur(
            (sigma, sigma),
            TileMode::Decal,
            None,
            None,
        ) {
            paint.set_image_filter(filter);
        }
    }
    if let Some(term) = opts.image_filter {
        let filter = decode_image_filter(term)?;
        paint.set_image_filter(filter);
    }
    let mut rec = SaveLayerRec::default().paint(&paint);
    if let Some(ref bounds) = bounds {
        rec = rec.bounds(bounds);
    }
    canvas.save_layer(&rec);
    Ok(())
}
fn draw_restore_impl(canvas: &skia_safe::Canvas) -> NifResult<()> {
    canvas.restore();
    Ok(())
}