Skip to main content

native/skia_native/src/generated_style_helpers.rs

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

fn apply_blend_mode<'a>(paint: &mut Paint, opts: &[(Atom, Term<'a>)]) -> NifResult<()> {
    if let Some(term) = opt_term(opts, atoms::blend_mode()) {
        paint
            .set_blend_mode(generated_enums::decode_blend_mode(term.decode::<Atom>()?)?);
    }
    apply_paint_effects(paint, opts)?;
    Ok(())
}
fn apply_paint_effects<'a>(
    paint: &mut Paint,
    opts: &[(Atom, Term<'a>)],
) -> NifResult<()> {
    if let Some(term) = opt_term(opts, atoms::image_filter()) {
        paint.set_image_filter(decode_image_filter(term)?);
    }
    if let Some(term) = opt_term(opts, atoms::path_effect()) {
        paint.set_path_effect(decode_path_effect(term)?);
    }
    if let Some(term) = opt_term(opts, atoms::color_filter()) {
        paint.set_color_filter(decode_color_filter(term)?);
    }
    if let Some(term) = opt_term(opts, atoms::mask_filter()) {
        paint.set_mask_filter(decode_mask_filter(term)?);
    }
    Ok(())
}
fn decode_clip_op(value: Atom) -> NifResult<Option<ClipOp>> {
    Ok(Some(generated_enums::decode_clip_op(value)?))
}
fn apply_stroke_options<'a>(
    paint: &mut Paint,
    opts: &[(Atom, Term<'a>)],
) -> NifResult<()> {
    if let Some(term) = opt_term(opts, atoms::stroke_cap()) {
        paint
            .set_stroke_cap(generated_enums::decode_stroke_cap(term.decode::<Atom>()?)?);
    }
    if let Some(term) = opt_term(opts, atoms::stroke_join()) {
        paint
            .set_stroke_join(
                generated_enums::decode_stroke_join(term.decode::<Atom>()?)?,
            );
    }
    if let Some(miter) = opt_f32_option(opts, atoms::stroke_miter())? {
        paint.set_stroke_miter(miter);
    }
    Ok(())
}
fn apply_fill_rule<'a>(
    path: &mut skia_safe::Path,
    opts: &[(Atom, Term<'a>)],
) -> NifResult<()> {
    if let Some(term) = opt_term(opts, atoms::fill_rule()) {
        path.set_fill_type(generated_enums::decode_fill_rule(term.decode::<Atom>()?)?);
    }
    Ok(())
}