--- a/ListView.st Tue May 21 23:49:56 1996 +0200
+++ b/ListView.st Wed May 22 11:15:51 1996 +0200
@@ -665,7 +665,7 @@
dont use scroll here to avoid the redraw
"
oldFirst ~~ firstLineShown ifTrue:[
- self originChanged:(oldFirst - 1) negated.
+ self originChanged:0 @ ((oldFirst - 1) * fontHeight negated).
].
shown ifTrue:[
self redrawFromVisibleLine:1 to:nLinesShown
@@ -789,7 +789,7 @@
oldFirst := firstLineShown.
firstLineShown := self size - nFullLinesShown + 1.
firstLineShown < 1 ifTrue:[firstLineShown := 1].
- self originChanged:(oldFirst - 1) negated.
+ self originChanged:0 @ ((oldFirst - 1) negated * fontHeight).
shown ifTrue:[
self clear.
]
@@ -2360,13 +2360,13 @@
nLines := nFullLinesShown.
(firstLineShown + nLines + nFullLinesShown > self size) ifTrue:[
- nLines := self size - firstLineShown - nFullLinesShown + 1
+ nLines := self size - firstLineShown - nFullLinesShown + 1
].
nLines <= 0 ifTrue:[^ self].
self originWillChange.
firstLineShown := firstLineShown + nLines.
- self originChanged:nLines.
+ self originChanged:0 @ (nLines * fontHeight).
self redrawFromVisibleLine:1 to:nLinesShown
!
@@ -2377,14 +2377,14 @@
|oldOrg|
(firstLineShown == 1) ifFalse:[
- self originWillChange.
- oldOrg := firstLineShown.
- firstLineShown := firstLineShown - nFullLinesShown.
- (firstLineShown < 1) ifTrue:[
- firstLineShown := 1
- ].
- self originChanged:(firstLineShown - oldOrg).
- self redrawFromVisibleLine:1 to:nLinesShown
+ self originWillChange.
+ oldOrg := firstLineShown.
+ firstLineShown := firstLineShown - nFullLinesShown.
+ (firstLineShown < 1) ifTrue:[
+ firstLineShown := 1
+ ].
+ self originChanged:0 @ (firstLineShown - oldOrg * fontHeight).
+ self redrawFromVisibleLine:1 to:nLinesShown
]
!
@@ -2460,7 +2460,7 @@
self waitForExpose.
].
].
- self originChanged:count.
+ self originChanged:(0 @ nPixel).
"Modified: 24.2.1996 / 17:12:08 / cg"
!
@@ -2491,21 +2491,22 @@
scrollLeft:nPixel
"change origin to scroll left some cols"
- |newLeftOffset|
+ |newLeftOffset delta|
nPixel <= 0 ifTrue:[^ self].
newLeftOffset := leftOffset - nPixel.
newLeftOffset <= 0 ifTrue:[
- leftOffset == 0 ifTrue:[^ self].
- newLeftOffset := 0
+ leftOffset == 0 ifTrue:[^ self].
+ newLeftOffset := 0
].
self originWillChange.
+ delta := newLeftOffset - leftOffset.
leftOffset := newLeftOffset.
viewOrigin := newLeftOffset @ viewOrigin y.
self redrawFromVisibleLine:1 to:nLinesShown.
- self originChanged:(0 @ nPixel)
+ self originChanged:(delta @ 0)
!
scrollRight
@@ -2533,7 +2534,7 @@
"
wMax := self widthOfContents + 10.
(leftOffset + nPixel + width > wMax) ifTrue:[
- cnt := wMax - leftOffset - width
+ cnt := wMax - leftOffset - width
].
" "
cnt <= 0 ifTrue:[^ self].
@@ -2661,7 +2662,7 @@
self waitForExpose.
].
].
- self originChanged:(count negated).
+ self originChanged:(0 @ (nPixel negated)).
"Modified: 24.2.1996 / 16:17:17 / cg"
!
@@ -3181,5 +3182,5 @@
!ListView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.86 1996-05-18 12:06:05 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.87 1996-05-22 09:15:51 ca Exp $'
! !