On Fri, 11 Mar 2005 22:25:34 +0100, Johan Forsberg <johan.forsberg@...400...> wrote:
When editing a linear gradient, the line between the handles seems like it should represent the actual direction of the gradient, but it doesn't, exactly, unless the object has a perfectly square bounding box. If the bounding box is rectangular, the only directions in which the line and the direction of the gradient are the same are horizontal and vertical; all other directions the gradient appears "sheared" ('m not sure if this is the correct term); it is not parallel to the line. (This is a bit hard to explain, perhaps I should make a screen shot to demonstrate what I mean?)
I'm aware of this. It's just a thing from our past when we were using objectBoundingBox gradient coords. For objectBoundingBox, this behavior, weird as it may seem, is actually prescribed by the spec (yet another reason to never ever use objectBoundingBox!). When creating new gradients, they're currently still created with objectBoundingBox but get converted at once to userSpaceOnUse, which conversion emulates this weird behavior of objectBoundingBox to avoid gradient displacement. I think I'll be able to fix it easy enough by switching new gradients to use userSpaceOnUse from the start.
Even more confusing is the fact that this behaviour does not change even if the object is resized to have a square bounding box.
Not in my testing. I just tried it. I resize a box to square and now the handles and the actual gradient are always perpendicular.