|
Krita Source Code Documentation
|
#include <KoOptimizedCompositeOpAlphaDarken32.h>
Public Types | |
| using | ParamsWrapper = ParamsWrapperT |
Static Public Member Functions | |
| template<bool haveMask, typename _impl > | |
| static ALWAYS_INLINE void | compositeOnePixelScalar (const channels_type *src, channels_type *dst, const quint8 *mask, float opacity, const ParamsWrapper &oparams) |
| template<bool haveMask, bool src_aligned, typename _impl > | |
| static ALWAYS_INLINE void | compositeVector (const quint8 *src, quint8 *dst, const quint8 *mask, float opacity, const ParamsWrapper &oparams) |
Definition at line 18 of file KoOptimizedCompositeOpAlphaDarken32.h.
| using AlphaDarkenCompositor32< channels_type, pixel_type, ParamsWrapperT >::ParamsWrapper = ParamsWrapperT |
Definition at line 19 of file KoOptimizedCompositeOpAlphaDarken32.h.
|
inlinestatic |
Composes one pixel of the source into the destination
Definition at line 154 of file KoOptimizedCompositeOpAlphaDarken32.h.
References lerp(), KoStreamedMath< _impl >::lerp_mixed_u8_float(), and KoStreamedMath< _impl >::round_float_to_u8().
|
inlinestatic |
This is a vector equivalent of compositeOnePixelScalar(). It is considered to process float_v::size pixels in a single pass.
o the haveMask parameter points whether the real (non-null) mask pointer is passed to the function. o the src pointer may be aligned to vector boundary or may be not. In case not, it must be pointed with a special parameter src_aligned. o the dst pointer must always(!) be aligned to the boundary of a streaming vector. Unaligned writes are really expensive.
Definition at line 34 of file KoOptimizedCompositeOpAlphaDarken32.h.
References KoStreamedMath< _impl >::fetch_mask_8(), and KoStreamedMath< _impl >::write_channels_32().