@ -44,8 +44,8 @@ namespace {
const TQ_INT32 MAX_CHANNEL_RGBA = 4 ;
}
KisRgbColorSpace : : KisRgbColorSpace ( KisColorSpaceFactoryRegistry * tq parent, KisProfile * p ) :
KisU8BaseColorSpace ( KisID ( " RGBA " , i18n ( " RGB (8-bit integer/channel) " ) ) , TYPE_BGRA_8 , icSigRgbData , tq parent, p )
KisRgbColorSpace : : KisRgbColorSpace ( KisColorSpaceFactoryRegistry * parent, KisProfile * p ) :
KisU8BaseColorSpace ( KisID ( " RGBA " , i18n ( " RGB (8-bit integer/channel) " ) ) , TYPE_BGRA_8 , icSigRgbData , parent, p )
{
m_channels . push_back ( new KisChannelInfo ( i18n ( " Red " ) , i18n ( " R " ) , 2 , KisChannelInfo : : COLOR , KisChannelInfo : : UINT8 , 1 , TQColor ( 255 , 0 , 0 ) ) ) ;
m_channels . push_back ( new KisChannelInfo ( i18n ( " Green " ) , i18n ( " G " ) , 1 , KisChannelInfo : : COLOR , KisChannelInfo : : UINT8 , 1 , TQColor ( 0 , 255 , 0 ) ) ) ;
@ -272,19 +272,19 @@ void KisRgbColorSpace::compositeOver(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStrid
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
TQ_INT32 columns = numColumns ;
while ( columns > 0 ) {
TQ_UINT8 srcAlpha = src [ PIXEL_ALPHA ] ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( srcAlpha ! = OPACITY_TRANSPARENT ) {
@ -346,7 +346,7 @@ void KisRgbColorSpace::compositeAlphaDarken(TQ_UINT8 *dstRowStart, TQ_INT32 dstR
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
TQ_INT32 columns = numColumns ;
while ( columns > 0 ) {
@ -354,12 +354,12 @@ void KisRgbColorSpace::compositeAlphaDarken(TQ_UINT8 *dstRowStart, TQ_INT32 dstR
TQ_UINT8 srcAlpha = src [ PIXEL_ALPHA ] ;
TQ_UINT8 dstAlpha = dst [ PIXEL_ALPHA ] ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( opacity ! = OPACITY_OPAQUE ) {
@ -392,7 +392,7 @@ void KisRgbColorSpace::compositeMultiply(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowS
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -401,12 +401,12 @@ void KisRgbColorSpace::compositeMultiply(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowS
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
@ -473,7 +473,7 @@ void KisRgbColorSpace::compositeDivide(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStr
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -482,12 +482,12 @@ void KisRgbColorSpace::compositeDivide(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStr
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( srcAlpha ! = OPACITY_TRANSPARENT ) {
@ -544,7 +544,7 @@ void KisRgbColorSpace::compositeScreen(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStr
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -553,12 +553,12 @@ void KisRgbColorSpace::compositeScreen(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStr
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( srcAlpha ! = OPACITY_TRANSPARENT ) {
@ -615,7 +615,7 @@ void KisRgbColorSpace::compositeOverlay(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowSt
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -624,12 +624,12 @@ void KisRgbColorSpace::compositeOverlay(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowSt
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
@ -687,7 +687,7 @@ void KisRgbColorSpace::compositeDodge(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStri
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -696,12 +696,12 @@ void KisRgbColorSpace::compositeDodge(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStri
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
@ -759,7 +759,7 @@ void KisRgbColorSpace::compositeBurn(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStrid
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -768,12 +768,12 @@ void KisRgbColorSpace::compositeBurn(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStrid
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( srcAlpha ! = OPACITY_TRANSPARENT ) {
@ -831,7 +831,7 @@ void KisRgbColorSpace::compositeDarken(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStr
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -840,12 +840,12 @@ void KisRgbColorSpace::compositeDarken(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStr
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( srcAlpha ! = OPACITY_TRANSPARENT ) {
@ -902,7 +902,7 @@ void KisRgbColorSpace::compositeLighten(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowSt
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -911,12 +911,12 @@ void KisRgbColorSpace::compositeLighten(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowSt
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( srcAlpha ! = OPACITY_TRANSPARENT ) {
@ -973,7 +973,7 @@ void KisRgbColorSpace::compositeHue(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStride
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -982,12 +982,12 @@ void KisRgbColorSpace::compositeHue(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStride
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( srcAlpha ! = OPACITY_TRANSPARENT ) {
@ -1056,7 +1056,7 @@ void KisRgbColorSpace::compositeSaturation(TQ_UINT8 *dstRowStart, TQ_INT32 dstRo
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -1065,12 +1065,12 @@ void KisRgbColorSpace::compositeSaturation(TQ_UINT8 *dstRowStart, TQ_INT32 dstRo
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( srcAlpha ! = OPACITY_TRANSPARENT ) {
@ -1139,7 +1139,7 @@ void KisRgbColorSpace::compositeValue(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStri
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -1148,12 +1148,12 @@ void KisRgbColorSpace::compositeValue(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStri
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( srcAlpha ! = OPACITY_TRANSPARENT ) {
@ -1222,7 +1222,7 @@ void KisRgbColorSpace::compositeColor(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStri
const TQ_UINT8 * src = srcRowStart ;
TQ_UINT8 * dst = dstRowStart ;
TQ_INT32 columns = numColumns ;
const TQ_UINT8 * tq mask = maskRowStart ;
const TQ_UINT8 * mask = maskRowStart ;
while ( columns > 0 ) {
@ -1231,12 +1231,12 @@ void KisRgbColorSpace::compositeColor(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStri
srcAlpha = TQMIN ( srcAlpha , dstAlpha ) ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_MULT ( srcAlpha , * mask) ;
mask+ + ;
}
if ( srcAlpha ! = OPACITY_TRANSPARENT ) {
@ -1315,17 +1315,17 @@ void KisRgbColorSpace::compositeErase(TQ_UINT8 *dst,
{
const TQ_UINT8 * s = src ;
TQ_UINT8 * d = dst ;
const TQ_UINT8 * tq mask = srcAlphaMask ;
const TQ_UINT8 * mask = srcAlphaMask ;
for ( i = cols ; i > 0 ; i - - , s + = MAX_CHANNEL_RGBA , d + = MAX_CHANNEL_RGBA )
{
srcAlpha = s [ PIXEL_ALPHA ] ;
// apply the alpha tq mask
if ( tq mask ! = 0 )
// apply the alpha mask
if ( mask ! = 0 )
{
if ( * tq mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_BLEND ( srcAlpha , OPACITY_OPAQUE , * tq mask) ;
tq mask+ + ;
if ( * mask ! = OPACITY_OPAQUE )
srcAlpha = UINT8_BLEND ( srcAlpha , OPACITY_OPAQUE , * mask) ;
mask+ + ;
}
d [ PIXEL_ALPHA ] = UINT8_MULT ( srcAlpha , d [ PIXEL_ALPHA ] ) ;
}
@ -1341,7 +1341,7 @@ void KisRgbColorSpace::bitBlt(TQ_UINT8 *dst,
TQ_INT32 dstRowStride ,
const TQ_UINT8 * src ,
TQ_INT32 srcRowStride ,
const TQ_UINT8 * tq mask,
const TQ_UINT8 * mask,
TQ_INT32 maskRowStride ,
TQ_UINT8 opacity ,
TQ_INT32 rows ,
@ -1354,10 +1354,10 @@ void KisRgbColorSpace::bitBlt(TQ_UINT8 *dst,
// Undefined == no composition
break ;
case COMPOSITE_OVER :
compositeOver ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeOver ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_ALPHA_DARKEN :
compositeAlphaDarken ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeAlphaDarken ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_IN :
compositeIn ( pixelSize ( ) , dst , dstRowStride , src , srcRowStride , rows , cols , opacity ) ;
@ -1387,16 +1387,16 @@ void KisRgbColorSpace::bitBlt(TQ_UINT8 *dst,
compositeDiff ( pixelSize ( ) , dst , dstRowStride , src , srcRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_MULT :
compositeMultiply ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeMultiply ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_DIVIDE :
compositeDivide ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeDivide ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_BUMPMAP :
compositeBumpmap ( pixelSize ( ) , dst , dstRowStride , src , srcRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_COPY :
compositeCopy ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeCopy ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_COPY_RED :
compositeCopyRed ( pixelSize ( ) , dst , dstRowStride , src , srcRowStride , rows , cols , opacity ) ;
@ -1431,22 +1431,22 @@ void KisRgbColorSpace::bitBlt(TQ_UINT8 *dst,
// No composition.
break ;
case COMPOSITE_DARKEN :
compositeDarken ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeDarken ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_LIGHTEN :
compositeLighten ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeLighten ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_HUE :
compositeHue ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeHue ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_SATURATION :
compositeSaturation ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeSaturation ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_VALUE :
compositeValue ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeValue ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_COLOR :
compositeColor ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeColor ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_COLORIZE :
compositeColorize ( pixelSize ( ) , dst , dstRowStride , src , srcRowStride , rows , cols , opacity ) ;
@ -1455,19 +1455,19 @@ void KisRgbColorSpace::bitBlt(TQ_UINT8 *dst,
compositeLuminize ( pixelSize ( ) , dst , dstRowStride , src , srcRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_SCREEN :
compositeScreen ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeScreen ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_OVERLAY :
compositeOverlay ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeOverlay ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_ERASE :
compositeErase ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeErase ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_DODGE :
compositeDodge ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeDodge ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
case COMPOSITE_BURN :
compositeBurn ( dst , dstRowStride , src , srcRowStride , tq mask, maskRowStride , rows , cols , opacity ) ;
compositeBurn ( dst , dstRowStride , src , srcRowStride , mask, maskRowStride , rows , cols , opacity ) ;
break ;
default :
break ;