ClrValue.st
author Claus Gittinger <cg@exept.de>
Tue, 14 Jan 1997 18:02:37 +0100
changeset 365 47e0d48fd769
parent 301 9d63572bb1e2
child 378 3924b37b0ea4
permissions -rw-r--r--
commentary

"
 COPYRIGHT (c) 1995 by Claus Gittinger
	      All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"

Color subclass:#ColorValue
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Graphics-Support'
!

!ColorValue class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 1995 by Claus Gittinger
	      All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
!

documentation
"
    ColorValue is provided for ST-80 compatibility.
    read the section on compatibility issues in the Color class's documentation.

    [author:]
        Claus Gittinger
"
! !

!ColorValue class methodsFor:'instance creation'!

brightness:grey
    "return a grey color.
     The grey value is given in 0..1 instead of percent"

    ^ self scaledGray:(grey * MaxValue) rounded

    "
     ColorValue brightness:0.5
    "

    "Modified: 28.5.1996 / 20:53:52 / cg"
!

doesNotUnderstand:aMessage
    "catch other instance creation messages"

    |clr|

    (clr := self name:aMessage selector asString) notNil ifTrue:[
	^ clr
    ].
    ^ super doesNotUnderstand:aMessage

    "
     ColorValue royalBlue
     ColorValue funnyGreen
    "
!

hue:hue saturation:sat brightness:light 
    "return a color.
     The hue, saturation and brightness values are given in 0..1 instead of 
     degrees / percent"

    ^ self hue:hue*360 light:light*100 saturation:sat*100 

    "
     ColorValue hue:0 saturation:1 brightness:0.5 
    "
!

red:r green:g blue:b
    "return a color from red, green and blue values.
     The arguments, r, g and b must be in the range (0..1)"

    ^ self 
	scaledRed:(r * MaxValue) rounded
	scaledGreen:(g * MaxValue) rounded
        scaledBlue:(b * MaxValue) rounded

    "
     ColorValue red:0 green:1 blue:0
     ColorValue red:0 green:0.5 blue:0
    "
! !

!ColorValue methodsFor:'accessing'!

blue
    "return the blue component in 0..1"

    ^ blue / MaxValue
!

green
    "return the green component in 0..1"

    ^ green / MaxValue
!

light
    "return the hue component in 0..1"

    ^ super light / 100.0

    "
     Color yellow light
     ColorValue yellow light
    "

    "Created: 11.6.1996 / 17:17:39 / cg"
!

red
    "return the red component in 0..1"

    ^ red / MaxValue
!

saturation
    "return the saturation component in 0..1"

    ^ super saturation / 100.0

    "
     Color yellow saturation     
     ColorValue yellow saturation  
    "

    "Created: 11.6.1996 / 17:17:57 / cg"
! !

!ColorValue class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libview2/Attic/ClrValue.st,v 1.12 1996-06-12 12:24:09 cg Exp $'
! !