Krita Source Code Documentation
Loading...
Searching...
No Matches
KoCompositeOpDestinationIn.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2016 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
3
* SPDX-FileCopyrightText: 2012 José Luis Vergara <pentalis@gmail.com>
4
*
5
* SPDX-License-Identifier: LGPL-2.1-or-later
6
*/
7
8
#ifndef _KOCOMPOSITEOPDESTINATIONIN_H_
9
#define _KOCOMPOSITEOPDESTINATIONIN_H_
10
11
#include "
KoCompositeOpBase.h
"
12
18
template
<
class
CS_Traits>
19
class
KoCompositeOpDestinationIn
:
public
KoCompositeOpBase
<CS_Traits, KoCompositeOpDestinationIn<CS_Traits> >
20
{
21
typedef
KoCompositeOpBase<CS_Traits, KoCompositeOpDestinationIn<CS_Traits>
>
base_class
;
22
typedef
typename
CS_Traits::channels_type
channels_type
;
23
24
static
const
qint8
channels_nb
= CS_Traits::channels_nb;
25
static
const
qint8
alpha_pos
= CS_Traits::alpha_pos;
26
27
public
:
28
KoCompositeOpDestinationIn
(
const
KoColorSpace
* cs)
29
:
base_class
(cs,
COMPOSITE_DESTINATION_IN
,
KoCompositeOp
::
categoryMix
()) { }
30
31
public
:
32
template
<
bool
alphaLocked,
bool
allChannelFlags>
33
inline
static
channels_type
composeColorChannels
(
const
channels_type
* src,
channels_type
srcAlpha,
34
channels_type
* dst,
channels_type
dstAlpha,
35
channels_type
maskAlpha,
channels_type
opacity,
36
const
QBitArray& channelFlags ) {
37
using namespace
Arithmetic
;
38
Q_UNUSED(src);
39
Q_UNUSED(dst);
40
Q_UNUSED(channelFlags);
41
42
channels_type
appliedAlpha = mul(maskAlpha, srcAlpha, opacity);
43
44
channels_type
newDstAlpha = mul(dstAlpha, appliedAlpha);
45
46
return
newDstAlpha;
47
}
48
};
49
50
#endif
// _KOCOMPOSITEOPDESTINATIONIN_H_
KoCompositeOpBase.h
COMPOSITE_DESTINATION_IN
const QString COMPOSITE_DESTINATION_IN
Definition
KoCompositeOpRegistry.h:27
KoColorSpace
Definition
KoColorSpace.h:78
KoCompositeOpBase
Definition
KoCompositeOpBase.h:33
KoCompositeOpDestinationIn
Definition
KoCompositeOpDestinationIn.h:20
KoCompositeOpDestinationIn::KoCompositeOpDestinationIn
KoCompositeOpDestinationIn(const KoColorSpace *cs)
Definition
KoCompositeOpDestinationIn.h:28
KoCompositeOpDestinationIn::base_class
KoCompositeOpBase< CS_Traits, KoCompositeOpDestinationIn< CS_Traits > > base_class
Definition
KoCompositeOpDestinationIn.h:21
KoCompositeOpDestinationIn::alpha_pos
static const qint8 alpha_pos
Definition
KoCompositeOpDestinationIn.h:25
KoCompositeOpDestinationIn::channels_nb
static const qint8 channels_nb
Definition
KoCompositeOpDestinationIn.h:24
KoCompositeOpDestinationIn::composeColorChannels
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)
Definition
KoCompositeOpDestinationIn.h:33
KoCompositeOpDestinationIn::channels_type
CS_Traits::channels_type channels_type
Definition
KoCompositeOpDestinationIn.h:22
Arithmetic
Definition
KoColorSpaceMaths.h:721
KoCompositeOp
Definition
KoCompositeOp.cpp:107
KoCompositeOp::categoryMix
static QString categoryMix()
Definition
KoCompositeOp.cpp:41
libs
pigment
compositeops
KoCompositeOpDestinationIn.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52