Fix inconsistent stroke width in 'Outline' view mode (#2417)
* fix noise pattern parameter issue * removed the commented out line * Fix outline mode stroke width not consistent
This commit is contained in:
parent
74b6abbb97
commit
7a3bb999a9
|
|
@ -445,12 +445,9 @@ impl GraphicElementRendered for VectorDataTable {
|
||||||
fn render_svg(&self, render: &mut SvgRender, render_params: &RenderParams) {
|
fn render_svg(&self, render: &mut SvgRender, render_params: &RenderParams) {
|
||||||
for instance in self.instances() {
|
for instance in self.instances() {
|
||||||
let multiplied_transform = render.transform * instance.transform();
|
let multiplied_transform = render.transform * instance.transform();
|
||||||
let set_stroke_transform = instance
|
// Only consider strokes with non-zero weight, since default strokes with zero weight would prevent assigning the correct stroke transform
|
||||||
.instance
|
let has_real_stroke = instance.instance.style.stroke().filter(|stroke| stroke.weight() > 0.);
|
||||||
.style
|
let set_stroke_transform = has_real_stroke.map(|stroke| stroke.transform).filter(|transform| transform.matrix2.determinant() != 0.);
|
||||||
.stroke()
|
|
||||||
.map(|stroke| stroke.transform)
|
|
||||||
.filter(|transform| transform.matrix2.determinant() != 0.);
|
|
||||||
let applied_stroke_transform = set_stroke_transform.unwrap_or(instance.transform());
|
let applied_stroke_transform = set_stroke_transform.unwrap_or(instance.transform());
|
||||||
let element_transform = set_stroke_transform.map(|stroke_transform| multiplied_transform * stroke_transform.inverse());
|
let element_transform = set_stroke_transform.map(|stroke_transform| multiplied_transform * stroke_transform.inverse());
|
||||||
let element_transform = element_transform.unwrap_or(DAffine2::IDENTITY);
|
let element_transform = element_transform.unwrap_or(DAffine2::IDENTITY);
|
||||||
|
|
@ -468,6 +465,7 @@ impl GraphicElementRendered for VectorDataTable {
|
||||||
attributes.push("transform", matrix);
|
attributes.push("transform", matrix);
|
||||||
|
|
||||||
let defs = &mut attributes.0.svg_defs;
|
let defs = &mut attributes.0.svg_defs;
|
||||||
|
|
||||||
let fill_and_stroke = instance
|
let fill_and_stroke = instance
|
||||||
.instance
|
.instance
|
||||||
.style
|
.style
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue