Stroke to fill retaining fills

Bug #1556592 reported by Jabiertxof
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Wishlist
Jabiertxof

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)
tags: added: fill livarot stroke
Revision history for this message
Jabiertxof (jabiertxof) wrote :

Thix patch add all features

Changed in inkscape:
assignee: nobody → Jabiertxof (jabiertxof)
jazzynico (jazzynico)
Changed in inkscape:
importance: Undecided → Wishlist
milestone: none → 0.92
status: New → In Progress
Revision history for this message
ScislaC (scislac) wrote :

This works beautifully! Great job Jabier!

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Thanks ScislaC

Revision history for this message
Jabiertxof (jabiertxof) wrote :

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

Revision history for this message
ScislaC (scislac) wrote :

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

Revision history for this message
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?

Revision history for this message
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.

Revision history for this message
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.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

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

Before apply:
View mode : https://inkscape.org/en/~jabiertxof/%E2%98%85deconstruct-object-14

Line mode : https://inkscape.org/en/~jabiertxof/%E2%98%85deconstruct-object-24

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 : https://inkscape.org/en/~jabiertxof/%E2%98%85deconstruct-object-34
Line mode : https://inkscape.org/en/~jabiertxof/%E2%98%85deconstruct-object-44

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

Revision history for this message
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?"

Revision history for this message
Jabiertxof (jabiertxof) wrote :

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

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Fixed on r15028

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Maybe we need to change the milestone to 0.93?

Changed in inkscape:
status: In Progress → Fix Committed
Revision history for this message
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 ...

Revision history for this message
Jabiertxof (jabiertxof) wrote :

I give a look this week.

jazzynico (jazzynico)
Changed in inkscape:
milestone: 0.92 → 0.93
Revision history for this message
Jabiertxof (jabiertxof) wrote :

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

Revision history for this message
su_v (suv-lp) wrote :

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

Revision history for this message
Jabiertxof (jabiertxof) wrote :

@su_v: you are welcome!

Max Gaukler (mgmax)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.