Hello!
My name is Dumitru Ursu (dimaursu16 on irc), and I'm a student at
Technical University of Moldova, Computer Science, second year.
I would like to contribute to the GIMP project, on Implementing the
Combined Selection Tool. I have strong knowledge of C, and I think
that with a little help and guidance I can accomplish this task.
I want to contribute because I want to improve my skills, and
because I use GIMP very often and I want to help on its improving so
others can make a better use of this program.
About the Project:
I think that the user should be able to use an intuitive tool, with
much of the work on settings being done auto-magically, just some
options for tuning, in the selection tool properties.
Most of the code from Select by color, Lasso, and Intelligent
scissors should be reused, as
- painting *dragging* should behave mostly like Foreground Select tool
- selecting with clicks on a contrast path == intelligent scissors
At some point in the research made by Voralberg students in 2010,
the second team ( http://mmiworks.net/pics/blog10/10team2.pdf, page
14 ) mentioned that 3 types of brushes will be available( for
geometric selections) . I think it would be reasonable to use all
the brushes available in Paintbrush in GIMP, for avoiding designing
new brushes, (which means more coding). So there will be needed just
to adjust the brush to work as a selection tool, mostly like the
Quick Mask works.
I believe that selection tools can be condensed into one, but that
can make it trickier for the user (one could not find how to make a
rectangular selection, for example ), so the tools could be either:
1. one tool which does the foreground select when moving with the
mouse button pressed and behaves like Intelligent scissor when clicking
2. another for geometric selection ( squares, circles, stars,
polygons)
or:
one single tool just like 1. but in addition can use brushes ( and
they can have square, round or star form )
(this is a raw sketch, but I just wanted to see whether I'm getting
it right)
( I already have a development environment ( a linux box ), and I've
built "babl", "gegl", and "gimp" from git, so please don't ask me if
I've done that)