[squeak-dev] The Trunk: Morphic-mt.1952.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Mar 30 08:10:20 UTC 2022

Marcel Taeumel uploaded a new version of Morphic to project The Trunk:

==================== Summary ====================

Name: Morphic-mt.1952
Author: mt
Time: 30 March 2022, 10:10:15.250457 am
UUID: 57eecf53-ca8b-6e42-b0cb-27c17f2c36fa
Ancestors: Morphic-mt.1951

Adds commentary about the double-buffering that happens in Morphic on platforms that do not support #deferUpdates: such as macOS.

=============== Diff against Morphic-mt.1951 ===============

Item was changed:
  ----- Method: FormCanvas>>showAt:invalidRects: (in category 'other') -----
  showAt: pt invalidRects: updateRects
+ 	"Show the receiver's bits (i.e, the form it is currently drawing on) on the screen, which is represented by the global Display form. NOTE THAT #copyBits has the side effect of calling #primShowRectLeft:right:top:bottom: if the blitting target is that Display form. Thus, it is similar to calling #forceDamateToScreen: with updateRects after modifying Display directly but in deferred-drawing mode. Yet, not all platforms support #deferUpdates:, and that is why this method exists."
  	| blt |
  	blt := (BitBlt toForm: Display)
  		sourceForm: form;
  		combinationRule: Form over.
  	updateRects do:
  		[:rect |
  		blt sourceRect: rect;
  			destOrigin: rect topLeft + pt;
+ 			copyBits "...entails #primShowRect:... see above"]!
- 			copyBits]!

More information about the Squeak-dev mailing list