--- a/WSensor.st Sat Dec 16 02:16:01 1995 +0100
+++ b/WSensor.st Sat Dec 16 02:23:55 1995 +0100
@@ -11,14 +11,14 @@
"
Object subclass:#WindowSensor
- instanceVariableNames:'eventSemaphore damage mouseAndKeyboard compressMotionEvents
+ instanceVariableNames:'eventSemaphore damage mouseAndKeyboard compressMotionEvents
ignoreUserInput exposeEventSemaphore catchExpose gotExpose
gotOtherEvent translateKeyboardEvents shiftDown ctrlDown metaDown
altDown leftButtonDown middleButtonDown rightButtonDown
eventListener keyboardListener'
- classVariableNames:'ControlCEnabled EventListener ComposeTable GotCompose Compose1'
- poolDictionaries:''
- category:'Interface-Support'
+ classVariableNames:'ControlCEnabled EventListener ComposeTable GotCompose Compose1'
+ poolDictionaries:''
+ category:'Interface-Support'
!
!WindowSensor class methodsFor:'documentation'!
@@ -1604,50 +1604,52 @@
aView flush.
Processor activeProcessIsSystemProcess ifTrue:[
- "
- cannot really suspend, if its a systemProcess
- "
- [gotExpose] whileFalse:[
- aView device dispatchExposeEventFor:aView id.
- Processor yield.
- ]
+ "
+ cannot really suspend, if its a systemProcess
+ "
+ [gotExpose] whileFalse:[
+ aView device dispatchExposeEventFor:aView id.
+ Processor yield.
+ ]
] ifFalse:[
- [gotExpose] whileFalse:[
- "
- just in case we have a (network or software) problem ...
- explanation: it may happen, that an expose event is totally
- lost - for example, if the network breaks down.
- To not block forever, we wait with a timeout, to get out of here
- if the event does not arrive after 15 seconds.
- "
- (exposeEventSemaphore waitWithTimeout:5) ifFalse:[
- aView device flush.
- "
- you can put a comment around the following line, if you dont
- like the message ...
- "
- 'WSENSOR: late expose event' errorPrintNL.
- (exposeEventSemaphore waitWithTimeout:10) ifFalse:[
- 'WSENSOR: lost expose event again - ignore' errorPrintNL.
- ].
- "
- ok, break out
- "
- catchExpose := false.
- gotExpose := true.
- ^ self
- ]
- ].
+ [gotExpose] whileFalse:[
+ "
+ just in case we have a (network or software) problem ...
+ explanation: it may happen, that an expose event is totally
+ lost - for example, if the network breaks down.
+ To not block forever, we wait with a timeout, to get out of here
+ if the event does not arrive after 15 seconds.
+ "
+ (exposeEventSemaphore waitWithTimeout:5) isNil ifTrue:[
+ aView device flush.
+ "
+ you can put a comment around the following line, if you dont
+ like the message ...
+ "
+ 'WSENSOR: late expose event' errorPrintNL.
+ (exposeEventSemaphore waitWithTimeout:10) ifFalse:[
+ 'WSENSOR: lost expose event again - ignore' errorPrintNL.
+ ].
+ "
+ ok, break out
+ "
+ catchExpose := false.
+ gotExpose := true.
+ ^ self
+ ]
+ ].
- "
- other incoming events have been ignored during the wait.
- Now handle those ...
- "
- gotOtherEvent ifTrue:[
- eventSemaphore signal
- ].
+ "
+ other incoming events have been ignored during the wait.
+ Now handle those ...
+ "
+ gotOtherEvent ifTrue:[
+ eventSemaphore signal
+ ].
].
catchExpose := false
+
+ "Modified: 16.12.1995 / 02:21:52 / cg"
!
waitNoButton
@@ -1670,6 +1672,6 @@
!WindowSensor class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/Attic/WSensor.st,v 1.39 1995-12-15 13:39:02 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/Attic/WSensor.st,v 1.40 1995-12-16 01:23:55 cg Exp $'
! !
WindowSensor initialize!
--- a/WindowSensor.st Sat Dec 16 02:16:01 1995 +0100
+++ b/WindowSensor.st Sat Dec 16 02:23:55 1995 +0100
@@ -11,14 +11,14 @@
"
Object subclass:#WindowSensor
- instanceVariableNames:'eventSemaphore damage mouseAndKeyboard compressMotionEvents
+ instanceVariableNames:'eventSemaphore damage mouseAndKeyboard compressMotionEvents
ignoreUserInput exposeEventSemaphore catchExpose gotExpose
gotOtherEvent translateKeyboardEvents shiftDown ctrlDown metaDown
altDown leftButtonDown middleButtonDown rightButtonDown
eventListener keyboardListener'
- classVariableNames:'ControlCEnabled EventListener ComposeTable GotCompose Compose1'
- poolDictionaries:''
- category:'Interface-Support'
+ classVariableNames:'ControlCEnabled EventListener ComposeTable GotCompose Compose1'
+ poolDictionaries:''
+ category:'Interface-Support'
!
!WindowSensor class methodsFor:'documentation'!
@@ -1604,50 +1604,52 @@
aView flush.
Processor activeProcessIsSystemProcess ifTrue:[
- "
- cannot really suspend, if its a systemProcess
- "
- [gotExpose] whileFalse:[
- aView device dispatchExposeEventFor:aView id.
- Processor yield.
- ]
+ "
+ cannot really suspend, if its a systemProcess
+ "
+ [gotExpose] whileFalse:[
+ aView device dispatchExposeEventFor:aView id.
+ Processor yield.
+ ]
] ifFalse:[
- [gotExpose] whileFalse:[
- "
- just in case we have a (network or software) problem ...
- explanation: it may happen, that an expose event is totally
- lost - for example, if the network breaks down.
- To not block forever, we wait with a timeout, to get out of here
- if the event does not arrive after 15 seconds.
- "
- (exposeEventSemaphore waitWithTimeout:5) ifFalse:[
- aView device flush.
- "
- you can put a comment around the following line, if you dont
- like the message ...
- "
- 'WSENSOR: late expose event' errorPrintNL.
- (exposeEventSemaphore waitWithTimeout:10) ifFalse:[
- 'WSENSOR: lost expose event again - ignore' errorPrintNL.
- ].
- "
- ok, break out
- "
- catchExpose := false.
- gotExpose := true.
- ^ self
- ]
- ].
+ [gotExpose] whileFalse:[
+ "
+ just in case we have a (network or software) problem ...
+ explanation: it may happen, that an expose event is totally
+ lost - for example, if the network breaks down.
+ To not block forever, we wait with a timeout, to get out of here
+ if the event does not arrive after 15 seconds.
+ "
+ (exposeEventSemaphore waitWithTimeout:5) isNil ifTrue:[
+ aView device flush.
+ "
+ you can put a comment around the following line, if you dont
+ like the message ...
+ "
+ 'WSENSOR: late expose event' errorPrintNL.
+ (exposeEventSemaphore waitWithTimeout:10) ifFalse:[
+ 'WSENSOR: lost expose event again - ignore' errorPrintNL.
+ ].
+ "
+ ok, break out
+ "
+ catchExpose := false.
+ gotExpose := true.
+ ^ self
+ ]
+ ].
- "
- other incoming events have been ignored during the wait.
- Now handle those ...
- "
- gotOtherEvent ifTrue:[
- eventSemaphore signal
- ].
+ "
+ other incoming events have been ignored during the wait.
+ Now handle those ...
+ "
+ gotOtherEvent ifTrue:[
+ eventSemaphore signal
+ ].
].
catchExpose := false
+
+ "Modified: 16.12.1995 / 02:21:52 / cg"
!
waitNoButton
@@ -1670,6 +1672,6 @@
!WindowSensor class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/WindowSensor.st,v 1.39 1995-12-15 13:39:02 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/WindowSensor.st,v 1.40 1995-12-16 01:23:55 cg Exp $'
! !
WindowSensor initialize!