After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 91934 - want to drag edges of selected rectangles, elipses
want to drag edges of selected rectangles, elipses
Status: RESOLVED FIXED
Product: GIMP
Classification: Other
Component: Tools
1.x
Other All
: Normal enhancement
: 2.4
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2002-08-29 01:03 UTC by Jamie Zawinski
Modified: 2006-06-06 11:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jamie Zawinski 2002-08-29 01:03:05 UTC
(I mentioned this in bug 91846, Raphaël said I should report it separately.)

When I've made a rectangular selection, I'd like to be able to pick up the
edges and drag them, the way window borders work in, e.g., Sawfish:

    CCCC VVVVVVVVV CCCC
    C                 C
       DDDDDDDDDDDDD
    H  DDDDDDDDDDDDD  H
    H  DDDDDDDDDDDDD  H
    H  DDDDDDDDDDDDD  H
    H  DDDDDDDDDDDDD  H
       DDDDDDDDDDDDD
    C                 C
    CCCC VVVVVVVVV CCCC

Dragging on "C" drags that corner, no constraints.
Dragging on "H" drags that edge (constrained to horizontal changes).
Dragging on "V" drags that edge (constrained to vertical changes).
Dragging on "D" moves the whole rectangle (maybe?)

The rectangle should still be drawn as 1-pixel ants, but the clickable
region should be a little wider (indicated by mouse cursor changes.)

This would also be really handy for elipses (though in that case, any point
on the edge would be a freehand non-constrained move, I guess.)

I generally find the elipse tool hard to use: when I'm trying to select a
circular region out of an image, I'd have better luck doing it if I were
selecting the center and then dragging out to the edge, than trying to
select the top left/bottom right.  Though that only works for circles, not
elipses.  However, if one could adjust the edges afterward, maybe that
would make it an easier two-step process than the current one-step process.

I haven't really thought this through that far, so I'm not sure how well it
would work out in practice, but I do find the current elipse tool really
awkward to use.
Comment 1 airfullbete 2002-08-29 13:49:01 UTC
> Dragging on "D" moves the whole rectangle (maybe?) 
 
This one is already in the GIMP: ALT + drag with left mouse button. 
 
AirBete. 
Comment 2 Raphaël Quinet 2002-08-29 16:23:51 UTC
jwz wrote:
> This would also be really handy for elipses (though in that case,
> any point on the edge would be a freehand non-constrained move, I
> guess.)

There is another option: when you create an elliptical selection, you
are actually defining two corners of a rectangle inside which the
ellipse is drawn.  So instead of using the edges of the ellipse for
moving or resizing the selection, it could be possible to draw the
outer rectangle briefly when the mouse is over one of its edges (just
outside the ellipse).  Moving the edges of this rectangle would resize
the ellipse exactly in the same way as for the rectangular selections.

airfullbete wrote:
> ALT + drag with left mouse button.

Yes, but as mentioned in bug #91486 (and in bug #51108), this is not a
very good solution because there are no visual hints indicating that
the feature exists.  So although this is convenient for experienced
users, this is not so good for beginners.  Besides, the Alt+drag
combination was used because the mouse buttons without modifiers were
already used.  It is always better if something can be done using only
the mouse (or pen), without requiring a keyboard+mouse combination.

Anyway, there is a general problem with this proposal: contrary to the
crop tool (bug #91486), the selection tools require you to keep the
mouse button pressed while you define the selection (click and drag).
Once you release the mouse button, the selection is defined and maybe
merged or substracted from an existing selection.  At that point, the
tool that was used to define the selection (rectangle, oval, freehand)
does not matter anymore because the selection can have an arbitrary
shape.  There could also be some feathering and so on.

So it looks like the only way to implement this feature for the
selection tools would be to change the interaction model.  Releasing
the mouse button should not immediately create the selection.
Instead, it should still be possible to modify its shape like with the
crop tool.  Once you are satisfied, then a separate operation (e.g.,
clicking outside of it, double-clicking inside or something else)
would really create the selection.  This would allow for more precise
control but would be slower.

Of course, we could offer both interaction models and allow the users
to switch from one to the other at any time, depending on whether they
prefer to define selections quicky (click, drag, release) or precisely
(click, drag, adjust, confirm).
Comment 3 Raphaël Quinet 2002-08-29 16:25:55 UTC
Oops, I meant bug #91846, not -486.  I guess these CPU numbers are
just stuck in my head...
Comment 4 Michael Natterer 2002-08-29 16:54:19 UTC
I'd rather favour a solution where we have a Selection->Transform
function which invokes the transform tool on a selection of just
any shape.

The selection transform tool would support scaling, moving,
rotating, shearing and whatever.

IMHO it makes more sense to keep the selection tools as simple
as they are and implement transformation of arbitrary selections
separately.

Opinions?
Comment 5 Simon Budig 2002-08-29 17:24:07 UTC
I kind of like the idea to have the currently selected shape editable
until the user thinks it fits perfect. Especially when you want to
adjust for example an elliptical selection to a given ellipse it would
be cool to simply drag the four edges of the bounding rectangle.

The new (editable) shape should stay editable until the user applies it
or should be combined with an existing selection when the user
performs other stuff (filling, switching tools, invoking plugins).

The transform tool usage does not help much, because it would always
affect the *whole* selection. With the proposal you could fit several
ellipses of the selection to existing imagedata. (select and adjust
ellipse, apply, select and adjust ellipse, apply...). *Maybe* this 
could be also a way to tackle the newbie-problem of the combination
with an existing selection, since it would be a two step process:
  1) select and adjust shape, modifiers control the constraints
  2) apply, modifiers control combination with an existing selection.

A "classic" mode would be possible with automatically converting the
shape to a selection at the end of the mouseclick and changing
modifier behaviour a bit.

Currently the ellipse tool sucks when you want to adjust an ellipse
to a given shape in the image. This proposal would solve the problem,
the transform tool would not.   :-)
Comment 6 Michael Natterer 2002-08-29 18:11:00 UTC
Right, I slightly misunderstood that.

I want both featuers :)
Comment 7 Dave Neary 2003-07-26 10:33:24 UTC
Bumping a bunch of enhancement requests which will not be done by the feature
freeze to Future. 

Dave.
Comment 8 Michael Schumacher 2005-06-16 23:27:38 UTC
This is partly addressed by the new rect select tool in current CVS.
Comment 9 Sven Neumann 2006-06-06 11:04:47 UTC
The new selection tools in CVS address this request. Let's close it as FIXED. If another enhancement is required, it will be best to open a new report for it.