Comment 3 for bug 1520341

Revision history for this message
su_v (suv-lp) wrote : Re: Skew deforms circular gradient axes

On 2015-11-26 19:47 (+0100), Bart Van Audenhove wrote:
> Skew deforms circular gradient axes

This in itself is not a bug - it's basically how SVG works: style properties (e.g. fill paint, or even stroke width) of an object with a preserved transform attribute (it might be skewed, or e.g. scaled) are subjected to the same transformation (i.e. painting is done before applying a transformation defined in the 'transform' attribute or inherited from a parent container element (e.g. a group) to the object as a whole).

The select tool has a toggle button which controls whether or not gradients are transformed along with the object or not. The underlying technical details vary depending on whether or not the skew transformation is stored in a preserved 'transform' attribute of the object itself (or one of the parent container elements), always based on the above behavior as defined in the SVG specs (paint before transform).

The select tool has no third option specifically for gradients to automagically apply yet another sort-of-inverse transformation to the gradient in use for a transformed object to appear as if the gradient definition would define orthogonal handles (i.e. rotated, and with different, adjusted lengths for both radii) in the current coordinate system, while actually applied and subjected to the object's own transform. This might be considered a missing feature - if feasible at all to implement and to support with whatever editing can occur at any time later on to the object, any parent container elements as well as to the gradient itself (I can't tell).