'From Squeak3.1alpha of 28 February 2001 [latest update: #3844] on 15 March 2001 at 6:39:40 pm'! "Change Set: Discards-ar Date: 15 March 2001 Author: Andreas Raab Few fixes for removing references to (then obsolete) classes during a shrink process."! AbstractSound subclass: #QueueSound instanceVariableNames: 'startTime sounds currentSound done ' classVariableNames: '' poolDictionaries: '' category: 'Sound-Synthesis'! !JPEGReadWriter methodsFor: 'colorspace conversion' stamp: 'ar 3/15/2001 18:11'! primColorConvertGrayscaleMCU: componentArray bits: bits residuals: residualArray ditherMask: mask "JPEGReaderPlugin doPrimitive: #primitiveColorConvertGrayscaleMCU." ^self colorConvertGrayscaleMCU! ! !StarSqueakMorph methodsFor: 'private-primitives' stamp: 'ar 3/15/2001 18:14'! primMapFrom: srcBitmap to: dstBitmap width: w height: h patchSize: patchSize rgbFlags: rgbFlags shift: shiftAmount "Map values in the source bitmap (interpreted as unsigned 32-bit integers) to 2x2 patches of color in the destination bitmap. The color brightness level is determined by the source value and the color hue is determined by the bottom three bits of the rgbFlags value. For example, if rgbFlags is 1, you get shades of blue, if it is 6 you get shades of yellow, and if it is 7, you get shades of gray. The shiftAmount is used to scale the source data values by a power of two. If shiftAmount is zero, the data is unscaled. Positive shiftAmount values result in right shifting the source data by the given number of bits (multiplying by 2^N, negative values perform right shifts (dividing by 2^N). The width parameter gives the width of the Form that owns the destination bitmap." | rgbMult srcIndex level pixel offset | rgbMult _ 0. (rgbFlags bitAnd: 2r100) > 0 ifTrue: [rgbMult _ rgbMult + 16r10000]. (rgbFlags bitAnd: 2r10) > 0 ifTrue: [rgbMult _ rgbMult + 16r100]. (rgbFlags bitAnd: 2r1) > 0 ifTrue: [rgbMult _ rgbMult + 16r1]. srcIndex _ 0. 0 to: (h // patchSize) - 1 do: [:y | 0 to: (w // patchSize) - 1 do: [:x | level _ (srcBitmap at: (srcIndex _ srcIndex + 1)) bitShift: shiftAmount. level > 255 ifTrue: [level _ 255]. level <= 0 ifTrue: [pixel _ 1] "non-transparent black" ifFalse: [pixel _ level * rgbMult]. "fill a patchSize x patchSize square with the pixel value" offset _ ((y * w) + x) * patchSize. offset to: offset + ((patchSize - 1) * w) by: w do: [:rowStart | rowStart+1 to: rowStart + patchSize do: [:dstIndex | dstBitmap at: dstIndex put: pixel]] ]].! ! "Postscript: A cleanup for some left-over obsolete classes" Smalltalk keys "copy" do:[:k| (k beginsWith: 'AnObsolete') ifTrue:[Smalltalk removeKey: k]]. !