An instance of the
Color class is used to represent
a specific color. There are two obvious ways to represent the
red, green, and blue components: as floating point numbers or as
integers. The obvious way to use a float is to let 0.0 represent
none and let 1.0 represent all of a component. However, the
#RRGGBB” representation is also
common, and in that form each component is an integer in the range
MAX_PARAM]. An internal precision of 16 bits
per color is plenty.
Here is the class interface:
# - - - - - c l a s s C o l o r class Color: """Represents an arbitrary color. Exports: Color ( red, green, blue ): [ (red is the red value as a float in [0.0,1.0] or as an int in [0,MAX_PARAM]) and (green is the green value as a float in [0.0,1.0] or as an int in [0,MAX_PARAM]) and (blue is the blue value as a float in [0.0,1.0] or as an int in [0,MAX_PARAM]) -> return a new Color instance with those color values ]
Internally, a color is represented in the integer form. The three components are exported as read-only attributes.
.r: [ the red component as an int in [0,MAX_PARAM] ] .g: [ the green component as an int in [0,MAX_PARAM] ] .b: [ the blue component as an int in [0,MAX_PARAM] ]
.__str__() method defines the behavior
of the built-in Python
str() function when
applied to instances of this class. See Section 6.3, “
Color.__str__(): Convert to a string”.
.__str__(self): [ return self as a string "#RRGGBB" ]
.__cmp__() function is used to compare two colors to see if they are the
same color. See Section 6.4, “
Color.__cmp__(): Compare two colors”.
.__cmp__(self, other): [ other is a Color instance -> if self's color name is less than other's -> return a negative number else if self's color name is greater than other's -> return a positive number else -> return 0 ] """