CLIM mail archive

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

TRACKING-POINTER question



   Date: Fri, 25 Sep 92 16:01:35 CDT
   From: Rodney Daughtrey <rodney@hsvaic.boeing.com>
   Reply-To: rodney@hsvaic.boeing.com

   I have an application in which I use a TRACKING-POINTER form to draw
   cross-hairs (which move with the mouse) over rectangular
   presentations.  As long as I move the mouse slowly, the cross-hair
   animation works fine (erase where you were, draw where you are now).
   However, when I move the mouse quickly from one rectangular
   presentation to another, garbage lines appear in seemingly random
   places in the pane I'm tracking.

You'll have to be more specific.  Does the following code exhibit the
behavior you are seeing?  It doesn't for me under Lucid CLIM 1.1.  If
not, can you upgrade this example to be more like what you are doing?


(in-package :clim-user)

(defun foo (win)
  (let ((old-x nil) (old-y nil) (size 10))
    (flet ((draw-box (x y)
	     ;; erase old box
	     (when old-x
	       (draw-rectangle* win old-x old-y (+ old-x size) (+ old-y size)
				:ink +flipping-ink+))
	     ;; draw new
	     (draw-rectangle* win x y (+ x size) (+ y size)
			      :ink +flipping-ink+)
	     ;; remember newly old box
	     (setq old-x x old-y y)))
      (tracking-pointer (win)
        (:pointer-motion (x y)
          (draw-box x y))
        (:presentation (presentation x y)
          (draw-box x y))))))


0,,

References:

Main Index | Thread Index