21#include <klocalizedstring.h>
24#include <kpluginfactory.h>
87 const QRect& applyRect,
91 Q_ASSERT(device != 0);
108 pixCount += histogram.
getValue(binnum);
109 if (pixCount > twoPercent) {
118 pixCount += histogram.
getValue(binnum);
119 if (pixCount > twoPercent) {
126 int diff = maxvalue - minvalue;
128 QScopedArrayPointer<quint16> transfer(
new quint16[256]);
129 for (
int i = 0; i < 255; i++)
130 transfer[i] = 0xFFFF;
133 for (
int i = 0; i < minvalue; i++)
135 for (
int i = minvalue; i < maxvalue; i++) {
136 qint32 val = int((0xFFFF * (i - minvalue)) / diff);
144 for (
int i = maxvalue; i < 256; i++)
145 transfer[i] = 0xFFFF;
162#include "colorsfilters.moc"
~ColorsFilters() override
ColorsFilters(QObject *parent, const QVariantList &)
void processImpl(KisPaintDeviceSP device, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override
void add(KisFilterSP item)
static KisFilterRegistry * instance()
quint32 getCount()
This function return the number of pixels used by the histogram.
void setChannel(qint32 channel)
quint32 getValue(quint8 i)
KoHistogramProducer * producer()
Calculations calculations()
const KoColorSpace * colorSpace() const
bool nextPixels(int numPixels)
ALWAYS_INLINE quint8 * rawData()
int nConseqPixels() const
ALWAYS_INLINE const quint8 * oldRawData() const
virtual KoColorTransformation * createBrightnessContrastAdjustment(const quint16 *transferValues) const =0
virtual qint32 numberOfBins()=0
K_PLUGIN_FACTORY_WITH_JSON(KritaASCCDLFactory, "kritaasccdl.json", registerPlugin< KritaASCCDL >();) KritaASCCDL
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
const KoID FiltersCategoryAdjustId("adjust_filters", ki18nc("The category of color adjustment filters, like levels. Verb.", "Adjust"))
void setSupportsThreading(bool v)
void setShowConfigurationWidget(bool v)
void setSupportsAdjustmentLayers(bool v)
void setSupportsPainting(bool v)
void setColorSpaceIndependence(ColorSpaceIndependence v)