FieldNode>>#assignmentCheck:at: sends #assignDefaultSetter, which is not implemented. Maybe that is important?
tim
--
tim Rowledge; tim(a)rowledge.org; http://www.rowledge.org/tim
"How many Motie Warriors does it take to change a lightbulb?”
"None. One of the dead ones will do it."
A new version of MonticelloConfigurations was added to project The Inbox:
http://source.squeak.org/inbox/MonticelloConfigurations-jr.180.mcz
==================== Summary ====================
Name: MonticelloConfigurations-jr.180
Author: jr
Time: 21 August 2022, 9:32:31.163081 pm
UUID: 3ad77782-9f0f-664c-a386-b309e153563e
Ancestors: MonticelloConfigurations-mt.179
Fix: could not copy a configuration from a directory repository to the inbox because the repositories were nil.
Actually, I did not find any UI to set the repositories of a configuration. MCConfiguationBrowser does have a #repositories: setter, but I do not see a button or menu item (or a sender method) that would invoke it.
=============== Diff against MonticelloConfigurations-mt.179 ===============
Item was changed:
----- Method: MCConfiguration>>contentsOn:keyPrefix: (in category 'printing') -----
contentsOn: aStream keyPrefix: prefix
"Prepend prefix to key values. If the prefix is a non-empty string, the resulting
key values will be ignored when parsing an original format MCConfiguration
from an extended format MCM file. This provides backward compatibility for
older images that need to read newer format MCM files."
name ifNotNil: [:n |
aStream cr.
aStream nextPutAll: prefix,'name '.
aStream print: n].
+ repositories ifNotNil: [repositories do: [:ea |
- repositories do: [:ea |
aStream cr.
aStream nextPutAll: prefix,'repository '.
+ (MCConfiguration repositoryToArray: ea) printElementsOn: aStream]].
- (MCConfiguration repositoryToArray: ea) printElementsOn: aStream].
dependencies do: [:ea |
aStream cr.
aStream nextPutAll: prefix,'dependency '.
(MCConfiguration dependencyToArray: ea) printElementsOn: aStream].
!
A new version of Tools was added to project The Inbox:
http://source.squeak.org/inbox/Tools-jr.1173.mcz
==================== Summary ====================
Name: Tools-jr.1173
Author: jr
Time: 25 August 2022, 10:02:35.742487 pm
UUID: 24f8bc1f-75c5-504c-90e2-095d444ff126
Ancestors: Tools-jr.1172
Copies of browsers must also get their own copy of the navigation object. Otherwise the navigation histories of the copied browser and the original browser would remain coupled.
=============== Diff against Tools-jr.1172 ===============
Item was changed:
----- Method: Browser>>veryDeepInner: (in category 'copying') -----
veryDeepInner: deepCopier
"Copy all of my instance variables. Some need to be not copied at all, but shared. See DeepCopier class comment."
super veryDeepInner: deepCopier.
"systemOrganizer := systemOrganizer. clone has the old value. we share it"
"classOrganizer := classOrganizer clone has the old value. we share it"
"metaClassOrganizer := metaClassOrganizer clone has the old value. we share it"
selectedSystemCategory := selectedSystemCategory veryDeepCopyWith: deepCopier.
selectedClassName := selectedClassName veryDeepCopyWith: deepCopier.
selectedMessageCategoryName := selectedMessageCategoryName veryDeepCopyWith: deepCopier.
selectedMessageName := selectedMessageName veryDeepCopyWith: deepCopier.
editSelection := editSelection veryDeepCopyWith: deepCopier.
metaClassIndicated := metaClassIndicated veryDeepCopyWith: deepCopier.
+ navigation := navigation veryDeepCopyWith: deepCopier.
!
A new version of GraphicsTests was added to project The Inbox:
http://source.squeak.org/inbox/GraphicsTests-nice.61.mcz
==================== Summary ====================
Name: GraphicsTests-nice.61
Author: nice
Time: 25 August 2022, 7:21:09.80455 pm
UUID: 795a40eb-ef98-9244-924b-b7eacd8e4f34
Ancestors: GraphicsTests-mt.60
Fix BitBltTest>>testAllAlphasRgbMul to cope with correctly rounded multiplication
The theory is that we multiply color components in [0..1] interval
But it is implemented with Integer arithmetic (Fixed Point).
In internal representation, we scale the color specification:
(red * scale) rounded.
where scale = ((1 timesTowPower: 8) - 1), for example, that is in range (0 to: 255) for 8 bits color channel, in 32bits deep ARGB bitmaps.
so what we want to represent is (red1 / scale) * (red2 / scale).
which is implemented with ((red1 / scale) * (red2 / scale) * scale) rounded.
That is (red1 * red2 / scale) rounded.
The old implementation of rgMul was ((red1+1)*(red2+1)-1)//256 which might differ from above correctly rounded formulation by +/-1...
The new implementation requires a new VM.
See https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/651
Note that the rgbMul might be used for pre-multiplying color channels in some anti-aliasing algorithms.<br>
It's been used in Cuis for font rendering see this thread:
http://forum.world.st/BitBlt-looking-for-rule-blitting-an-alpha-mask-consta…http://lists.squeakfoundation.org/pipermail/vm-dev/2009-June/002760.html
=============== Diff against GraphicsTests-mt.60 ===============
Item was changed:
----- Method: BitBltTest>>testAllAlphasRgbMul (in category 'tests') -----
testAllAlphasRgbMul
"self run: #testAllAlphasRgbMul"
| sourceForm destForm blt correctAlphas |
<timeout: 10>
correctAlphas := 0.
0 to: 255 do: [:sourceAlpha |
sourceForm := Form extent: 1 @ 1 depth: 32.
sourceForm bits at: 1 put: sourceAlpha << 24 + (33 << 16) + (25 << 8) + 27.
0 to: 255 do: [:destAlpha |
destForm := Form extent: 1 @ 1 depth: 32.
destForm bits at: 1 put: destAlpha << 24 + (255 << 16) + (255 << 8) + 255.
blt := BitBlt new.
blt sourceForm: sourceForm.
blt sourceOrigin: 0 @ 0.
blt setDestForm: destForm.
blt destOrigin: 0 @ 0.
+ blt combinationRule: 37. "Form rgbMul"
- blt combinationRule: 37. "rgbMul"
blt copyBits.
correctAlphas := correctAlphas
+ + (((blt destForm bits at: 1) digitAt: 4) = (destAlpha * sourceAlpha / 255) rounded
- + (((blt destForm bits at: 1) digitAt: 4) = ((destAlpha+1) * (sourceAlpha+1)- 1 // 256)
ifTrue: [1]
ifFalse: [0])
]].
self assert: 65536 equals: correctAlphas!
Christoph Thiede uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-ct.95.mcz
==================== Summary ====================
Name: Help-Squeak-Project-ct.95
Author: ct
Time: 25 August 2022, 6:07:24.965239 pm
UUID: fb22c6f4-4680-1f4c-a204-4da4beb5af20
Ancestors: Help-Squeak-Project-mt.94
Minor rephrasing/grammar fix in tutorials intro.
=============== Diff against Help-Squeak-Project-mt.94 ===============
Item was changed:
----- Method: SqueakTutorials class>>introduction (in category 'pages') -----
introduction
"This method was automatically generated. Edit it using:"
"SqueakTutorials edit: #introduction"
+ <generated>
^(HelpTopic
title: 'Introduction'
contents:
+ 'Here you can find some short tutorials on how to use Squeak for daily tasks. Feel free to add your own!!!!!!' readStream nextChunkText)
- 'Here you will some short tutorials on how to use Squeak for daily tasks. Feel free to add your own.!!' readStream nextChunkText)
key: #introduction;
shouldStyle: false;
yourself!