[Pkg] The Trunk: MorphicExtras-mt.171.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Apr 19 11:06:35 UTC 2016


Marcel Taeumel uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-mt.171.mcz

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

Name: MorphicExtras-mt.171
Author: mt
Time: 19 April 2016, 1:06:17.613134 pm
UUID: 5f029570-c24b-9f4b-b371-0f70d4f9fcbb
Ancestors: MorphicExtras-mt.170

Improves usage of #refreshWorld to avoid direct calls to #displayWorldSafely, which requires a check whether the morph in in a world or not.

=============== Diff against MorphicExtras-mt.170 ===============

Item was changed:
  ----- Method: PaintBoxMorph>>eyedropper:action:cursor:evt: (in category 'actions') -----
  eyedropper: aButton action: aSelector cursor: aCursor evt: evt 
  	"Take total control and pick up a color!!!!"
  
  	| pt feedbackColor delay |
  	delay := Delay forMilliseconds: 10.
  	aButton state: #on.
  	tool ifNotNil: [tool state: #off].
  	currentCursor := aCursor.
  	evt hand showTemporaryCursor: currentCursor
  		hotSpotOffset: 6 negated @ 4 negated.
  	"<<<< the form was changed a bit??"
  	feedbackColor := Display colorAt: Sensor cursorPoint.
  	colorMemory align: colorMemory bounds topRight
  		with: colorMemoryThin bounds topRight.
  	self addMorphFront: colorMemory.
  
  	"Full color picker"
  	[Sensor anyButtonPressed] whileFalse: 
  			[pt := Sensor cursorPoint.
  			"deal with the fact that 32 bit displays may have garbage in the 
  			alpha bits"
  			feedbackColor := Display depth = 32 
  						ifTrue: 
  							[Color colorFromPixelValue: ((Display pixelValueAt: pt) bitOr: 16rFF000000)
  								depth: 32]
  						ifFalse: [Display colorAt: pt].
  			"the hand needs to be drawn"
  			evt hand position: pt.
  			currentColor ~= feedbackColor ifTrue: [
  				currentColor := feedbackColor.
  				self showColor ].
+ 			self refreshWorld.
- 			self world displayWorldSafely.
  			delay wait].
  
  	"Now wait for the button to be released."
  	[Sensor anyButtonPressed] whileTrue:
  		[ pt := Sensor cursorPoint.
  		"the hand needs to be drawn"
  		evt hand position: pt.
+ 		self refreshWorld.
- 		self world displayWorldSafely.
  		delay wait].
  
  	evt hand showTemporaryCursor: nil hotSpotOffset: 0 @ 0.
  	self currentColor: feedbackColor evt: evt.
  	colorMemory delete.
  	tool ifNotNil: 
  			[tool state: #on.
  			currentCursor := tool arguments third].
  	aButton state: #off
  !



More information about the Packages mailing list