Update of /project/mcclim/cvsroot/mcclim/Drei
In directory clnet:/tmp/cvs-serv2727/Drei
Modified Files:
drei-redisplay.lisp
Log Message:
Removed optimisation that destroyed tab support.
Also some other cleanup as a bonus.
--- /project/mcclim/cvsroot/mcclim/Drei/drei-redisplay.lisp 2008/01/14 21:43:48 1.30
+++ /project/mcclim/cvsroot/mcclim/Drei/drei-redisplay.lisp 2008/01/15 07:56:15 1.31
@@ -455,7 +455,7 @@
of the stroke."
(loop with parts = (analyse-stroke-string stroke-string)
with width = 0
- with widths = (make-array (length parts) :adjustable t :fill-pointer t)
+ with widths = (make-array 1 :adjustable t :fill-pointer t)
with tab-width
for (start end object) in parts
do (cond ((and object (eql object #\Tab))
@@ -567,14 +567,12 @@
(y2 dimensions) (+ y1 line-height))))
(defun end-line-cleaning-up (stream line line-x1 line-y1
- line-width old-line-width
- line-height old-line-height)
+ line-width line-height)
"End the addition of strokes to `line' for now, and update the
dimensions of `line'. Update all undisplayed lines to have no
associated dimensions. Also clear from the bottom of strokes to
the bottom of the line, and from the end of the line to the end
of the sheet."
- (declare (ignore old-line-width))
(end-line line line-x1 line-y1 line-width line-height)
(with-accessors ((line-x1 x1) (line-y1 y1)
(line-x2 x2) (line-y2 y2)) (line-dimensions line)
@@ -603,8 +601,6 @@
buffer offset `start-offset', and will be drawn starting
at (`cursor-x', `cursor-y')."
(let* ((line (line-information view (displayed-lines-count view)))
- (old-line-height (dimensions-height (line-dimensions line)))
- (old-line-width (dimensions-width (line-dimensions line)))
(orig-x-offset cursor-x)
(offset-change (- start-offset (line-start-offset line)))
(line-spacing (stream-vertical-spacing pane)))
@@ -651,8 +647,7 @@
for stroke-dimensions = (stroke-dimensions stroke)
do (draw-stroke pane view stroke (x1 stroke-dimensions) baseline)
finally (progn (end-line-cleaning-up pane line orig-x-offset cursor-y
- line-width old-line-width
- line-height old-line-height)
+ line-width line-height)
(incf (displayed-lines-count view))
(return (values pump-state line-height)))))))