[Gimp-developer] Current state of path tool.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all.

Here is an overview on the current state of the path tool as well
as a summary of its usage.

Please try to use the tool and tell me about problems. If you have
suggestions on how to improve the tool, please discuss them on the list.

Bye,
        Simon


Overview on the current state of the path tool.
-----------------------------------------------

The path tool has three major modes. The Edit-Mode allows to create
anchors/handles as well as moving of anchors/handles/curve-segments.

The Insert/Delete-Mode enables you to insert anchors on curve-segments,
connect strokes as well as deleting anchors and segments (splitting up a
curve).

The Move Mode moves whole strokes or the whole vectors object.


Changing between modes:
-----------------------

You can change between these modes either by clicking in the tool
options or by using the CTRL/ALT modifiers. If CTRL is pressed the tool
will switch to the Insert/Delete Mode, ALT does the same for the Move
Mode.

When you selected the mode in the tool options please note, that
the CTRL/ALT modifier will switch back to the Edit-Mode when released.


Edit-Mode:
----------

If there exists no vectors object, a click will create a new one.
If a stroke exists and there is just one marked anchor at the end
of a stroke a click in the canvas will extend the stroke. If there
is no marked anchor or it is in the middle of a stroke a new stroke
will be started. You can click on open ends of strokes and extending
will continue there.

If you click over an anchor or handle you can move them around. When
dragging around handles the SHIFT-Key will restrict the opposite handle
to symmetric movement.
(Also after pressing down the mouse button to place the anchor you can
drag out control handles and position them until you release the
mousebutton. Both anchors will initially move symmetrically. If you want
to break the symmetric movement you can push down and release the SHIFT
key while dragging. This is a special case to enable quick creation of
bezier strokes).

If you click over a segment you can drag it around without the need to
add more anchors to the curve. Also pressing SHIFT restricts the
movement of the adjacent handles to symmetric ones.


Insert/Create Mode:
-------------------

This tool only works when over the curve or over anchors. If over a
handle. Clicking on the curve will insert a new anchor, you can drag it
around directly afterwards. SHIFT-Clicking on a node will delete it.

Clicking on an endpoint of a stroke enables you to drag out a straight
line you can drag to another endpoint to connect these strokes. Please
note that the resulting connection will be curved according to the
existing handles. You can delete a segment of the curve by clicking
on it while SHIFT is pressed.


Move Mode:
----------

That one is easy. Click-Dragging on a anchor/curve drags the complete
stroke. SHIFT-Click-Dragging will move the complete vectors object
around.




PROBLEMS:
---------

Right now the behaviour is a bit inconsistend with respect to
selecting/unselecting anchors. This is work in progress.

Also I am not sure if the modifier-behaviour CTRL/ALT for switching
modes is the most sane solution. It is a bit hard to use two on-off
modifiers to three modes in a sane manner.

Also I am not sure if the current selection of CTRL for mode switching
and SHIFT for mode-specific toggeling is consistent with jimmacs
proposel some weeks ago. I like it better that way.

Undo does not yet work.


FUTURE PLANS:
-------------

Besides removing the above mentioned problems there are missing two
major things: Libart stroking (esp. important for thin lines) and
Im/Export of Paths into files.

-- 
      Simon.Budig@xxxxxxxxxxx       http://www.home.unix-ag.org/simon/

[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux