From: Ciske Busch

Subject: Problems with the 'mouse-moved' event in ACL5.0 for Windows

Date: 1999-2-3 10:23

Hi,

I am experiencing some problems with the 'mouse-moved [window buttons data]'
event in ACL5.0 for Windows.

The DATA parameter contains the cursor-position - at least it should.

I use this event to implement drag-ability for panes. When moving the mouse
'to fast' (which is not really fast if the pane has a none too trivial
redraw-method) the DATA parameter "jumps" to x- and/or y-values in the
region between 32xxx and 65xxx units/pixels. Obviously some bits get
"switched" during the process...

Unfortunatly filtering via (logand #x0000ffff data-x) doesn't work (it only
reduces the jump to 25x units...)

Right now the fix is to replace DATA with CURSOR-POSITION and to implement
the desired method like this:

(defmethod mouse-moved ((self *mouseable-mixin*) button-state data)
   (declare (ignore data))
   (when-mouse-moved self button-state (cursor-position self))
   (call-next-method)
   )

BUT: What do I lose performance-wise? Or do I lose anything else? If I do
not why even bothering with using the DATA parameter in the first place?
Shouldn't it have been made obsolete just like the TIMER-EVENT from ACL3's
EVENT mthods?

Any comments would be appreciated.


ciske




-------------------------------------------------------------------
"Real stupidity beats artificial intelligence every time."
                                               M.Ridcully

Ciske Busch
Lehrstuhl fuer Kuenstliche Intelligenz und Angewandte Informatik
Universitaet Wuerzburg, Germany
http://ki-server.informatik.uni-wuerzburg.de/~ciske/
ICQ: #12558072
-------------------------------------------------------------------