IBaseColor

IColor is a concrete class that encapsulates all possible color spaces including RGB, HSV, and CIE-XYZ. IBaseColor is a concrete class that encapsulates all possible color spaces including RGB, HSV, and CIE-XYZ. It has the default representation of compact RGB color; each element of red, green, and blue is represented by an 8-bit unsigned integer.


IBaseColor - Member Functions and Data by Group

Constructors & Destructor

Use the constructors and destructor in this group to create and destroy objects of class IBaseColor.


[view class]
~IBaseColor
public:
virtual ~IBaseColor()

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
IBaseColor


Overload 1
Constructs of a predefined commonly used color.
public:
IBaseColor(EPredefinedColor commonlyUsedColor)

commonlyUsedColor
The name of the color to be constructed.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 2
Copy constructor.
public:
IBaseColor(const IBaseColor&)

IBaseColor
A constant reference to the color object to copy from.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 3
Constructs a gray color.
public:
IBaseColor(CharIntensity gray, CharIntensity opacity = 255)

gray
The intensity of the gray color.
opacity
The opacity. The default value is 255.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 4
Constructs the color from a compact RGB color.
public:
IBaseColor( CharIntensity red, CharIntensity green, CharIntensity blue, CharIntensity opacity = 255 )

red
The red component of the color.
green
The green component of the color.
blue
The blue component of the color.
opacity
The opacity. The default value is 255.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 5
Constructs a default black color.
public:
IBaseColor()

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Assignment Operator

Use the operator in this group to assign the given IBaseColor object to the target one.


[view class]
operator =
public:
IBaseColor& operator =(const IBaseColor& source)
Assignment operator.

source
The source color to be copied.

Return
A reference to the color object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Color Indexes

Use the functions in this group to create a color index from intensity values and to allow the object to modify itself from a color index value.


[view class]
createIndex
protected:
long createIndex( CharIntensity r, CharIntensity g, CharIntensity b )
Creates a color index from intensity values.

r
The red intensity of the color to be composed.
g
The green intensity of the color to be composed.
b
The blue intensity of the color to be composed.

Return
Returns the number representing the color index value.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rgbFromIndex
protected:
void rgbFromIndex(unsigned long index)
Modifies itself from a color index value.

index
The color index value to be read in and converted to RGB.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Comparing Two IBaseColor Objects for Equality or Inequality

Use the functions in this group to test whether two IBaseColor objects are inequal or inequal.


[view class]
operator !=
public:
bool operator !=(const IBaseColor&) const
Tests two IBaseColor objects for inequality.

IBaseColor
A constant reference to the IBaseColor to be compared with this one.

Return
True if the two colors don't have the same RGB values or opacity.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
operator ==
Tests two IBaseColor objects for equality.

IBaseColor
A constant reference to the IBaseColor to be compared with this one.
public:
virtual bool operator ==(const IBaseColor&) const
Tests two IBaseColor objects for equality.

Return
True if the two colors have the same RGB values and opacity.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Converting Colors Across Color Spaces

Use the function in this group to convert a color from RGB to XYZ.


[view class]
elementsInXYZColorSpace
public:
virtual void elementsInXYZColorSpace( GIntensity& x, GIntensity& y, GIntensity& z ) const
Converts a RGB color to XYZ color space.

x
The returned x-component of the XYZ color.
y
The returned y-component of the XYZ color.
z
The returned z-component of the XYZ color.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Copying Colors

Use the function in this group to copy RGBA values from the source color.


[view class]
copyRGBA
protected:
IBaseColor& copyRGBA(const IBaseColor& source)
Copies RGBA values over from source color.

source
The source color to be copied.

Return
A reference to the color object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Getting Color Components

Use the functions in this group to get a color component or opacity value of a color.


[view class]
blueMix


Overload 1
Returns the blue component of the compact RGB color.
public:
virtual CharIntensity blueMix() const

Return
The value of the blue component.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 2
Gets the blue component of a floating-point RGB color by scaling into range of 0-1.
public:
virtual void blueMix(GIntensity& blue) const

blue
The returned blue component.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
gray
public:
virtual CharIntensity gray() const
Returns the intensity of a gray color.

Return
The intensity.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
greenMix


Overload 1
Gets the green component of a floating-point RGB color by scaling into range of 0-1.
public:
virtual void greenMix(GIntensity& green) const

green
The returned green component.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 2
Returns the green component of the compact RGB color.
public:
virtual CharIntensity greenMix() const

Return
The value of the green component.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
opacity
Use the functions in this group to get a color component or opacity value from a color.


Overload 1
Returns the opacity of the compact RGB color.
public:
virtual CharIntensity opacity() const

Return
The value of the opacity.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 2
Gets the opacity value of a floating-point RGB color by scaling into range of 0-1.
public:
virtual void opacity(GIntensity& opacity) const

opacity
The returned opacity value.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
redMix


Overload 1
Gets the red component of a floating-point RGB color by scaling into range of 0-1.
public:
virtual void redMix(GIntensity& red) const

red
The returned red component.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 2
Returns the red component of the compact RGB color.
public:
virtual CharIntensity redMix() const

Return
The value of the red component.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Setting Color Values

Use the functions in this group to set a color component or opacity value of a color.


[view class]
setBlue
public:
virtual IBaseColor& setBlue(CharIntensity blue)
Sets the blue component of the compact RGB color.

blue
The new blue.

Return
reference of self

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
setElementsInXYZColorSpace
public:
virtual void setElementsInXYZColorSpace( GIntensity x, GIntensity y, GIntensity z )
Sets the color by converting an XYZ color to a compact RGB color.

x
The new x-component of the XYZ color.
y
The new y-component of the XYZ color.
z
The new z-component of the XYZ color.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
setGreen
public:
virtual IBaseColor& setGreen(CharIntensity green)
Sets the green component of the compact RGB color.

green
The new green.

Return
reference of self

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
setOpacity
public:
virtual IBaseColor& setOpacity(CharIntensity opacity)
Sets the opacity of the compact RGB color.

opacity
The new opacity.

Return
reference of self

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
setRed
public:
virtual IBaseColor& setRed(CharIntensity red)
Sets the red component of the compact RGB color.

red
The new red.

Return
reference of self

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
setRGB
protected:
void setRGB( CharIntensity r, CharIntensity g, CharIntensity b, CharIntensity o = 255 )
Sets RGBA values in a single call.

r
The red color component
g
The green color component
b
The blue color component
o
The opacity. The default value is 255.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Streaming the Object In and Out

Use the functions in this group to read an IBaseColor object in from the specified stream or write it out to it.


[view class]
readFromStream
protected:
virtual void readFromStream(IDataStream& fromWhere)
Stream in this object from the stream in for polymorphic streaming

fromWhere
The steam for streaming in this object

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
writeToStream
protected:
virtual void writeToStream(IDataStream& toWhere) const
Stream out this object to the stream for polymorphic streaming

toWhere
The steam for streaming out this object

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Miscellaneous Members


[view class]
colorProfile
protected:
const IColorProfile* colorProfile() const

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
fBlue
protected:
CharIntensity fBlue

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
fgColorProfile
protected:
static const IColorProfile* fgColorProfile

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
fGreen
protected:
CharIntensity fGreen

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
fOpacity
protected:
CharIntensity fOpacity

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
fRed
protected:
CharIntensity fRed

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


IBaseColor - Enumerations


[view class]
EPredefinedColor
enum EPredefinedColor { kWhite=0, 
                        kBlue, 
                        kRed, 
                        kPink, 
                        kGreen, 
                        kCyan, 
                        kYellow, 
                        kBlack, 
                        kDarkGray, 
                        kDarkBlue, 
                        kDarkRed, 
                        kDarkPink, 
                        kDarkGreen, 
                        kDarkCyan, 
                        kBrown, 
                        kPaleGray }
Definition of some commonly used colors for convience.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


IBaseColor - Inherited Member Functions and Data

Inherited Public Functions

IMStreamable

Inherited Public Data

Inherited Protected Functions

IMStreamable

Inherited Protected Data