ObjectView.st
changeset 700 962bcd86ac8b
parent 696 584d66ed8305
child 701 8079d5ac8637
--- a/ObjectView.st	Tue May 28 19:54:01 1996 +0200
+++ b/ObjectView.st	Tue May 28 19:57:35 1996 +0200
@@ -943,17 +943,22 @@
      and are above (in front of) anObject.
      draw only in (i.e. clip output to) aRectangle"
 
-    |vis|
+    |vis oldClip|
 
     shown ifTrue:[
-	vis := aRectangle.
-	clipRect notNil ifTrue:[
-	    vis := vis intersect:clipRect
-	].
-	self clippedTo:vis do:[
-	    self redrawObjectsAbove:anObject intersecting:vis
-	]
+        vis := aRectangle.
+        clipRect notNil ifTrue:[
+            vis := vis intersect:clipRect
+        ].
+        oldClip := clipRect.
+        self clippingRectangle:vis.
+
+        self redrawObjectsAbove:anObject intersecting:vis.
+
+        self clippingRectangle:oldClip
     ]
+
+    "Modified: 28.5.1996 / 19:57:06 / cg"
 !
 
 redrawObjectsAbove:anObject inVisible:aRectangle
@@ -961,17 +966,22 @@
      and are above (in front of) anObject.
      draw only in (i.e. clip output to) aRectangle"
 
-    |vis|
+    |vis oldClip|
 
     shown ifTrue:[
-	vis := aRectangle.
-	clipRect notNil ifTrue:[
-	    vis := vis intersect:clipRect
-	].
-	self clippedTo:vis do:[
-	    self redrawObjectsAbove:anObject intersectingVisible:vis
-	]
+        vis := aRectangle.
+        clipRect notNil ifTrue:[
+            vis := vis intersect:clipRect
+        ].
+        oldClip := clipRect.
+        self clippingRectangle:vis.
+
+        self redrawObjectsAbove:anObject intersectingVisible:vis.
+
+        self clippingRectangle:oldClip
     ]
+
+    "Modified: 28.5.1996 / 19:56:44 / cg"
 !
 
 redrawObjectsAbove:anObject intersecting:aRectangle
@@ -996,49 +1006,59 @@
     "redraw all objects which have part of themselfes in aRectangle
      draw only in (i.e. clip output to) aRectangle"
 
-    |visRect|
+    |visRect oldClip|
 
     shown ifTrue:[
-	visRect := Rectangle origin:(aRectangle origin)
-			     extent:(aRectangle extent).
+        visRect := Rectangle origin:(aRectangle origin)
+                             extent:(aRectangle extent).
 "/        transformation notNil ifTrue:[
-	    visRect := visRect origin truncated
-		       corner:(visRect corner + (1@1)) truncated.
+            visRect := visRect origin truncated
+                       corner:(visRect corner + (1@1)) truncated.
 "/        ].
-	clipRect notNil ifTrue:[
-	    visRect := visRect intersect:clipRect
-	].
-	self clippedTo:visRect do:[
-	    self clearRectangle:visRect.
-	    self redrawObjectsIntersecting:visRect
-	]
+        clipRect notNil ifTrue:[
+            visRect := visRect intersect:clipRect
+        ].
+        oldClip := clipRect.
+        self clippingRectangle:visRect.
+
+        self clearRectangle:visRect.
+        self redrawObjectsIntersecting:visRect.
+
+        self clippingRectangle:oldClip
     ]
+
+    "Modified: 28.5.1996 / 19:56:20 / cg"
 !
 
 redrawObjectsInVisible:visRect
     "redraw all objects which have part of themselfes in a vis rectangle
      draw only in (i.e. clip output to) aRectangle"
 
-    |vis|
+    |vis oldClip|
 
     shown ifTrue:[
-	vis := visRect.
-	clipRect notNil ifTrue:[
-	    vis := vis intersect:clipRect
-	].
-
-	transformation notNil ifTrue:[
+        vis := visRect.
+        clipRect notNil ifTrue:[
+            vis := vis intersect:clipRect
+        ].
+
+        transformation notNil ifTrue:[
 "/            transformation scale ~~ 1 ifTrue:[
-		vis := vis origin truncated
-			   corner:(vis corner + (1@1)) truncated.
+                vis := vis origin truncated
+                           corner:(vis corner + (1@1)) truncated.
 "/            ]
-	].
-
-	self clippedTo:vis do:[
-	    self clearRectangle:vis.
-	    self redrawObjectsIntersecting:vis
-	]
+        ].
+
+        oldClip := clipRect.
+        self clippingRectangle:vis.
+
+        self clearRectangle:vis.
+        self redrawObjectsIntersecting:vis.
+
+        self clippingRectangle:oldClip
     ]
+
+    "Modified: 28.5.1996 / 19:55:47 / cg"
 !
 
 redrawObjectsIntersecting:aRectangle
@@ -2788,5 +2808,5 @@
 !ObjectView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/ObjectView.st,v 1.38 1996-05-28 17:21:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/ObjectView.st,v 1.39 1996-05-28 17:57:35 cg Exp $'
 ! !