Re: [Gimp-developer] Is there a way to update the cursor position from within a tool?

2006-07-29 Thread Tino Schwarze
On Fri, Jul 28, 2006 at 12:15:05PM +0200, Karl Günter Wünsch wrote:

> > > That's why I would like to update the cursor position after all of  
> > > the calculations are through to reflect the results.

> > Are you saying that you wish the pointer to be forced to the  
> > calculated corner of a (aspect ratio) constrained mouse movement? If  
> > this is what you mean then I am almost certain this is contrary to the  
> > GNOME Human Interface Guidelines  
> > (http://developer.gnome.org/projects/gup/hig/1.0/index.html).

> What is so wrong in this case to have the cursor follow the only possible 
> path 
> that is within the constraints. Because if you don't then you end up with a 
> pointer position that doesn't correspond to the current selection anymore.

It's wrong in the sense that the mouse pointer never moves by itself,
but only if the user moves the mouse. Apart from that, it would not work with
certain setups like graphics tablets in absolute mode where the
position on the tablet is directly mapped to the position on screen.

> In this case we have a corner of an aspect constrained rectangle selected. 
> Both x and y movements are allowed but as these two have to a strict 
> relationship any movement by the user that doesn't follow this relationship 
> (for every 3 pixels horizontally move 2 pixels vertically) will end up having 
> the pointer and the corner being so far apart that the visual relationship 
> between the pointer and the selection isn't aparent any more. I have found a 
> partial solution to this problem yesterday evening (still some quirks to work 
> out) but the problem basically is only reduced by the code that tries to keep 
> the selection as close as possible to the pointer, there still are times when 
> they end up virtually in different corners of the screen...

The mouse pointer should always be at the X or the Y border of the
selection. IMO this is sufficient.

Tino.

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Is there a way to update the cursor position from within a tool?

2006-07-28 Thread Henning Makholm
Scripsit Karl Günter Wünsch <[EMAIL PROTECTED]>
> On Friday 28 July 2006 12:46, Henning Makholm wrote:

>> The correct way to deal with a constrained selection is to let the
>> user control the pointer, and then draw the unique rectangle with the
>> specified aspect for which one of the moving sides pass through the
>> pointer. This allows one to select the rectangle by moving either the
>> right side (and have the bottom one follow according to aspect) or
>> moving the bottom side (and have the right one follow according to
>> aspect).

> That behaviour is  there and works, it's the  seperate corners which
> are movable  in both horizontal  and vertical direction at  the same
> time that pose  a problem. For the times when  no aspect is selected
> these corners  are a must to  allow for a fast  resizing. It's those
> corners which are a problem when the aspect is fixed though.

I don't see what the problem is. Is the aspect is fixed, then let the
pointer position one of sides adjacent to the grabbed corner (selected
on the fly just as when the rectangle is being dragged out initially,
holding the opposite corner's position constant). If the aspect is
_not_ fixed, then move the corner itself.

> It's less about breaking the UI generally but if there are
> constraints - even if I enabled them myself - such a visual feedback
> that I can't reach other positions could be well worth having.

Isn't it visual feedback enough for you that the corner you're
attempting to drag does not follow the mouse?

-- 
Henning Makholm"I ... I have to return some videos."
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Is there a way to update the cursor position from within a tool?

2006-07-28 Thread Karl Günter Wünsch
On Friday 28 July 2006 12:46, Henning Makholm wrote:
> The correct way to deal with a constrained selection is to let the
> user control the pointer, and then draw the unique rectangle with the
> specified aspect for which one of the moving sides pass through the
> pointer. This allows one to select the rectangle by moving either the
> right side (and have the bottom one follow according to aspect) or
> moving the bottom side (and have the right one follow according to
> aspect).
That behaviour is there and works, it's the seperate corners which are movable 
in both horizontal and vertical direction at the same time that pose a 
problem. For the times when no aspect is selected these corners are a must to 
allow for a fast resizing. It's those corners which are a problem when the 
aspect is fixed though.
> 
> That is how the "select square" functionality works in 2.2. It is easy
> and intuitive. Is there any reason to change it?
The new rectangle selection (see my rant - of which almost all things are now 
being tackled) does enhance the functionality in this department by quite a 
bit but there are some things that would benefit from having this set 
fuctionality. It's less about breaking the UI generally but if there are 
constraints - even if I enabled them myself - such a visual feedback that I 
can't reach other positions could be well worth having.

-- 
regards
Karl Günter
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Is there a way to update the cursor position from within a tool?

2006-07-28 Thread Henning Makholm
Scripsit Karl Günter Wünsch <[EMAIL PROTECTED]>

> In this case we have a corner of an aspect constrained rectangle
> selected.  Both x and y movements are allowed but as these two have
> to a strict relationship any movement by the user that doesn't
> follow this relationship (for every 3 pixels horizontally move 2
> pixels vertically) will end up having the pointer and the corner
> being so far apart that the visual relationship between the pointer
> and the selection isn't aparent any more.

The correct way to deal with a constrained selection is to let the
user control the pointer, and then draw the unique rectangle with the
specified aspect for which one of the moving sides pass through the
pointer. This allows one to select the rectangle by moving either the
right side (and have the bottom one follow according to aspect) or
moving the bottom side (and have the right one follow according to
aspect).

That is how the "select square" functionality works in 2.2. It is easy
and intuitive. Is there any reason to change it?

-- 
Henning Makholm "The Central Intelligence Agency is committed to
protecting your privacy and will collect no personal
 information about you unless you choose to provide that information to us."
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Is there a way to update the cursor position from within a tool?

2006-07-28 Thread Michael Natterer
On Fri, 2006-07-28 at 12:15 +0200, Karl Günter Wünsch wrote:
> On Friday 28 July 2006 11:30, [EMAIL PROTECTED] wrote:
> > Quoting Karl Günter Wünsch <[EMAIL PROTECTED]>:
> > 
> > > That's why I would like to update the cursor position after all of  
> > > the calculations are through to reflect the results.
> > 
> > Are you saying that you wish the pointer to be forced to the  
> > calculated corner of a (aspect ratio) constrained mouse movement? If  
> > this is what you mean then I am almost certain this is contrary to the  
> > GNOME Human Interface Guidelines  
> > (http://developer.gnome.org/projects/gup/hig/1.0/index.html).
> What is so wrong in this case to have the cursor follow the only possible 
> path 
> that is within the constraints. Because if you don't then you end up with a 
> pointer position that doesn't correspond to the current selection anymore.

Well we don't do that when snapping to guides and the grid either, and
as said before, it's a totally non-standard way of dealing with
snapping. The mouse pointer should always be driven by the user, not
by the application, and until recently, gtk didn't even have an API
to wrap the mouse, for just that reason.

We won't add that to GIMP.

ciao,
--mitch


> In this case we have a corner of an aspect constrained rectangle selected. 
> Both x and y movements are allowed but as these two have to a strict 
> relationship any movement by the user that doesn't follow this relationship 
> (for every 3 pixels horizontally move 2 pixels vertically) will end up having 
> the pointer and the corner being so far apart that the visual relationship 
> between the pointer and the selection isn't aparent any more. I have found a 
> partial solution to this problem yesterday evening (still some quirks to work 
> out) but the problem basically is only reduced by the code that tries to keep 
> the selection as close as possible to the pointer, there still are times when 
> they end up virtually in different corners of the screen...
> 
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Is there a way to update the cursor position from within a tool?

2006-07-28 Thread Karl Günter Wünsch
On Friday 28 July 2006 11:30, [EMAIL PROTECTED] wrote:
> Quoting Karl Günter Wünsch <[EMAIL PROTECTED]>:
> 
> > That's why I would like to update the cursor position after all of  
> > the calculations are through to reflect the results.
> 
> Are you saying that you wish the pointer to be forced to the  
> calculated corner of a (aspect ratio) constrained mouse movement? If  
> this is what you mean then I am almost certain this is contrary to the  
> GNOME Human Interface Guidelines  
> (http://developer.gnome.org/projects/gup/hig/1.0/index.html).
What is so wrong in this case to have the cursor follow the only possible path 
that is within the constraints. Because if you don't then you end up with a 
pointer position that doesn't correspond to the current selection anymore.

In this case we have a corner of an aspect constrained rectangle selected. 
Both x and y movements are allowed but as these two have to a strict 
relationship any movement by the user that doesn't follow this relationship 
(for every 3 pixels horizontally move 2 pixels vertically) will end up having 
the pointer and the corner being so far apart that the visual relationship 
between the pointer and the selection isn't aparent any more. I have found a 
partial solution to this problem yesterday evening (still some quirks to work 
out) but the problem basically is only reduced by the code that tries to keep 
the selection as close as possible to the pointer, there still are times when 
they end up virtually in different corners of the screen...

-- 
mfg
Karl Günter
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Is there a way to update the cursor position from within a tool?

2006-07-28 Thread Alastair M. Robinson

Hi,

Karl Günter Wünsch wrote:

I have a problem. Because of the aspect pegging in the rectangle selection 
tool the cursor position and the corner of the area can move asynchronously 
because of rounding effects in conjunction with the set aspect ratio. 


When you say asynchronously, are we talking about the corner of the 
selection parting company with the mouse by a couple of pixels, or can 
the selection get "left behind"?


I haven't looked at the code - but can you keep the coordinates as 
floats, and round down only when you draw the selection box - and avoid 
the cumulative rounding error that way?


That's why I would like to update the cursor position after all of the 
calculations are through to reflect the results.


That's not a good idea - Adobe PageMaker does that for guide-snapping, 
and it feels *awful* - especially when you get interactions between 
guides, causinig the cursor's position to *oscillate* rapidly between 
two or more positions!


I think what you're suggesting would subtly change the "feel" of the 
mouse while creating a selection - hopefully, there's a better solution 
to the problem. :)


All the best,
--
Alastair M. Robinson
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Is there a way to update the cursor position from within a tool?

2006-07-28 Thread saulgoode

Quoting Karl Günter Wünsch <[EMAIL PROTECTED]>:

That's why I would like to update the cursor position after all of  
the calculations are through to reflect the results.


Are you saying that you wish the pointer to be forced to the  
calculated corner of a (aspect ratio) constrained mouse movement? If  
this is what you mean then I am almost certain this is contrary to the  
GNOME Human Interface Guidelines  
(http://developer.gnome.org/projects/gup/hig/1.0/index.html).


Pointer movements are supposed to track mouse movements. If you are  
dragging the mouse along the X-axis, to have the pointer follow a  
Y-path that is a function of the X-position (and not determined by the  
mouse's Y position) breaks everything that users have ever experienced  
in using mice.


My apologies if I misunderstood you. If such is the case, perhaps you  
wouldn't mind providing a clarification.


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] Is there a way to update the cursor position from within a tool?

2006-07-27 Thread Karl Günter Wünsch
I have a problem. Because of the aspect pegging in the rectangle selection 
tool the cursor position and the corner of the area can move asynchronously 
because of rounding effects in conjunction with the set aspect ratio. 

That's why I would like to update the cursor position after all of the 
calculations are through to reflect the results.

regards
Karl Günter Wünsch
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer