00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <klocale.h>
00021
00022 #include "KoCompositeOp.h"
00023 #include "KoColorSpace.h"
00024
00025 KoCompositeOp::KoCompositeOp()
00026 {
00027
00028 }
00029
00030
00031 KoCompositeOp::KoCompositeOp(KoColorSpace * cs, const QString& id, const QString& description, const bool userVisible)
00032 : m_colorSpace( cs )
00033 , m_id( id )
00034 , m_description( description )
00035 , m_userVisible( userVisible )
00036 {
00037 }
00038
00039 void KoCompositeOp::composite(quint8 *dstRowStart, qint32 dstRowStride,
00040 const quint8 *srcRowStart, qint32 srcRowStride,
00041 const quint8 *maskRowStart, qint32 maskRowStride,
00042 qint32 rows, qint32 numColumns,
00043 quint8 opacity) const
00044 {
00045 if (m_defaultChannelFlags.isNull() || m_defaultChannelFlags.isEmpty()) {
00046 m_defaultChannelFlags.fill( true, m_colorSpace->nChannels() );
00047 }
00048
00049 composite( dstRowStart, dstRowStride,
00050 srcRowStart, srcRowStride,
00051 maskRowStart, maskRowStride,
00052 rows, numColumns,
00053 opacity, m_defaultChannelFlags);
00054 }
00055