Gradients: an outlined stroke leaves dither behind, and paint.setStroke refuses it

Review follow-up (CodeRabbit): paint.setStroke kept `dither: true` from its
gradient, and a stroke can hold dither anyway (swapped from a fill). Outline
Stroke and appearance expansion copied the stroke's paint into the outline's
fill, which then drew dithered although the stroke never did. The outline's
fill now goes without dither (Paint::stroke_as_fill), and paint.setStroke
refuses a gradient with `dither: true`, as paint.editGradient does.
This commit is contained in:
Taha-Mahmoodi
2026-10-23 00:08:53 +07:00
committed by bflatastic
parent 159e20053c
commit 7c9edfaf7f
29 changed files with 80 additions and 2 deletions
+1 -1
View File
@@ -635,7 +635,7 @@ pub(crate) fn outlined_stroke(
blend: st.blend,
effects: st.effects.clone(),
overprint: st.overprint,
..vectorcraft_doc::appearance::FillLayer::new(st.paint.clone())
..vectorcraft_doc::appearance::FillLayer::new(st.paint.stroke_as_fill())
};
n.appearance = Appearance { items: vec![AppearanceItem::Fill(fill)], ..Default::default() }.into();
Some(n)