redraw optimizations when resized.
--- a/Scroller.st Sat May 22 17:32:25 1999 +0200
+++ b/Scroller.st Sun May 23 13:59:53 1999 +0200
@@ -1645,24 +1645,39 @@
(oldTop == newTop) ifTrue:[
oldBot < newBot ifTrue:[
"/ thumb became larger, but origin remains
+ "/ (view became smaller)
+ self invalidate:(Rectangle
+ left:newLeft top:oldBot-thumbLevel
+ right:newRight bottom:newBot).
+ ^ self.
+ ].
+ oldBot > newBot ifTrue:[
+ "/ thumb became smaller, but origin remains
"/ (view became larger)
self invalidate:(Rectangle
- left:newLeft top:oldBot
- right:newRight bottom:newBot).
+ left:newLeft top:newBot-thumbLevel
+ right:newRight bottom:oldBot).
+ ^ self.
+ ].
+ ].
+ (oldBot == newBot) ifTrue:[
+ newTop < oldTop ifTrue:[
+ "/ thumb became larger, but corner remains
+ "/ (view became smaller)
+ self invalidate:(Rectangle
+ left:newLeft top:newTop
+ right:newRight bottom:oldTop+thumbLevel).
+ ^ self.
+ ].
+ newTop > oldTop ifTrue:[
+ "/ thumb became smaller, but corner remains
+ "/ (view became larger)
+ self invalidate:(Rectangle
+ left:newLeft top:oldTop
+ right:newRight bottom:newTop+thumbLevel).
^ self.
]
].
-
-"/ newTop <= oldTop ifTrue:[
-"/ newBot >= oldBot ifTrue:[
-"/ self drawThumb.
-"/ ^ self.
-"/ ].
-"/
-"/ ] ifFalse:[
-"/ self drawThumbBackgroundInX:0 y:oldTop width:width height:(newTop-oldTop).
-"/ self drawThumb.
-"/ ]
].
(orientation == #horizontal
@@ -1671,13 +1686,21 @@
(oldLeft == newLeft) ifTrue:[
oldRight < newRight ifTrue:[
"/ thumb became larger, but origin remains
+ "/ (view became smaller)
+ self invalidate:(Rectangle
+ left:oldRight-thumbLevel top:newTop
+ right:newRight bottom:newBot).
+ ^ self.
+ ].
+ oldRight > newRight ifTrue:[
+ "/ thumb became smaller, but origin remains
"/ (view became larger)
self invalidate:(Rectangle
- left:oldRight top:newTop
- right:newRight bottom:newBot).
+ left:newRight-thumbLevel top:newTop
+ right:oldRight bottom:newBot).
^ self.
- ]
- ]
+ ].
+ ].
].
self invalidate:(oldThumbFrame merge: thumbFrame).
@@ -1686,7 +1709,7 @@
self invalidate
].
- "Modified: / 15.5.1999 / 14:21:45 / cg"
+ "Modified: / 23.5.1999 / 13:50:41 / cg"
!
update:something with:aParameter from:changedObject
@@ -2378,5 +2401,5 @@
!Scroller class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg/Scroller.st,v 1.131 1999-05-18 19:19:59 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/Scroller.st,v 1.132 1999-05-23 11:59:53 cg Exp $'
! !