Mantis - Squeak
Viewing Issue Advanced Details
6580 Morphic major always 07-31-07 03:51 06-02-10 06:15
wiz  
 
normal  
new  
open  
none    
none  
0006580: [FIX] {ENH] MouseMoveEvent>deltaVector now reports how much mouse moved.
Context: You are trying to move something in tandem with the hand.
Their are constrains on the target.

Problem: You have a choice. Keep track of a changing target offset.
Movng the target only when the hand is within the constraints.
Or doing something else.

Solution: by having the event return the amount of motion that can be added to the target and then the constraints can be applied to the target.
The target will continue to remain responsive to the hand.
See 0005567 hand targetOffset has been misused more times than it has been used correctly.

Those were bugs caused by confusion on how to track a target to the mouse.

I have also played enough to realize that what squeak generally does is elastic tracking. When moving a submorph, for example, eventually the movement stops at the owners border. Then moving the hand further away or closer to the submorph has no effect until the hand is within range. As if there were a rubber band that got stretched and must be allowed to unstretch before movement is resumed.

More responsive is inelastic tracking. As soon as the mouse starts moving back the submorph moves with it until it comes upon another constraint.

see 0005997:
[enh] Improved constrained dragging behavior with brown halo handle

So this is an enhancement that allows getting the event to tell you just the movement.

And to ask any mouse event if it has a movement to report.

related to 0007540closed lewis Some point functions have gone missing. 
 MouseMoveEnh-wiz.2.cs [^] (1,553 bytes) 07-31-07 03:51
 Point-sign.st [^] (192 bytes) 08-02-07 02:14
 MouseMoveEnh-wiz.3.cs [^] (2,118 bytes) 08-02-07 02:15
 Notes-on-delta...orWithTug.text [^] (2,408 bytes) 08-02-07 02:19
 MouseMoveTests-wiz.1.cs [^] (6,350 bytes) 08-12-07 23:06
 MouseMoveEnh-wiz.5.cs [^] (1,878 bytes) 08-12-07 23:07

Notes
(0010955)
wiz   
08-02-07 02:23   
 Point-sign.st --makes point polymorphic with Collection and Number for selector #sign.
 MouseMoveEnh-wiz.3.cs -- depends on Point-sign.st. adds #deltaVectorAndTug:
 Notes-on-delta...orWithTug.text explains what that does and how it works.
See http://209.143.91.36/super/729 [^] for an example in action (3.9 project)