--- a/DevWorkst.st Thu Jul 25 22:57:46 1996 +0200
+++ b/DevWorkst.st Wed Jul 31 20:36:18 1996 +0200
@@ -1232,6 +1232,14 @@
"Modified: 10.6.1996 / 21:01:50 / cg"
!
+sendsExposeAfterScroll
+ "return true, if this display asynchronously sends expose events after a
+ scroll operation. False otherwise. Asynchronous expose events are an X
+ speciality, which affects a few methods outside of the display class (sorry)"
+
+ ^ false
+!
+
supportedImageFormats
"return an array with supported image formats; each array entry
is another array, consisting of depth and bitsPerPixel values.
@@ -2827,7 +2835,10 @@
know if events are pending (Xlib reads out event-queue while
doing output), we also have to install a poll-check block.
"
- inputSema := Semaphore new.
+ OperatingSystem supportsSelect ifTrue:[
+ inputSema := Semaphore new.
+ ].
+
p := [
[dispatching] whileTrue:[
AbortSignal handle:[:ex |
@@ -2835,15 +2846,21 @@
] do:[
self eventPending ifFalse:[
Processor activeProcess setStateTo:#ioWait if:#active.
- inputSema wait.
+ inputSema notNil ifTrue:[
+ inputSema wait.
+ ] ifFalse:[
+ Delay waitForMilliseconds:50
+ ]
].
self dispatchPendingEvents.
"/ self checkForEndOfDispatch.
]
].
- Processor disableSemaphore:inputSema.
- inputSema := nil.
+ inputSema notNil ifTrue:[
+ Processor disableSemaphore:inputSema.
+ inputSema := nil.
+ ].
AllScreens remove:self.
dispatchProcess := nil
] newProcess.
@@ -2860,7 +2877,9 @@
dispatchProcess := p.
p resume.
- Processor signal:inputSema onInput:fd orCheck:[self eventPending].
+ inputSema notNil ifTrue:[
+ Processor signal:inputSema onInput:fd orCheck:[self eventPending].
+ ]
"Modified: 12.12.1995 / 20:52:57 / stefan"
"Modified: 18.7.1996 / 17:12:50 / cg"
@@ -4462,6 +4481,14 @@
^ self
!
+setBitGravity:how in:aWindowId
+ "set bit gravity for a window"
+
+ "/ default here is to ignore the request
+
+ ^ self
+!
+
setCursor:aCursorId in:aWindowId
"set a windows visible shape"
@@ -4557,11 +4584,17 @@
This may be used by the window manager to
select client specific resources."
- ^ self subclassResponsibility
+ "/ default here is to ignore the request
"Created: 14.6.1996 / 17:23:34 / stefan"
!
+setWindowGravity:how in:aWindowId
+ "set window gravity for a window"
+
+ "/ default here is to ignore the request
+!
+
setWindowIcon:aForm in:aWindowId
"set a windows icon"
@@ -4599,6 +4632,6 @@
!DeviceWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/Attic/DevWorkst.st,v 1.126 1996-07-25 11:45:28 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/Attic/DevWorkst.st,v 1.127 1996-07-31 18:36:18 cg Exp $'
! !
DeviceWorkstation initialize!
--- a/DeviceWorkstation.st Thu Jul 25 22:57:46 1996 +0200
+++ b/DeviceWorkstation.st Wed Jul 31 20:36:18 1996 +0200
@@ -1232,6 +1232,14 @@
"Modified: 10.6.1996 / 21:01:50 / cg"
!
+sendsExposeAfterScroll
+ "return true, if this display asynchronously sends expose events after a
+ scroll operation. False otherwise. Asynchronous expose events are an X
+ speciality, which affects a few methods outside of the display class (sorry)"
+
+ ^ false
+!
+
supportedImageFormats
"return an array with supported image formats; each array entry
is another array, consisting of depth and bitsPerPixel values.
@@ -2827,7 +2835,10 @@
know if events are pending (Xlib reads out event-queue while
doing output), we also have to install a poll-check block.
"
- inputSema := Semaphore new.
+ OperatingSystem supportsSelect ifTrue:[
+ inputSema := Semaphore new.
+ ].
+
p := [
[dispatching] whileTrue:[
AbortSignal handle:[:ex |
@@ -2835,15 +2846,21 @@
] do:[
self eventPending ifFalse:[
Processor activeProcess setStateTo:#ioWait if:#active.
- inputSema wait.
+ inputSema notNil ifTrue:[
+ inputSema wait.
+ ] ifFalse:[
+ Delay waitForMilliseconds:50
+ ]
].
self dispatchPendingEvents.
"/ self checkForEndOfDispatch.
]
].
- Processor disableSemaphore:inputSema.
- inputSema := nil.
+ inputSema notNil ifTrue:[
+ Processor disableSemaphore:inputSema.
+ inputSema := nil.
+ ].
AllScreens remove:self.
dispatchProcess := nil
] newProcess.
@@ -2860,7 +2877,9 @@
dispatchProcess := p.
p resume.
- Processor signal:inputSema onInput:fd orCheck:[self eventPending].
+ inputSema notNil ifTrue:[
+ Processor signal:inputSema onInput:fd orCheck:[self eventPending].
+ ]
"Modified: 12.12.1995 / 20:52:57 / stefan"
"Modified: 18.7.1996 / 17:12:50 / cg"
@@ -4462,6 +4481,14 @@
^ self
!
+setBitGravity:how in:aWindowId
+ "set bit gravity for a window"
+
+ "/ default here is to ignore the request
+
+ ^ self
+!
+
setCursor:aCursorId in:aWindowId
"set a windows visible shape"
@@ -4557,11 +4584,17 @@
This may be used by the window manager to
select client specific resources."
- ^ self subclassResponsibility
+ "/ default here is to ignore the request
"Created: 14.6.1996 / 17:23:34 / stefan"
!
+setWindowGravity:how in:aWindowId
+ "set window gravity for a window"
+
+ "/ default here is to ignore the request
+!
+
setWindowIcon:aForm in:aWindowId
"set a windows icon"
@@ -4599,6 +4632,6 @@
!DeviceWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.126 1996-07-25 11:45:28 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.127 1996-07-31 18:36:18 cg Exp $'
! !
DeviceWorkstation initialize!