DisplaySurface.st
changeset 2632 e18b55db3e1e
parent 2525 eb86ba35aafc
child 2637 0741956eb752
--- a/DisplaySurface.st	Tue May 04 13:16:36 1999 +0200
+++ b/DisplaySurface.st	Tue May 04 13:19:23 1999 +0200
@@ -717,10 +717,10 @@
         gcId notNil ifTrue:[
             org := self viewOrigin.
             device setMaskOriginX:org x rounded negated
-                                y:org y rounded negated
+                                 y:org y rounded negated
                                in:gcId
         ].
-        device supportsMaskedDrawing ifFalse:[
+        (device supportsMaskedDrawingWith:viewBackground) ifFalse:[
             self fillWithViewBackgroundX:x y:y width:w height:h.
             ^ self.
         ]
@@ -734,7 +734,7 @@
     self fillDeviceRectangleX:x y:y width:w height:h "with:viewBackground".
     self paint:oldPaint
 
-    "Modified: / 11.9.1998 / 23:23:56 / cg"
+    "Modified: / 4.5.1999 / 13:00:34 / cg"
 !
 
 clearRectangleX:x y:y width:w height:h
@@ -769,10 +769,10 @@
 fillWithViewBackgroundX:xIn y:yIn width:wIn height:hIn
     "fill a rectangular area with the viewBackground.
      A helper for devices which do not support background pixmaps
-     (i.e. win32 screens).
-     Caller must ensure that viewBackground is really a form"
+     (i.e. win95 screens).
+     Caller must ensure that the viewBackground is really a form"
 
-    |r b pW pH xR yR oldFg oldBg oldClip fg bg x y w h|
+    |r b pW pH xR0 xR yR xE yE oldFg oldBg oldClip fg bg x y w h clrMap|
 
     x := xIn max:0.
     y := yIn max:0.
@@ -796,23 +796,26 @@
     h := b-y+1.
 
     viewBackground depth == 1 ifTrue:[
-        viewBackground colorMap notNil ifTrue:[
-            bg := viewBackground colorMap at:1.
-            fg := viewBackground colorMap at:2.
+        (clrMap := viewBackground colorMap) notNil ifTrue:[
+            bg := clrMap at:1.
+            fg := clrMap at:2.
         ] ifFalse:[
             bg := Color white.
             fg := Color black.
         ].
-        self foreground:fg.
-        self background:bg.
+        self foreground:fg background:bg.
     ].
     self deviceClippingRectangle:(x@y extent:w@h).
 
     yR := (y // pH) * pH.
+    yE := y+h.
 
-    [yR < (y+h)] whileTrue:[
-        xR := (x // pW) * pW.
-        [xR < (x+w)] whileTrue:[
+    xR0 := (x // pW) * pW.
+    xE := x+w.
+
+    [yR < yE] whileTrue:[
+        xR := xR0.
+        [xR < xE] whileTrue:[
             self
                 copyFrom:viewBackground 
                 x:0 y:0 
@@ -824,12 +827,11 @@
         yR := yR + pH.
     ].
 
-    self foreground:oldFg.
-    self background:oldBg.
+    self foreground:oldFg background:oldBg.
     self deviceClippingRectangle:oldClip.
 
     "Created: / 6.9.1998 / 14:00:50 / cg"
-    "Modified: / 11.11.1998 / 15:35:34 / cg"
+    "Modified: / 4.5.1999 / 12:54:31 / cg"
 !
 
 redraw
@@ -2118,5 +2120,5 @@
 !DisplaySurface class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/DisplaySurface.st,v 1.57 1999-03-21 17:54:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/DisplaySurface.st,v 1.58 1999-05-04 11:19:23 cg Exp $'
 ! !