Class: TInvertHighlightTransferMode

Declaration: InvertTransferModes.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TInvertTransferMode

Inherited By:

None.

Purpose:

TInvertHighlightTransferMode is a concrete class derived from TInvertTransferMode, to provide an invertible transfer mode for indexed devices. It is used internally to select highlighted text. This transfer mode causes a conversion of the destination color from indexed color to RGB; determines the color's red, green, and blue components; subtracts each value from 1.0; then replaces the destination with the inverted color. It also allows for specifying of given background and highlight colors. This allows for highlighting selected text in a specific color. Once you apply the transfer mode to an area, the original contents of that area can be restored by applying the operation again.

Instantiation:

Allocate on the heap or the stack.

Deriving Classes:

No special considerations.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Other Considerations:

None.

Member Function: TInvertHighlightTransferMode::TInvertHighlightTransferMode

  1. TInvertHighlightTransferMode ()
  2. TInvertHighlightTransferMode (const TColor & highlightColor, const TColor & backgroundColor)
  3. TInvertHighlightTransferMode (const TInvertHighlightTransferMode &)

Interface Category:

API.

Purpose:

  1. Default constructor.
  2. Constructor that lets the caller specify a given set of background and highlight colors.
  3. Copy constructor.

Calling Context:

  1. Called by the stream-in operators and directly.
  2. Call this constructor directly.
  3. Called to copy an object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInvertHighlightTransferMode::~TInvertHighlightTransferMode

virtual ~ TInvertHighlightTransferMode ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInvertHighlightTransferMode::GetBackgroundColor

TRGBColor GetBackgroundColor () const

Interface Category:

API.

Purpose:

This function returns the background color for this transfer mode.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns a TRGBColor object that corresponds to this transfer mode's background color.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInvertHighlightTransferMode::GetHighlightColor

TRGBColor GetHighlightColor () const

Interface Category:

API.

Purpose:

This function returns the highlight color for this transfer mode.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns a TRGBColor object that corresponds to this transfer mode's highlight color.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInvertHighlightTransferMode::GetResultingColor

  1. virtual void GetResultingColor (const TColor & sourceColor, const TColor & destColor, TColor & resultingColor) const
  2. virtual void GetResultingColor (const TColor & destColor, TColor & resultingColor) const

Interface Category:

API.

Purpose:

  1. Inverts the destination color, using the specified background and highlight colors. The source color is ignored. If the destination color has the value of the background color, the resultant color becomes the highlight color, and vice versa. If the destination color matches neither the background nor the highlight color, an inverted RGB color is calculated in the following manner: each of the destination color's red, green, and blue components, as well as the alpha component, are subtracted from 1.0. The resulting color is returned as a TColor.
  2. Inverts the destination color, using the specified background and highlight colors. If the destination color has the value of the background color, the resultant color becomes the highlight color, and vice versa. If the destination color matches neither the background nor the highlight color, an inverted RGB color is calculated in the following manner: each of the destination color's red, green, and blue components, as well as the alpha component, are subtracted from 1.0. The resulting color is returned as a TColor.

Calling Context:

  1. Call this function directly.
  2. Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInvertHighlightTransferMode::GetInvertHighlightResult

void GetInvertHighlightResult (const TRGBColor & destColor, TRGBColor & resultingColor) const

Interface Category:

API.

Purpose:

Converts a destination TRGBColor into the corresponding inverted RGB color. If the destination color corresponds to the background color, the resultant color will be the highlight color. If the destination color is the highlight color, the resultant color will be the background color. If the destination color is neither the background nor the highlight color, then an inverted color is computed by subtracting each of the destination color's red, green, and blue components, as well as its alpha component, from 1.0.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInvertHighlightTransferMode::operator=

TInvertHighlightTransferMode & operator =( const TInvertHighlightTransferMode & source)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Called when an object is assigned to another compatible object.

Parameters:

Return Value:

A non-const reference to the left-hand side object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInvertHighlightTransferMode::operator>>=

virtual TStream & operator >>=(TStream & towhere) const

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Called to stream out data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself out to.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInvertHighlightTransferMode::operator<<=

virtual TStream & operator <<= (TStream & fromwhere)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called to stream in data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself in from.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInvertHighlightTransferMode::TemporaryTypeID

virtual TTransferMode :: ETransferModeClassID TemporaryTypeID () const

Interface Category:

API.

Purpose:

Gives information as to which type of transfer mode is represented by the object.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns the type of transfer mode this object represents.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

This is a temporary function meant to offer mode identification until an ANSI C++ typeid operator is available.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.