replaced yields by a delay
authorClaus Gittinger <cg@exept.de>
Tue, 18 Aug 1998 15:14:42 +0200
changeset 2252 53bad848ffa8
parent 2251 43d624ce346f
child 2253 864c30e95b4b
replaced yields by a delay
DevWorkst.st
DeviceWorkstation.st
--- a/DevWorkst.st	Mon Aug 17 11:55:10 1998 +0200
+++ b/DevWorkst.st	Tue Aug 18 15:14:42 1998 +0200
@@ -4488,7 +4488,7 @@
     "
      just in case; wait for button to be down ...
     "
-    [self leftButtonPressed] whileFalse:[Processor yield].
+    [self leftButtonPressed] whileFalse:[Delay waitForSeconds:0.05].
 
     root := self rootView.
 
@@ -4501,42 +4501,42 @@
     root foreground:blackColor background:whiteColor.
 
     root xoring:[
-	|left right top bottom newOrigin newCorner p|
-
-	rect := origin extent:extent.
-	root displayRectangle:rect.
-
-	self 
-	    grabPointerIn:root id 
-	    withCursor:curs id
-	    pointerMode:#async 
-	    keyboardMode:#sync 
-	    confineTo:nil.
-
-	[self leftButtonPressed] whileTrue:[
-	    newOrigin := self pointerPosition.
-
-	    (newOrigin ~= origin) ifTrue:[
-		root displayRectangle:rect.
-
-		self 
-		    grabPointerIn:root id 
-		    withCursor:curs id
-		    pointerMode:#async 
-		    keyboardMode:#sync 
-		    confineTo:nil.
-
-		rect := newOrigin extent:extent.
-		root displayRectangle:rect.
-		self disposeButtonEventsFor:nil.
-		self flush.
-		origin := newOrigin.
-	    ] ifFalse:[
-		Processor yield
-	    ]
-	].
-	root displayRectangle:rect.
-	self ungrabPointer.
+        |left right top bottom newOrigin newCorner p|
+
+        rect := origin extent:extent.
+        root displayRectangle:rect.
+
+        self 
+            grabPointerIn:root id 
+            withCursor:curs id
+            pointerMode:#async 
+            keyboardMode:#sync 
+            confineTo:nil.
+
+        [self leftButtonPressed] whileTrue:[
+            newOrigin := self pointerPosition.
+
+            (newOrigin ~= origin) ifTrue:[
+                root displayRectangle:rect.
+
+                self 
+                    grabPointerIn:root id 
+                    withCursor:curs id
+                    pointerMode:#async 
+                    keyboardMode:#sync 
+                    confineTo:nil.
+
+                rect := newOrigin extent:extent.
+                root displayRectangle:rect.
+                self disposeButtonEventsFor:nil.
+                self flush.
+                origin := newOrigin.
+            ] ifFalse:[
+                Delay waitForSeconds:0.05
+            ]
+        ].
+        root displayRectangle:rect.
+        self ungrabPointer.
     ].
 
     self ungrabPointer.
@@ -4554,7 +4554,7 @@
      Display originFromUser:200@200
     "
 
-    "Modified: 28.3.1997 / 16:14:39 / cg"
+    "Modified: / 18.8.1998 / 15:00:14 / cg"
 !
 
 pointFromUser
@@ -4581,13 +4581,13 @@
 
     self ungrabPointer.
     self grabPointerIn:(self rootWindowId) withCursor:((aCursor onDevice:self) id)
-	 pointerMode:#async keyboardMode:#sync confineTo:nil.
+         pointerMode:#async keyboardMode:#sync confineTo:nil.
     activePointerGrab := rootView.
 
     "
      wait for leftButton ...
     "
-    [self leftButtonPressed] whileFalse:[Processor yield].
+    [self leftButtonPressed] whileFalse:[Delay waitForSeconds:0.05].
 
     p := self pointerPosition.
 
@@ -4604,7 +4604,7 @@
      Display pointFromUser
     "
 
-    "Modified: 28.3.1997 / 16:14:19 / cg"
+    "Modified: / 18.8.1998 / 15:00:19 / cg"
 !
 
 rectangleFromUser
@@ -4657,9 +4657,9 @@
     |curs1 origin corner root rect|
 
     keepExtent ifTrue:[
-	curs1 := Cursor origin 
+        curs1 := Cursor origin 
     ] ifFalse:[    
-	curs1 := Cursor corner
+        curs1 := Cursor corner
     ].
     curs1 := curs1 onDevice:self.
     root := self rootView.
@@ -4673,93 +4673,93 @@
     root foreground:blackColor background:whiteColor.
 
     root xoring:[
-	|left right top bottom newOrigin newCorner p curs|
-
-	keepExtent ifFalse:[
-	    corner := origin.
-	    rect := origin corner:corner.
-	    root displayRectangle:rect.
-	].
-
-	self 
-	    grabPointerIn:root id 
-	    withCursor:curs1 id
-	    pointerMode:#async 
-	    keyboardMode:#sync 
-	    confineTo:nil.
-
-	"
-	 just in case; wait for button to be down ...
-	"
-	[self leftButtonPressed] whileFalse:[Processor yield].
-
-	keepExtent ifTrue:[
-	    p := self pointerPosition.
-	    origin := p.
-	    corner := origin + initialRectangle extent.
-	    rect := origin corner:corner.
-	    root displayRectangle:rect.
-	].
-
-	[self leftButtonPressed] whileTrue:[
-	    left := initialRectangle origin x.
-	    top := initialRectangle origin y.
-	    right := initialRectangle corner x.
-	    bottom := initialRectangle corner y.
-
-	    p := self pointerPosition.
-	    keepExtent ifTrue:[
-		newOrigin := p.
-		newCorner := newOrigin + initialRectangle extent.
-		curs := curs1.
-	    ] ifFalse:[
-		p x < initialRectangle left ifTrue:[
-		    p y < initialRectangle top ifTrue:[
-			curs := Cursor topLeft.
-			left := p x.
-			top := p y.
-		    ] ifFalse:[
-			curs := Cursor bottomLeft.
-			left := p x.
-			bottom := p y
-		    ]
-		] ifFalse:[
-		    p y < initialRectangle top ifTrue:[
-			curs := Cursor topRight.
-			right := p x.
-			top := p y
-		    ] ifFalse:[
-			curs := Cursor bottomRight.
-			right := p x.
-			bottom := p y
-		    ]
-		].
-
-		newOrigin := left @ top.
-		newCorner := right @ bottom.
-	    ].
-
-	    ((newOrigin ~= origin) or:[newCorner ~= corner]) ifTrue:[
-		root displayRectangle:rect.
-
-		self grabPointerIn:root id 
-			withCursor:curs id
-		       pointerMode:#async 
-		      keyboardMode:#sync 
-			 confineTo:nil.
-
-		origin :=  newOrigin.
-		corner :=  newCorner.
-		rect := origin corner:corner.
-		root displayRectangle:rect.
-		self disposeButtonEventsFor:nil.
-		self flush.
-	    ] ifFalse:[
-		Processor yield
-	    ]
-	].
-	root displayRectangle:rect.
-	self ungrabPointer.
+        |left right top bottom newOrigin newCorner p curs|
+
+        keepExtent ifFalse:[
+            corner := origin.
+            rect := origin corner:corner.
+            root displayRectangle:rect.
+        ].
+
+        self 
+            grabPointerIn:root id 
+            withCursor:curs1 id
+            pointerMode:#async 
+            keyboardMode:#sync 
+            confineTo:nil.
+
+        "
+         just in case; wait for button to be down ...
+        "
+        [self leftButtonPressed] whileFalse:[Delay waitForSeconds:0.05].
+
+        keepExtent ifTrue:[
+            p := self pointerPosition.
+            origin := p.
+            corner := origin + initialRectangle extent.
+            rect := origin corner:corner.
+            root displayRectangle:rect.
+        ].
+
+        [self leftButtonPressed] whileTrue:[
+            left := initialRectangle origin x.
+            top := initialRectangle origin y.
+            right := initialRectangle corner x.
+            bottom := initialRectangle corner y.
+
+            p := self pointerPosition.
+            keepExtent ifTrue:[
+                newOrigin := p.
+                newCorner := newOrigin + initialRectangle extent.
+                curs := curs1.
+            ] ifFalse:[
+                p x < initialRectangle left ifTrue:[
+                    p y < initialRectangle top ifTrue:[
+                        curs := Cursor topLeft.
+                        left := p x.
+                        top := p y.
+                    ] ifFalse:[
+                        curs := Cursor bottomLeft.
+                        left := p x.
+                        bottom := p y
+                    ]
+                ] ifFalse:[
+                    p y < initialRectangle top ifTrue:[
+                        curs := Cursor topRight.
+                        right := p x.
+                        top := p y
+                    ] ifFalse:[
+                        curs := Cursor bottomRight.
+                        right := p x.
+                        bottom := p y
+                    ]
+                ].
+
+                newOrigin := left @ top.
+                newCorner := right @ bottom.
+            ].
+
+            ((newOrigin ~= origin) or:[newCorner ~= corner]) ifTrue:[
+                root displayRectangle:rect.
+
+                self grabPointerIn:root id 
+                        withCursor:curs id
+                       pointerMode:#async 
+                      keyboardMode:#sync 
+                         confineTo:nil.
+
+                origin :=  newOrigin.
+                corner :=  newCorner.
+                rect := origin corner:corner.
+                root displayRectangle:rect.
+                self disposeButtonEventsFor:nil.
+                self flush.
+            ] ifFalse:[
+                Delay waitForSeconds:0.05
+            ]
+        ].
+        root displayRectangle:rect.
+        self ungrabPointer.
     ].
 
     self ungrabPointer.
@@ -4779,8 +4779,8 @@
      Display rectangleFromUser:(100@100 corner:300@300) keepExtent:true
     "
 
-    "Created: 24.7.1997 / 15:26:47 / cg"
-    "Modified: 24.7.1997 / 16:04:22 / cg"
+    "Created: / 24.7.1997 / 15:26:47 / cg"
+    "Modified: / 18.8.1998 / 15:00:29 / cg"
 !
 
 topviewFromUser
@@ -6077,6 +6077,6 @@
 !DeviceWorkstation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/Attic/DevWorkst.st,v 1.262 1998-08-04 14:53:15 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/Attic/DevWorkst.st,v 1.263 1998-08-18 13:14:42 cg Exp $'
 ! !
 DeviceWorkstation initialize!
--- a/DeviceWorkstation.st	Mon Aug 17 11:55:10 1998 +0200
+++ b/DeviceWorkstation.st	Tue Aug 18 15:14:42 1998 +0200
@@ -4488,7 +4488,7 @@
     "
      just in case; wait for button to be down ...
     "
-    [self leftButtonPressed] whileFalse:[Processor yield].
+    [self leftButtonPressed] whileFalse:[Delay waitForSeconds:0.05].
 
     root := self rootView.
 
@@ -4501,42 +4501,42 @@
     root foreground:blackColor background:whiteColor.
 
     root xoring:[
-	|left right top bottom newOrigin newCorner p|
-
-	rect := origin extent:extent.
-	root displayRectangle:rect.
-
-	self 
-	    grabPointerIn:root id 
-	    withCursor:curs id
-	    pointerMode:#async 
-	    keyboardMode:#sync 
-	    confineTo:nil.
-
-	[self leftButtonPressed] whileTrue:[
-	    newOrigin := self pointerPosition.
-
-	    (newOrigin ~= origin) ifTrue:[
-		root displayRectangle:rect.
-
-		self 
-		    grabPointerIn:root id 
-		    withCursor:curs id
-		    pointerMode:#async 
-		    keyboardMode:#sync 
-		    confineTo:nil.
-
-		rect := newOrigin extent:extent.
-		root displayRectangle:rect.
-		self disposeButtonEventsFor:nil.
-		self flush.
-		origin := newOrigin.
-	    ] ifFalse:[
-		Processor yield
-	    ]
-	].
-	root displayRectangle:rect.
-	self ungrabPointer.
+        |left right top bottom newOrigin newCorner p|
+
+        rect := origin extent:extent.
+        root displayRectangle:rect.
+
+        self 
+            grabPointerIn:root id 
+            withCursor:curs id
+            pointerMode:#async 
+            keyboardMode:#sync 
+            confineTo:nil.
+
+        [self leftButtonPressed] whileTrue:[
+            newOrigin := self pointerPosition.
+
+            (newOrigin ~= origin) ifTrue:[
+                root displayRectangle:rect.
+
+                self 
+                    grabPointerIn:root id 
+                    withCursor:curs id
+                    pointerMode:#async 
+                    keyboardMode:#sync 
+                    confineTo:nil.
+
+                rect := newOrigin extent:extent.
+                root displayRectangle:rect.
+                self disposeButtonEventsFor:nil.
+                self flush.
+                origin := newOrigin.
+            ] ifFalse:[
+                Delay waitForSeconds:0.05
+            ]
+        ].
+        root displayRectangle:rect.
+        self ungrabPointer.
     ].
 
     self ungrabPointer.
@@ -4554,7 +4554,7 @@
      Display originFromUser:200@200
     "
 
-    "Modified: 28.3.1997 / 16:14:39 / cg"
+    "Modified: / 18.8.1998 / 15:00:14 / cg"
 !
 
 pointFromUser
@@ -4581,13 +4581,13 @@
 
     self ungrabPointer.
     self grabPointerIn:(self rootWindowId) withCursor:((aCursor onDevice:self) id)
-	 pointerMode:#async keyboardMode:#sync confineTo:nil.
+         pointerMode:#async keyboardMode:#sync confineTo:nil.
     activePointerGrab := rootView.
 
     "
      wait for leftButton ...
     "
-    [self leftButtonPressed] whileFalse:[Processor yield].
+    [self leftButtonPressed] whileFalse:[Delay waitForSeconds:0.05].
 
     p := self pointerPosition.
 
@@ -4604,7 +4604,7 @@
      Display pointFromUser
     "
 
-    "Modified: 28.3.1997 / 16:14:19 / cg"
+    "Modified: / 18.8.1998 / 15:00:19 / cg"
 !
 
 rectangleFromUser
@@ -4657,9 +4657,9 @@
     |curs1 origin corner root rect|
 
     keepExtent ifTrue:[
-	curs1 := Cursor origin 
+        curs1 := Cursor origin 
     ] ifFalse:[    
-	curs1 := Cursor corner
+        curs1 := Cursor corner
     ].
     curs1 := curs1 onDevice:self.
     root := self rootView.
@@ -4673,93 +4673,93 @@
     root foreground:blackColor background:whiteColor.
 
     root xoring:[
-	|left right top bottom newOrigin newCorner p curs|
-
-	keepExtent ifFalse:[
-	    corner := origin.
-	    rect := origin corner:corner.
-	    root displayRectangle:rect.
-	].
-
-	self 
-	    grabPointerIn:root id 
-	    withCursor:curs1 id
-	    pointerMode:#async 
-	    keyboardMode:#sync 
-	    confineTo:nil.
-
-	"
-	 just in case; wait for button to be down ...
-	"
-	[self leftButtonPressed] whileFalse:[Processor yield].
-
-	keepExtent ifTrue:[
-	    p := self pointerPosition.
-	    origin := p.
-	    corner := origin + initialRectangle extent.
-	    rect := origin corner:corner.
-	    root displayRectangle:rect.
-	].
-
-	[self leftButtonPressed] whileTrue:[
-	    left := initialRectangle origin x.
-	    top := initialRectangle origin y.
-	    right := initialRectangle corner x.
-	    bottom := initialRectangle corner y.
-
-	    p := self pointerPosition.
-	    keepExtent ifTrue:[
-		newOrigin := p.
-		newCorner := newOrigin + initialRectangle extent.
-		curs := curs1.
-	    ] ifFalse:[
-		p x < initialRectangle left ifTrue:[
-		    p y < initialRectangle top ifTrue:[
-			curs := Cursor topLeft.
-			left := p x.
-			top := p y.
-		    ] ifFalse:[
-			curs := Cursor bottomLeft.
-			left := p x.
-			bottom := p y
-		    ]
-		] ifFalse:[
-		    p y < initialRectangle top ifTrue:[
-			curs := Cursor topRight.
-			right := p x.
-			top := p y
-		    ] ifFalse:[
-			curs := Cursor bottomRight.
-			right := p x.
-			bottom := p y
-		    ]
-		].
-
-		newOrigin := left @ top.
-		newCorner := right @ bottom.
-	    ].
-
-	    ((newOrigin ~= origin) or:[newCorner ~= corner]) ifTrue:[
-		root displayRectangle:rect.
-
-		self grabPointerIn:root id 
-			withCursor:curs id
-		       pointerMode:#async 
-		      keyboardMode:#sync 
-			 confineTo:nil.
-
-		origin :=  newOrigin.
-		corner :=  newCorner.
-		rect := origin corner:corner.
-		root displayRectangle:rect.
-		self disposeButtonEventsFor:nil.
-		self flush.
-	    ] ifFalse:[
-		Processor yield
-	    ]
-	].
-	root displayRectangle:rect.
-	self ungrabPointer.
+        |left right top bottom newOrigin newCorner p curs|
+
+        keepExtent ifFalse:[
+            corner := origin.
+            rect := origin corner:corner.
+            root displayRectangle:rect.
+        ].
+
+        self 
+            grabPointerIn:root id 
+            withCursor:curs1 id
+            pointerMode:#async 
+            keyboardMode:#sync 
+            confineTo:nil.
+
+        "
+         just in case; wait for button to be down ...
+        "
+        [self leftButtonPressed] whileFalse:[Delay waitForSeconds:0.05].
+
+        keepExtent ifTrue:[
+            p := self pointerPosition.
+            origin := p.
+            corner := origin + initialRectangle extent.
+            rect := origin corner:corner.
+            root displayRectangle:rect.
+        ].
+
+        [self leftButtonPressed] whileTrue:[
+            left := initialRectangle origin x.
+            top := initialRectangle origin y.
+            right := initialRectangle corner x.
+            bottom := initialRectangle corner y.
+
+            p := self pointerPosition.
+            keepExtent ifTrue:[
+                newOrigin := p.
+                newCorner := newOrigin + initialRectangle extent.
+                curs := curs1.
+            ] ifFalse:[
+                p x < initialRectangle left ifTrue:[
+                    p y < initialRectangle top ifTrue:[
+                        curs := Cursor topLeft.
+                        left := p x.
+                        top := p y.
+                    ] ifFalse:[
+                        curs := Cursor bottomLeft.
+                        left := p x.
+                        bottom := p y
+                    ]
+                ] ifFalse:[
+                    p y < initialRectangle top ifTrue:[
+                        curs := Cursor topRight.
+                        right := p x.
+                        top := p y
+                    ] ifFalse:[
+                        curs := Cursor bottomRight.
+                        right := p x.
+                        bottom := p y
+                    ]
+                ].
+
+                newOrigin := left @ top.
+                newCorner := right @ bottom.
+            ].
+
+            ((newOrigin ~= origin) or:[newCorner ~= corner]) ifTrue:[
+                root displayRectangle:rect.
+
+                self grabPointerIn:root id 
+                        withCursor:curs id
+                       pointerMode:#async 
+                      keyboardMode:#sync 
+                         confineTo:nil.
+
+                origin :=  newOrigin.
+                corner :=  newCorner.
+                rect := origin corner:corner.
+                root displayRectangle:rect.
+                self disposeButtonEventsFor:nil.
+                self flush.
+            ] ifFalse:[
+                Delay waitForSeconds:0.05
+            ]
+        ].
+        root displayRectangle:rect.
+        self ungrabPointer.
     ].
 
     self ungrabPointer.
@@ -4779,8 +4779,8 @@
      Display rectangleFromUser:(100@100 corner:300@300) keepExtent:true
     "
 
-    "Created: 24.7.1997 / 15:26:47 / cg"
-    "Modified: 24.7.1997 / 16:04:22 / cg"
+    "Created: / 24.7.1997 / 15:26:47 / cg"
+    "Modified: / 18.8.1998 / 15:00:29 / cg"
 !
 
 topviewFromUser
@@ -6077,6 +6077,6 @@
 !DeviceWorkstation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.262 1998-08-04 14:53:15 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.263 1998-08-18 13:14:42 cg Exp $'
 ! !
 DeviceWorkstation initialize!