Frank Shearar uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-fbs.164.mcz==================== Summary ====================
Name: ST80-fbs.164
Author: fbs
Time: 31 October 2013, 10:20:44.812 pm
UUID: fc042d8e-f1d5-8a4e-b76d-0b9b448c8566
Ancestors: ST80-nice.163
Step 1 of moving control over display depth to the UIManagers.
=============== Diff against ST80-nice.163 ===============
Item was added:
+ ----- Method: MVCUIManager>>newDisplayDepthNoRestore: (in category 'display') -----
+ newDisplayDepthNoRestore: pixelSize
+ "Change depths. Check if there is enough space!! , di"
+ | area need |
+ pixelSize = Display depth ifTrue: [^ self "no change"].
+ pixelSize abs < Display depth ifFalse:
+ ["Make sure there is enough space"
+ area := Display boundingBox area. "pixels"
+ ScheduledControllers scheduledWindowControllers do:
+ [:aController | "This should be refined..."
+ aController view cacheBitsAsTwoTone ifFalse:
+ [area := area + aController view windowBox area]].
+ need := (area * (pixelSize abs - Display depth) // 8) "new bytes needed"
+ + Smalltalk lowSpaceThreshold.
+ (Smalltalk garbageCollectMost <= need
+ and: [Smalltalk garbageCollect <= need])
+ ifTrue: [self error: 'Insufficient free space']].
+ Display setExtent: Display extent depth: pixelSize.
+ ScheduledControllers updateGray.
+ DisplayScreen startUp!
Item was added:
+ ----- Method: MVCUIManager>>restoreDisplay (in category 'display') -----
+ restoreDisplay
+ "Restore the bits on Display"
+ Project current ifNotNil:[:p| p invalidate; restore].!
Item was added:
+ ----- Method: MVCUIManager>>restoreDisplayAfter: (in category 'display') -----
+ restoreDisplayAfter: aBlock
+ "Evaluate the block, wait for a mouse click, and then restore the screen."
+
+ aBlock value.
+ Sensor waitButton.
+ self restore.!