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