Krita Source Code Documentation
Loading...
Searching...
No Matches
AlphaColorSpaceMultiplyOp< Traits > Class Template Reference
+ Inheritance diagram for AlphaColorSpaceMultiplyOp< Traits >:

Public Member Functions

 AlphaColorSpaceMultiplyOp (const KoColorSpace *cs)
 
- Public Member Functions inherited from KoCompositeOpBase< Traits, AlphaColorSpaceMultiplyOp< Traits > >
void composite (const KoCompositeOp::ParameterInfo &params) const override
 
virtual void composite (const ParameterInfo &params) const
 
void composite (quint8 *dstRowStart, qint32 dstRowStride, const quint8 *srcRowStart, qint32 srcRowStride, const quint8 *maskRowStart, qint32 maskRowStride, qint32 rows, qint32 numColumns, float opacity, const QBitArray &channelFlags=QBitArray()) const
 
 KoCompositeOpBase (const KoColorSpace *cs, const QString &id, const QString &category)
 
- Public Member Functions inherited from KoCompositeOp
QString category () const
 
const KoColorSpacecolorSpace () const
 
void composite (quint8 *dstRowStart, qint32 dstRowStride, const quint8 *srcRowStart, qint32 srcRowStride, const quint8 *maskRowStart, qint32 maskRowStride, qint32 rows, qint32 numColumns, float opacity, const QBitArray &channelFlags=QBitArray()) const
 
QString description () const
 
QString id () const
 
 KoCompositeOp (const KoColorSpace *cs, const QString &id, const QString &category=KoCompositeOp::categoryMisc())
 
virtual ~KoCompositeOp ()
 
- Public Member Functions inherited from Private
 Private (KisCanvas2 *c)
 

Static Public Member Functions

template<bool alphaLocked, bool allChannelFlags>
static channels_type composeColorChannels (const channels_type *src, channels_type srcAlpha, channels_type *dst, channels_type dstAlpha, channels_type maskAlpha, channels_type opacity, const QBitArray &channelFlags)
 
- Static Public Member Functions inherited from KoCompositeOp
static QString categoryArithmetic ()
 
static QString categoryBinary ()
 
static QString categoryDark ()
 
static QString categoryHSI ()
 
static QString categoryHSL ()
 
static QString categoryHSV ()
 
static QString categoryHSY ()
 
static QString categoryLight ()
 
static QString categoryMisc ()
 
static QString categoryMix ()
 
static QString categoryModulo ()
 
static QString categoryNegative ()
 
static QString categoryQuadratic ()
 

Private Types

typedef KoCompositeOpBase< Traits, AlphaColorSpaceMultiplyOp< Traits > > base_class
 
typedef Traits::channels_type channels_type
 

Additional Inherited Members

- Public Attributes inherited from KoCompositeOp
QString category
 
const KoColorSpacecolorSpace
 
QBitArray defaultChannelFlags
 
QString description
 
QString id
 
- Public Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 

Detailed Description

template<class Traits>
class AlphaColorSpaceMultiplyOp< Traits >

Definition at line 40 of file KoAlphaColorSpace.cpp.

Member Typedef Documentation

◆ base_class

template<class Traits >
typedef KoCompositeOpBase<Traits, AlphaColorSpaceMultiplyOp<Traits> > AlphaColorSpaceMultiplyOp< Traits >::base_class
private

Definition at line 42 of file KoAlphaColorSpace.cpp.

◆ channels_type

template<class Traits >
typedef Traits::channels_type AlphaColorSpaceMultiplyOp< Traits >::channels_type
private

Definition at line 43 of file KoAlphaColorSpace.cpp.

Constructor & Destructor Documentation

◆ AlphaColorSpaceMultiplyOp()

template<class Traits >
AlphaColorSpaceMultiplyOp< Traits >::AlphaColorSpaceMultiplyOp ( const KoColorSpace * cs)
inline

Definition at line 46 of file KoAlphaColorSpace.cpp.

const QString COMPOSITE_MULT
KoCompositeOpBase< Traits, AlphaColorSpaceMultiplyOp< Traits > > base_class
static QString categoryArithmetic()

Member Function Documentation

◆ composeColorChannels()

template<class Traits >
template<bool alphaLocked, bool allChannelFlags>
static channels_type AlphaColorSpaceMultiplyOp< Traits >::composeColorChannels ( const channels_type * src,
channels_type srcAlpha,
channels_type * dst,
channels_type dstAlpha,
channels_type maskAlpha,
channels_type opacity,
const QBitArray & channelFlags )
inlinestatic

Definition at line 51 of file KoAlphaColorSpace.cpp.

53 {
54 using namespace Arithmetic;
55
56 Q_UNUSED(allChannelFlags);
57 Q_UNUSED(src);
58 Q_UNUSED(dst);
59 Q_UNUSED(channelFlags);
60
61 if (!alphaLocked) {
62 // use internal parallelism for multiplication!
63 srcAlpha = mul(srcAlpha, maskAlpha);
64 dstAlpha = mul(dstAlpha, opacity);
65 dstAlpha = mul(srcAlpha, dstAlpha);
66 }
67
68 return dstAlpha;
69 }
T mul(T a, T b)

The documentation for this class was generated from the following file: