Krita Source Code Documentation
Loading...
Searching...
No Matches
KoMixColorsOp.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2005 Boudewijn Rempt <boud@valdyas.org>
3 * SPDX-FileCopyrightText: 2006-2007 Cyrille Berger <cberger@cberger.net>
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7#ifndef KO_MIX_COLORS_OP_H
8#define KO_MIX_COLORS_OP_H
9
10#include <limits.h>
11
18{
19public:
20
24 class Mixer
25 {
26 public:
27 virtual ~Mixer() {}
32 virtual void accumulate(const quint8 *data, const qint16 *weights, int weightSum, int nPixels) = 0;
33
39 virtual void accumulateAverage(const quint8 *data, int nPixels) = 0;
40
45 virtual void computeMixedColor(quint8 *data) = 0;
46
52 virtual qint64 currentWeightsSum() const = 0;
53 };
54
55 virtual Mixer* createMixer() const = 0;
56
57public:
58 virtual ~KoMixColorsOp() { }
85 virtual void mixColors(const quint8 * const*colors, const qint16 *weights, int nColors, quint8 *dst, int weightSum = 255) const = 0;
86 virtual void mixColors(const quint8 *colors, const qint16 *weights, int nColors, quint8 *dst, int weightSum = 255) const = 0;
87
88
105 virtual void mixColors(const quint8 * const*colors, int nColors, quint8 *dst) const = 0;
106 virtual void mixColors(const quint8 *colors, int nColors, quint8 *dst) const = 0;
107
114 virtual void mixTwoColorArrays(const quint8* colorsA, const quint8* colorsB, int nColors, qreal weight, quint8* dst) const = 0;
115
122 virtual void mixArrayWithColor(const quint8* colorArray, const quint8* color, int nColors, qreal weight, quint8* dst) const = 0;
123};
124
125#endif
virtual void accumulate(const quint8 *data, const qint16 *weights, int weightSum, int nPixels)=0
virtual qint64 currentWeightsSum() const =0
virtual void accumulateAverage(const quint8 *data, int nPixels)=0
virtual void computeMixedColor(quint8 *data)=0
virtual Mixer * createMixer() const =0
virtual void mixTwoColorArrays(const quint8 *colorsA, const quint8 *colorsB, int nColors, qreal weight, quint8 *dst) const =0
virtual ~KoMixColorsOp()
virtual void mixColors(const quint8 *colors, const qint16 *weights, int nColors, quint8 *dst, int weightSum=255) const =0
virtual void mixColors(const quint8 *const *colors, int nColors, quint8 *dst) const =0
virtual void mixColors(const quint8 *colors, int nColors, quint8 *dst) const =0
virtual void mixArrayWithColor(const quint8 *colorArray, const quint8 *color, int nColors, qreal weight, quint8 *dst) const =0
virtual void mixColors(const quint8 *const *colors, const qint16 *weights, int nColors, quint8 *dst, int weightSum=255) const =0