[squeak-dev] The Trunk: Morphic-bf.536.mcz

commits at source.squeak.org commits at source.squeak.org
Sun May 8 19:50:58 UTC 2011


Bert Freudenberg uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-bf.536.mcz

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

Name: Morphic-bf.536
Author: bf
Time: 8 May 2011, 4:48:36.469 pm
UUID: dacedb94-52f1-4f68-baee-7fb67b0630fb
Ancestors: Morphic-nice.535

Better fixAlpha fix for displaying 16 bit forms on a 32 bit target

=============== Diff against Morphic-nice.535 ===============

Item was changed:
  ----- Method: Canvas>>translucentImage:at:sourceRect: (in category 'drawing-images') -----
  translucentImage: aForm at: aPoint sourceRect: sourceRect
  	"Draw a translucent image using the best available way of representing translucency.
  	Note: This will be fixed in the future."
+ 	self shadowColor ifNotNil:[
- 	self shadowColor ifNotNil: [
  		^self stencil: aForm at: aPoint sourceRect: sourceRect color: self shadowColor].
+ 	(self depth < 32 or:[aForm isTranslucent not]) 
+ 		ifTrue:[^self paintImage: aForm at: aPoint sourceRect: sourceRect].
- 	(self depth < 32 or: [aForm depth < 16])
- 		ifTrue: [^self paintImage: aForm at: aPoint sourceRect: sourceRect].
- 	aForm depth = 16
- 		ifTrue:
- 			["workaround because BitBlt fail to fill the alpha channel"
- 			^self paintImage: (aForm asFormOfDepth: 32) at: aPoint sourceRect: sourceRect].
  	self image: aForm
  		at: aPoint
  		sourceRect: sourceRect
  		rule: Form blend!

Item was changed:
  ----- Method: FormCanvas>>image:at:sourceRect:rule: (in category 'private') -----
  image: aForm at: aPoint sourceRect: sourceRect rule: rule 
  	"Draw the portion of the given Form defined by sourceRect at the given point using the given BitBlt combination rule."
  	port colorMap: (aForm colormapIfNeededFor: form); fillColor: nil.
+ 	port image: aForm at: aPoint + origin sourceRect: sourceRect rule: rule.
+ 	(form depth = 32 and: [aForm depth = 16])
+ 		ifTrue: [port image: nil at: aPoint + origin sourceRect: sourceRect rule: 40 "fixAlpha:with:"].
+ !
- 	port image: aForm at: aPoint + origin sourceRect: sourceRect rule: rule.!




More information about the Squeak-dev mailing list