--- 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!