<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE TIP SYSTEM "http://tcl.activestate.com/cgi-bin/tct/tip/tipxml.dtd">
<!-- Converted at Thu Feb 09 07:55:55 GMT 2012 -->
<!-- TIP AutoGenerator - written by Donal K. Fellows -->

<TIP number='84'>
<header><title>Add control for mouse movement filtering</title><author address="mailto:Jyrki.Alakuijala@iki.fi">Jyrki Alakuijala</author><author address="mailto:JeffH@ActiveState.com">Jeff Hobbs</author><status type='project' state='final' tclversion="8.4" vote='after'>$Revision: 1.5 $</status><history></history><created day='26' month='feb' year='2002' /></header>
<abstract>When the mouse is moved, the Tcl/Tk system eats most of the mouse movement events and only the last movement event when Tcl/Tk is not busy is stored in the event queue. I would like to obtain all the movement events from the X-server or the Windows UI.</abstract>
<body><section title="Rationale">
<para>I have an artistic drawing program where I need to track mouse as accurately as possible. At the moment I poll the <emph style="italic">XQueryPointer()</emph> in the busy loops to create (pseudo)events in the C-side of the code to compensate for the missing events, but (of course) this does not work in Windows.</para>
<para>I would like to have an option for the widget system or for the window control so that a window (or, alternatively all the windows) could receive all the movement events instead of only the last buffered one.</para>
<para>This has been a problem for me since 1995 and has - at many times - caused me to consider changing the widget system.</para>
</section>
<section title="Implementation">
<verbatim><vline encoding='base64'>ICAgIGludCBUa19Db2xsYXBzZU1vdGlvbkV2ZW50cyhEaXNwbGF5ICpkaXNwbGF5LCBpbnQgY29sbGFwc2Up</vline></verbatim>
<para>A reference implementation is SF Tk patch 564642, which adds a flag to the TkDisplay that specifies whether motions events should be collapsed or not. The default is the current behavior of collapsing these events.</para>
</section>
<section title="Copyright">
<para>This document has been placed in the public domain.</para>
</section>
</body></TIP>

