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

[XaraXtreme-dev] Freehand tool peculiarities



I thought I'd try and debug why the freehand tool puts in so many
points.

Gerry and I had the notion that it might be because of the PeekMessage
stuff in CCamView::OnMouseMove which deletes spurious mouse move
events on Windows. I reimplemented that (a different way), however
it doesn't fix the problem. I'm 99% sure this /can't/ have been the
problem unless someone has been doing lots of fiddling with drag
code, as it only ever went into operation when DragAccuracy was
FALSE. DragAccuracy is FALSE for all drags I've tried, except, urm, the
freehand tool, where its TRUE. This appears to be entirely
deliberate.

So I'm a bit stumped here. It appears at least to be calling
the smoothing code with sensible values. Any ideas?

I've left the motion move reduction stuff in - it now works on
the basis of timing in that if nothing button state or keypress-wise
has happened and the mouse is still "in motion" it will ignore
mouse-moves under 20ms apart. This seems to reduce the number of
mouse moves slightly, and given you can't /see/ drags faster than
that, it seems sensible. It can be removed again if problematic.

Alex