Stroke to fill retaining fills

Bug #1556592 reported by Jabiertxof on 2016-03-13
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

As a request for Josh Andler I just do this patch, his features are:

Stroke to path: // maybe a better name now?
Convert stroke to fill
Retain Fills
Convert Markers strokes to fill
Retain Marker fills
Wrap into 2 groups one for markers and the other wraping all
Retain Paint-Order
Handle Clips and Mask

Testing in Debian stretch 0.91+devel

Jabiertxof (jabiertxof) on 2016-03-13
tags: added: fill livarot stroke
Jabiertxof (jabiertxof) wrote :

Thix patch add all features

Changed in inkscape:
assignee: nobody → Jabiertxof (jabiertxof)
jazzynico (jazzynico) on 2016-03-14
Changed in inkscape:
importance: Undecided → Wishlist
milestone: none → 0.92
status: New → In Progress
ScislaC (scislac) wrote :

This works beautifully! Great job Jabier!

Jabiertxof (jabiertxof) wrote :

Thanks ScislaC

Jabiertxof (jabiertxof) wrote :

What name to put to the menu? retain now not full covered features stroke to path?

ScislaC (scislac) wrote :

What about "Deconstruct object" or "Object attributes to paths"? Anyone else want to chime in?

Olof Bjarnason (objarni) wrote :

So if I understand the command correctly, it basically converts a filled/stroked path to groups with only fills? So markers, stroke become filled paths, all grouped?

Christopher M. Rogers (cajhne) wrote :

how about Stroke to Path?

imho, this is how the stroke-to-path function should behave by default anyway.

If there is no fill then stroke-to-path doesn't make a fill object and behaves like before.
I'll ask around and see how popular that idea is over the weekend here.

Christopher M. Rogers (cajhne) wrote :

The idea of the Stroke to Path is to preserve path appearance, but it throws away a lot of data in the process. A bit more detail:

How it works now:
Ctrl+Alt+C > Stroke to Path

Result: stroke is indeed converted to path, but the fill and all other parts of the selection that are not strokes vanish. If any LPEs are applied to the path they are thrown out as well (you need to convert object to path before this operation to preserve the appearance).

How it should work (this "deconstruct" alternative):
Ctrl+Alt+C > Stroke to Path

Result: All LPE's applied to stroke, then the stroke is converted to path.

My thought is, if we use the convention that a fill is only turned into an object if there is a fill set on the object, then we can please anyone who prefers the old behaviour. All they have to do is get rid of the fill colour on the object before applying Stroke to Path.

The current way it's handled is counter-intuitive. Most of the time, all you want to do is convert the outline to a fill, not throw away tons of data. The point is to preserve appearance, and the Jabier's new function does this much much better.

My 2p.

Jabiertxof (jabiertxof) wrote :

Here are some screenshots working, notice the not default paint order:

Before apply:
View mode :

Line mode :

Apply : No screen shot my screnshot dont fire when menu path is open. I put a temp item after "stroke to path" menu

After apply :
View mode :
Line mode :

Also another cuestion if finaly is a diferent item in the menu could be good have a shortcut.

Jabiertxof (jabiertxof) wrote :

This Patch separate Stroke To Path adding a new menu item called temporary "Deconstruct object"
If this option finaly goal, we need a shortcut to it.
Version 1 of the patch could be used if the idea is switch from "Stroke to path" -> "¿Deconstruct object?"

Jabiertxof (jabiertxof) wrote :

Version 4 of the patch.
Now handle groups and LPE.
Target defined 0.93

Jabiertxof (jabiertxof) wrote :

Fixed on r15028

Jabiertxof (jabiertxof) wrote :

Maybe we need to change the milestone to 0.93?

Changed in inkscape:
status: In Progress → Fix Committed
su_v (suv-lp) wrote :

Based on a quick test with r15028: would it be possible to retain the old behavior at least as verb? Users thus could assign a custom keyboard shortcut if they depend on workflows which rely on the old behavior [1].

[1] e.g. boolops like 'Union' for melding several outlined strokes (and just those, without the fills) is no longer possible without lots and lots of fiddling with ungrouping and deleting unwanted 'fills', many of them invisible because they represent a 'None' fill suddenly as an existing object ...

Jabiertxof (jabiertxof) wrote :

I give a look this week.

jazzynico (jazzynico) on 2016-07-31
Changed in inkscape:
milestone: 0.92 → 0.93
Jabiertxof (jabiertxof) wrote :

Added new verb on r.15036. as reply to comment #14

su_v (suv-lp) wrote :

@Jabiertxof - thx a lot, much appreciated (r15036).

Jabiertxof (jabiertxof) wrote :

@su_v: you are welcome!

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers