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
IlvBlendFilter Class Reference

Blend filter. More...

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

Inheritance diagram for IlvBlendFilter:
IlvBitmapFilter

Public Types

enum  BlendMode {
  Normal, Multiply, Screen, Darken,
  Lighten
}
 

Public Member Functions

 IlvBlendFilter (BlendMode mode=Normal)
 Constructor. More...
 
 ~IlvBlendFilter ()
 Destructor. More...
 
IlvBitmapDataapply (IlUInt count=0, const IlvBitmapData **datas=0)
 Applies the blending to the given images.
 
BlendMode getMode () const
 Returns the blending mode. More...
 
void setMode (BlendMode mode)
 Sets the mode used for blending the images. 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

Blend filter.

Library: ilvbmpflt

This bitmap filter lets you blend two images together using predefined modes.

See Also
IlvRGBBitmapData, IlvBitmapFilter BlendMode

Member Enumeration Documentation

This enumeration defines the possible values for the blend mode. For all blend modes, the resulting opacity is computed as follows: qr = 1 - (1 - qa) * (1 - qb)

For the blending formulas below, the following apply:

cr = Result color (RGB) - premultiplied
qa Opacity value at a given pixel for image A
qb Opacity value at a given pixel for image B
ca = Color (RGB) at a given pixel for image A - premultiplied
cb = Color (RGB) at a given pixel for image B - premultiplied

See Also
IlvBlendFilter::setMode, IlvBlendFilter::getMode
Enumerator
Normal 

The formula is: cr = (1 - qa) * cb + ca

Multiply 

The formula is: cr = (1 - qa) * cb + (1 - qb) * ca + ca * cb

Screen 

The formula is: cr = cb + ca - ca * cb

Darken 

The formula is: cr = Min((1 - qa) * cb + ca, (1 - qb) * ca + cb)

Lighten 

The formula is: Max((1 - qa) * cb + ca, (1 - qb) * ca + cb)

Constructor & Destructor Documentation

IlvBlendFilter::IlvBlendFilter ( BlendMode  mode = Normal)

Constructor.

Initializes a new instance of the class IlvBlendFilter.

IlvBlendFilter::~IlvBlendFilter ( )

Destructor.

The destructor releases all the memory used by the instance.

Member Function Documentation

BlendMode IlvBlendFilter::getMode ( ) const

Returns the blending mode.

Returns
The blending mode
See Also
BlendMode
void IlvBlendFilter::setMode ( BlendMode  mode)

Sets the mode used for blending the images.

Parameters
modeThe new blending mode.
See Also
BlendMode

© 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.