rwlogo

Rogue Wave Views
Foundation Package API Reference Guide

Product Documentation:

Rogue Wave Views
Documentation Home

List of all members | Public Types | Public Member Functions
IlvComposeFilter Class Reference

Compose filter. More...

#include <ilviews/bitmaps/filters/compose.h>

Inheritance diagram for IlvComposeFilter:
IlvBitmapFilter

Public Types

enum  Operator {
  Over, In, Out, Atop,
  Xor, Arithmetic
}
 This enumeration defines the possible values for the composition mode. More...
 

Public Member Functions

 IlvComposeFilter (Operator op=Over, IlFloat k1=0.0, IlFloat k2=0.0, IlFloat k3=0.0, IlFloat k4=0.0)
 Constructor. More...
 
 ~IlvComposeFilter ()
 Destructor. More...
 
IlvBitmapDataapply (IlUInt count=0, const IlvBitmapData **inputs=0)
 Applies the compositing to the given images.
 
void getArithmeticValues (IlFloat &k1, IlFloat &k2, IlFloat &k3, IlFloat &k4) const
 Returns the Arithmetic operator parameters. More...
 
IlFloat getK1 () const
 Returns the k1 parameter of the Arithmetic operator. More...
 
IlFloat getK2 () const
 Returns the k2 parameter of the Arithmetic operator. More...
 
IlFloat getK3 () const
 Returns the k3 parameter of the Arithmetic operator. More...
 
IlFloat getK4 () const
 Returns the k4 parameter of the Arithmetic operator. More...
 
Operator getOperator () const
 Returns the compositing operator. More...
 
void setArithmeticValues (IlFloat k1, IlFloat k2, IlFloat k3, IlFloat k4)
 Sets the Arithmetic operator parameters. More...
 
void setK1 (IlFloat k1)
 Sets the k1 parameter of the Arithmetic operator. More...
 
void setK2 (IlFloat k2)
 Sets the k2 parameter of the Arithmetic operator. More...
 
void setK3 (IlFloat k3)
 Sets the k3 parameter of the Arithmetic operator. More...
 
void setK4 (IlFloat k4)
 Sets the k4 parameter of the Arithmetic operator. More...
 
void setOperator (Operator op)
 Sets the compositing operator. More...
 
- Public Member Functions inherited from IlvBitmapFilter
 IlvBitmapFilter ()
 Constructor. More...
 
virtual ~IlvBitmapFilter ()
 Destructor. More...
 
IlvBitmapDataapplyUnary (const IlvBitmapData *data)
 Convenience method for unary filters. More...
 
virtual const char * getClassName () const
 Returns the class name of the filter. More...
 
IlUInt getHeight () const
 Returns the height of the filter effect region. More...
 
const char *const * getInputs (IlUInt &count) const
 Returns the name of the input bitmap data. More...
 
const char * getName () const
 Returns the name of the filter. More...
 
IlUInt getRefCount () const
 Returns the reference count for this instance.
 
const char * getResult () const
 Returns the name of the result bitmap data. More...
 
IlUInt getWidth () const
 Returns the width of the filter effect region. More...
 
IlInt getX () const
 Returns the left coordinate of the filter effect region. More...
 
IlInt getY () const
 Returns the top coordinate of the filter effect region. More...
 
void lock ()
 Locks the current instance.
 
void setHeight (IlUInt height)
 Sets the height of the filter effect region. More...
 
void setInputs (IlUInt count, const char *const *name)
 Sets the input names of the filter. More...
 
void setName (const char *id)
 Sets the name of the filter. More...
 
void setResult (const char *name)
 Sets the result name of the filter. More...
 
void setWidth (IlUInt width)
 Sets the width of the filter effect region. More...
 
void setX (IlInt x)
 Sets the left coordinate of the filter effect region. More...
 
void setY (IlInt y)
 Sets the top coordinate of the filter effect region. More...
 
void unLock ()
 Unlocks the current instance. When the reference count is 0, the instance is deleted.
 

Additional Inherited Members

- Static Public Member Functions inherited from IlvBitmapFilter
static IlvBitmapFilterCreate (const char *classname, IlBoolean forceLoad=IlTrue)
 This static method creates an instance of a bitmap filter of given classname. If the filter class is not registered and forceLoad is IlTrue, an attempt to load a dynamic module for this filter is made. More...
 
static const char ** GetRegisteredFilters (IlUInt &num)
 This static method returns an array of registered filter class names. More...
 

Detailed Description

Compose filter.

Library: ilvbmpflt

This bitmap filter lets you compose two images using the Porter-Duff operators over, in out, atop, xor, and an arithmetic operator. The resulting color is given by the formula:

Cresult = Fa * Ca + Fb * Cb

Ca is the color from the first image, Cb is the color from the second image. Aa is the alpha value from the first image, Ab is the alpha value from the second image.

For the arithmetic operator each pixel is computed as follows:

Cresult = k1 * Ca * Cb + k2 * Ca + k3 * Ca * Cb + k4

where k1, k2, k3, and k4 are user-specified.

See Also
IlvRGBBitmapData, IlvBitmapFilter

Member Enumeration Documentation

This enumeration defines the possible values for the composition mode.

Enumerator
Over 

The Porter-Duff operator used is Over. Fa = 1, Fb = 1 - Aa

In 

The Porter-Duff operator used is In. Fa = Ab, Fb = 0

Out 

The Porter-Duff operator used is Out. Fa = 1 - Ab, Fb = 0

Atop 

The Porter-Duff operator used is Atop. Fa = Ab, Fb = 1 - Aa

Xor 

The Porter-Duff operator used is Xor. Fa = 1 - Ab, Fb = a - Aa

Arithmetic 

The operator used is Arithmetic. This mode needs additional parameters (see IlvComposeFilter::setArithmeticValues).

Constructor & Destructor Documentation

IlvComposeFilter::IlvComposeFilter ( Operator  op = Over,
IlFloat  k1 = 0.0,
IlFloat  k2 = 0.0,
IlFloat  k3 = 0.0,
IlFloat  k4 = 0.0 
)

Constructor.

Initializes a new instance of the class IlvComposeFilter. The default mode is Over.

IlvComposeFilter::~IlvComposeFilter ( )

Destructor.

The destructor releases all the memory used by the instance.

Member Function Documentation

void IlvComposeFilter::getArithmeticValues ( IlFloat k1,
IlFloat k2,
IlFloat k3,
IlFloat k4 
) const

Returns the Arithmetic operator parameters.

Parameters
k1Will contain the k1 parameter.
k2Will contain the k2 parameter.
k3Will contain the k3 parameter.
k4Will contain the k4 parameter.
IlFloat IlvComposeFilter::getK1 ( ) const

Returns the k1 parameter of the Arithmetic operator.

Returns
The k1 parameter of the Arithmetic operator.
IlFloat IlvComposeFilter::getK2 ( ) const

Returns the k2 parameter of the Arithmetic operator.

Returns
The k2 parameter of the Arithmetic operator.
IlFloat IlvComposeFilter::getK3 ( ) const

Returns the k3 parameter of the Arithmetic operator.

Returns
The k3 parameter of the Arithmetic operator.
IlFloat IlvComposeFilter::getK4 ( ) const

Returns the k4 parameter of the Arithmetic operator.

Returns
The k4 parameter of the Arithmetic operator.
Operator IlvComposeFilter::getOperator ( ) const

Returns the compositing operator.

Returns
The compositing operator.
void IlvComposeFilter::setArithmeticValues ( IlFloat  k1,
IlFloat  k2,
IlFloat  k3,
IlFloat  k4 
)

Sets the Arithmetic operator parameters.

Parameters
k1The new k1 parameter.
k2The new k2 parameter.
k3The new k3 parameter.
k4The new k4 parameter.
void IlvComposeFilter::setK1 ( IlFloat  k1)

Sets the k1 parameter of the Arithmetic operator.

Parameters
k1The new k1 parameter of the Arithmetic operator.
void IlvComposeFilter::setK2 ( IlFloat  k2)

Sets the k2 parameter of the Arithmetic operator.

Parameters
k2The new k2 parameter of the Arithmetic operator.
void IlvComposeFilter::setK3 ( IlFloat  k3)

Sets the k3 parameter of the Arithmetic operator.

Parameters
k3The new k3 parameter of the Arithmetic operator.
void IlvComposeFilter::setK4 ( IlFloat  k4)

Sets the k4 parameter of the Arithmetic operator.

Parameters
k4The new k4 parameter of the Arithmetic operator.
void IlvComposeFilter::setOperator ( Operator  op)

Sets the compositing operator.

Parameters
opThe new compositing operator.

© Copyright 2014, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.