From Inkscape Wiki
Jump to navigation Jump to search

Gradient tool goodness that Johan is working on. As items are taken care of, they're removed from the main text of this page. The controls/features will be copied to the bottom of this page in temp release notes (they will be fleshed out prior to the 0.46 release).
For a video: see jimmac's video

strike through = i _think_ it's fixed, but please check; remove if confirmed fix :) (johan)



  • Port the "repeat" combobox from the fill & stroke dialog.
  • Port the spinbox for location of currently selected stop - enables precision placement.


  • Make arrow keys function


  • Selecting more than one stop also accomplished with the Mousewheel (just like the node tool).
  • Sculpting - Alt modifier will sculpt stops like the node tool.
  • Change alpha of selected stop(s) with modifier + mousewheel hovering over stop (perhaps Alt+Mousewheel)
  • rotating/resizing the gradient by using the [,],<, and > keys. (these keys perform those functions in other tools)
  • enable Ins key to create new midstops; if no gradient nodes selected, then add a new stop in the middle of each interval in the selected object gradient; if some midstops are selected, add new midstop(s) only between them (similar to how Ins works in Node tool)
  • "Drag and Drop" from the color palette


  • Mid-stops can leave the fixed plane if arrow keys are used to move them.(other bugs materialize with a linear gradient if you move by mouse after it's left the plane via keys)
    Please add how you want it to be: arrow up or right moves midstop into direction of endstop; arrow down or left the other way? (johan)
    I believe that sounds like a reasonable solution. The only thing I fear is when the End or Start is the opposite direction of the arrow key you press.So I guess the question is, can we always have it go the expected direction?
  • Gradient fill & Stroke issue...
    1. Create object, create fill gradient with color of choice, create stroke gradient with different colors.
    2. Create object, on gradient toolbar choose the Stroke button, and select one of the two gradients. Then switch the button on the toolbar to Fill and choose the other gradient.
      The result is that when you assign the gradient to the fill on step two, it will change the stroke to that same gradient as well. May be present in 0.45.
      Note that this does work when a knot of a gradient has been selected. When nothing is selected and using the "change" selector, it should look at the settings of the toggle buttons to the left to see what to apply? Also linear of radial gradient? (johan) Is fixed half now. (does not listen to the linear or radial setting of buttons) (johan).
  • With multiple stops selected, if an end stop is included in selection it doesn't shift nodes, it only resizes gradient.
  • With multiple stops selected, if you select every other stop it will only shift the selected stop your mouse is moving, other selected stops won't move.
    it only moves the knots that are selected as a closed group (no unselected knots in between). This is easy way out for me at the moment. Thought in progress about this one.
  • Create gradient, add three stops in the middle, select the three stops and shift (move) them down the gradient, delete the three stops together, Undo. The stops don't go back to where they were deleted from.

Related List Discussion

From bbyak...
I've played with it some, not too much, but here are some observations:

  • Node moving by arrow keys currently does not work
  • Let's try to make less of GrDrag public. The sp_gradient_context_delete_stops is especially intrusive. Can you try to move the core of that function into a GrDrag method and make only that method public? This would let us make a lot of other stuff in GrDrag private.
  • The node deletion logic needs to be smarter. In particular:
    • when deleting an intermediate stop, do what you're doing now, no need to change
    • when deleting an endstop and there's at least one intermediate stop, shorten the gradient by making the closest intermediate stop the new endstop (you're doing it now but only for color/opacity; I think we should also change the position of the endstop by moving it to the position of the closest intermediate, in effect shortening the gradient line, so that the rest of the gradient does not change at all)
    • when deleting an endstop and there are no intermediate stops, remove the gradient and paint the object with the color/opacity of the other stop, not with black as now.

Release Notes:

Gradient Tool changes:

  • Stops in gradients can be added, deleted, and edited on-canvas now.
    • Stops can be added by double clicking on the gradient line or by Ctrl+Alt+Click on the line.
    • Stops can be deleted by Ctrl+Alt+Click on a Stop or the delete key for the selected stop(s).
    • More than one stop can be selected at a time.
      • Can be moved together if next to each other.
      • Can be deleted at the same time.
      • When multiple gradient stops are selected, the selected style indicator (in the statusbar) displays and controls the [averaged!!!] color and opacity of the selected stops.

Coming up next ?