diff -r 35214ddde67c -r 79251ddda7a1 Color.st --- a/Color.st Wed Mar 05 17:08:45 1997 +0100 +++ b/Color.st Thu Mar 06 02:34:31 1997 +0100 @@ -15,7 +15,8 @@ writable' classVariableNames:'MaxValue Cells Black White LightGrey Grey DarkGrey Pseudo0 Pseudo1 PseudoAll Red Green Blue RetryAllocation DitherBits - ColorAllocationFailSignal InvalidColorNameSignal' + ColorAllocationFailSignal InvalidColorNameSignal + StandardColorValues' poolDictionaries:'' category:'Graphics-Support' ! @@ -396,12 +397,43 @@ RetryAllocation := true. DitherBits := self ditherBits. + self initializeStandardColorNames. " Color initialize " - "Modified: 24.2.1997 / 22:08:35 / cg" + "Modified: 6.3.1997 / 02:22:24 / cg" +! + +initializeStandardColorNames + "setup standard colors" + + StandardColorValues := Dictionary new. + #( + 'red' (16rFFFF 16r0000 16r0000) + 'green' (16r0000 16rFFFF 16r0000) + 'blue' (16r0000 16r0000 100) + 'yellow' (16rFFFF 16rFFFF 16r0000) + 'magenta' (16rFFFF 16r0000 16rFFFF) + 'cyan' (16r0000 16rFFFF 16rFFFF) + 'white' (16rFFFF 16rFFFF 16rFFFF) + 'black' (16r0000 16r0000 16r0000) + 'olive' (16r7FFF 16r7FFF 16r0000) + 'teal' (16r0000 16r7FFF 16r7FFF) + 'silver' (16r6666 16r6666 16r6666) + 'lime' (16r3333 16rFFFF 16r0000) + 'fuchsia' (16r9999 16r07ae 16rFFFF) + 'aqua' (16r199a 16rFFFF 16rFFFF) + ) pairWiseDo:[:name :value | + StandardColorValues at:name put:value + ]. + + " + Color initializeStandardColorNames + " + + "Modified: 6.3.1997 / 02:28:58 / cg" ! update:something with:aParameter from:changedObject @@ -570,16 +602,24 @@ If aString is not a valid color name, return the result from evaluating errorBlock." - |r g b| - - Display - getScaledRGBFromName:colorName - into:[:rr :gg :bb | - r := rr. - g := gg. - b := bb - ]. - + |triple r g b| + + triple := StandardColorValues at:colorName asString ifAbsent:nil. + triple notNil ifTrue:[ + r := triple at:1. + g := triple at:2. + b := triple at:3. + ] ifFalse:[ + "/ ask display ... + + Display + getScaledRGBFromName:colorName + into:[:rr :gg :bb | + r := rr. + g := gg. + b := bb + ]. + ]. r notNil ifTrue:[ ^ here scaledRed:r scaledGreen:g scaledBlue:b ]. @@ -587,10 +627,12 @@ " Color name:'brown' ifIllegal:[Color black] + Color name:'red' ifIllegal:[Color black] + Color name:'fuchsia' ifIllegal:[Color black] Color name:'foo' ifIllegal:[Color black] " - "Modified: 16.1.1997 / 22:59:24 / cg" + "Modified: 6.3.1997 / 02:32:41 / cg" ! noColor @@ -4007,6 +4049,6 @@ !Color class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libview/Color.st,v 1.91 1997-02-28 12:28:03 cg Exp $' + ^ '$Header: /cvs/stx/stx/libview/Color.st,v 1.92 1997-03-06 01:34:31 cg Exp $' ! ! Color initialize!