22template<
typename _TYPE>
25 const _TYPE* sT =
reinterpret_cast<const _TYPE*
>(s);
26 _TYPE* dT =
reinterpret_cast<_TYPE*
>(d);
28 for (
uint i = 1; i < nbpixels; i ++) {
33 for (
uint i = 0; i < nbpixels; i ++) {
40template<
typename _TYPE>
43 const _TYPE* sT =
reinterpret_cast<const _TYPE*
>(s);
44 _TYPE* dT =
reinterpret_cast<_TYPE*
>(d);
46 for (
uint i = 1; i < nbpixels; i ++) {
51 for (
uint i = 0; i < nbpixels; i ++) {
73 Q_ASSERT(device != 0);
81 F = & maximize<quint8>;
83 F = & maximize<quint16>;
85 F = & maximize<float>;
110 Q_ASSERT(device != 0);
118 F = & minimize<quint8>;
120 F = & minimize<quint16>;
122 F = & minimize<float>;
void processImpl(KisPaintDeviceSP src, const QRect &size, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override
void processImpl(KisPaintDeviceSP device, const QRect &rect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override
void setSupportsLevelOfDetail(bool value)
const KoColorSpace * colorSpace() const
ALWAYS_INLINE quint8 * rawData()
ALWAYS_INLINE const quint8 * oldRawData() const
enumChannelValueType
enum to define the value of the channel
@ UINT8
use this for an unsigned integer 8bits channel
@ UINT16
use this for an integer 16bits channel
@ INT16
use this for an integer 16bits channel
@ INT8
use this for an integer 8bits channel
@ FLOAT32
use this for a float 32bits channel
QList< KoChannelInfo * > channels
virtual quint32 colorChannelCount() const =0
const KoID FiltersCategoryColorId("color_filters", ki18nc("The category of color transfer filters, like color to alpha. Noun.", "Colors"))
void(* funcMaxMin)(const quint8 *, quint8 *, uint)
void maximize(const quint8 *s, quint8 *d, uint nbpixels)
void minimize(const quint8 *s, quint8 *d, uint nbpixels)
typedef void(QOPENGLF_APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer)
void setShowConfigurationWidget(bool v)
void setSupportsPainting(bool v)
void setColorSpaceIndependence(ColorSpaceIndependence v)