// 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(())
}