[climacs-devel] Incremental redisplay cursor fix.
Nyef
nyef at sc.am
Mon Dec 27 17:39:41 UTC 2004
Hello all.
Attached is a patch to fix the cursor display problem with incremental
redisplay. This appears to work, except for the beginning of lines other
than the second one.
--
--Alastair Bridgewater
-------------- next part --------------
Index: syntax.lisp
===================================================================
RCS file: /project/climacs/cvsroot/climacs/syntax.lisp,v
retrieving revision 1.9
diff -u -r1.9 syntax.lisp
--- syntax.lisp 27 Dec 2004 16:47:45 -0000 1.9
+++ syntax.lisp 27 Dec 2004 17:37:39 -0000
@@ -163,10 +163,13 @@
(multiple-value-bind (x y) (stream-cursor-position pane)
(setf cursor-x x
cursor-y y)))
- (draw-line* pane
- cursor-x (- cursor-y (* 0.2 height))
- cursor-x (+ cursor-y (* 0.8 height))
- :ink +red+))))))
+ (maybe-updating-output (pane :all-new t :fixed-position t)
+ (draw-line* pane
+ ;; cursors with odd x-positions were invisible
+ ;; so we strip off the low bit to make them even.
+ (logand -2 cursor-x) (- cursor-y (* 0.2 height))
+ (logand -2 cursor-x) (+ cursor-y (* 0.8 height))
+ :ink +red+)))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
More information about the climacs-devel
mailing list