On 26/07/2012 10:59, John Smith wrote:
On 23/07/2012 12:03, LucaDC wrote:
the management of alpha.
Yes this seemed to be broken. I have committed a fix for alpha and RGBA: should also be editable again.
WRT to "the second intermediate stop must be the same as the first": copy&pasting the style (color + opacity) of one (or the average of multiple) selected gradient stop(s) works just fine without resorting to the RGBA entry in the 'Fill & Stroke' dialog, and without the changes from revision 11572:
«When one or more gradient stops are selected, using the Copy command (Ctrl+C) copies to the clipboard the style (color and opacity) of the selected stop or the averaged style of several selected stops, not the entire object with gradient as before. This means you can now copy/paste style between stops: select the source stop(s), copy, select the destination stop(s), paste style (Ctrl+Shift+V). With several selected stops, this also allows you to easily average their colors and opacities by copying them and pasting the style back onto them. (After that, redundant gradient stops can be removed by simplification with Ctrl+L).» http://wiki.inkscape.org/wiki/index.php/Release_notes/0.46#Style_of_gradient_stops
Next is the Opacity value - this also seems wrong. Working on a fix for this ...
Using the opacity slider for the 'stop-opacity' value of the selected gradient stop(s) instead of the 'Alpha' slider (which for flat colors controls the 'fill-opacity' / 'stroke-opacity' property) is not a bug in itself IMHO - it was a deliberate decision you might agree or disagree with:
«When you have one of the gradient handles selected, its style (color and opacity) is reflected by the selected style indicator (left of the statusbar) and the Fill&Stroke dialog. Previously, opacity of a gradient handle was reflected as fill-opacity and stroke-opacity; now it is reflected as master opacity (the "O:" spinbutton in the selected style indicator, the "Master opacity" slider in Fill&Stroke). This makes it much easier to view and change opacity of gradient handles using only the selected style indicator in the statusbar.» http://wiki.inkscape.org/wiki/index.php/Release_notes/0.46#Style_of_gradient_stops
If - based on whichever reasoning - the opacity slider is simply reverted to set the global (aka master) opacity of the object instead of the opacity of the selected gradient stop, then - if you want to be consistent in the UI - the same needs to apply to the 'O:' widget in the style indicator of the status bar. The obvious consequence: the opacity of a gradient stop can _only_ be set via Fill & Stroke dialog, and even with the enhanced gradient tool controls bar, working with gradients will require to have 'Fill & Stroke' opened all the time, and removes to a large extent the usability of the main color palette to quickly edit the style of selected gradient stops (you can't control the opacity anymore, which would be essential for most (even basic) use cases of gradients).
It won't help either to address the fact that Inkscape's GUI lacks to represent all three levels of opacity which influence how a gradient is rendered: - 'stop-opacity' - 'fill-opacity', 'stroke-opacity' - 'opacity' (Note: this last point also affects patterns - i.e. fill-opacity and stroke-opacity are inaccessible via Inkscape's GUI as soon as a paint server other than flat color is used).
Yes it seems if there are no more references to a gradient (vector) it gets deleted. This would have had to be deliberately coded by someone, I wonder if anyone knows the reason for this behavior ?
WRT automatic garbage collection of unreferenced resources (AFAIU intentional behavior): I do hope one of the core developers will reply in greater detail - in the meantime all I can do is offer a link to the wiki page with notes about the underlying considerations for garbage collection [1]: http://wiki.inkscape.org/wiki/index.php/Developer_manual#Garbage_collection (Note: the page may contain partially outdated information with regard to the current code base)
~suv
[1] earlier discussions about garbage collection are likely to be found in the mailing list archives: http://search.gmane.org/form.php?group=gmane.comp.graphics.inkscape.*&sort=date