Krita Source Code Documentation
Loading...
Searching...
No Matches
KisBurnHighlightsAdjustment< _channel_type_, traits > Class Template Reference
+ Inheritance diagram for KisBurnHighlightsAdjustment< _channel_type_, traits >:

Public Member Functions

 KisBurnHighlightsAdjustment ()
 
int parameterId (const QString &name) const override
 
QList< QString > parameters () const override
 
void setParameter (int id, const QVariant &parameter) override
 
void transform (const quint8 *srcU8, quint8 *dstU8, qint32 nPixels) const override
 
- Public Member Functions inherited from KoColorTransformation
virtual bool isValid () const
 
void setParameters (const QHash< QString, QVariant > &parameters)
 
virtual ~KoColorTransformation ()
 

Private Types

typedef RGBTrait::Pixel RGBPixel
 
typedef traits RGBTrait
 

Private Attributes

float exposure {0.0f}
 

Detailed Description

template<typename _channel_type_, typename traits>
class KisBurnHighlightsAdjustment< _channel_type_, traits >

Definition at line 24 of file kis_burnhighlights_adjustment.cpp.

Member Typedef Documentation

◆ RGBPixel

template<typename _channel_type_ , typename traits >
typedef RGBTrait::Pixel KisBurnHighlightsAdjustment< _channel_type_, traits >::RGBPixel
private

Definition at line 27 of file kis_burnhighlights_adjustment.cpp.

◆ RGBTrait

template<typename _channel_type_ , typename traits >
typedef traits KisBurnHighlightsAdjustment< _channel_type_, traits >::RGBTrait
private

Definition at line 26 of file kis_burnhighlights_adjustment.cpp.

Constructor & Destructor Documentation

◆ KisBurnHighlightsAdjustment()

template<typename _channel_type_ , typename traits >
KisBurnHighlightsAdjustment< _channel_type_, traits >::KisBurnHighlightsAdjustment ( )
inline

Definition at line 30 of file kis_burnhighlights_adjustment.cpp.

30{}

Member Function Documentation

◆ parameterId()

template<typename _channel_type_ , typename traits >
int KisBurnHighlightsAdjustment< _channel_type_, traits >::parameterId ( const QString & name) const
inlineoverridevirtual

Get the parameter id for a parameter name

Reimplemented from KoColorTransformation.

Definition at line 62 of file kis_burnhighlights_adjustment.cpp.

63 {
64 if (name == "exposure")
65 return 0;
66 return -1;
67 }

◆ parameters()

template<typename _channel_type_ , typename traits >
QList< QString > KisBurnHighlightsAdjustment< _channel_type_, traits >::parameters ( ) const
inlineoverridevirtual
Returns
the list of parameters

Reimplemented from KoColorTransformation.

Definition at line 55 of file kis_burnhighlights_adjustment.cpp.

56 {
57 QList<QString> list;
58 list << "exposure";
59 return list;
60 }

◆ setParameter()

template<typename _channel_type_ , typename traits >
void KisBurnHighlightsAdjustment< _channel_type_, traits >::setParameter ( int id,
const QVariant & parameter )
inlineoverridevirtual

Update one parameter of a cached transformation object.

Reimplemented from KoColorTransformation.

Definition at line 69 of file kis_burnhighlights_adjustment.cpp.

70 {
71 switch(id)
72 {
73 case 0:
74 exposure = parameter.toDouble();
75 break;
76 default:
77 ;
78 }
79 }

References KisBurnHighlightsAdjustment< _channel_type_, traits >::exposure.

◆ transform()

template<typename _channel_type_ , typename traits >
void KisBurnHighlightsAdjustment< _channel_type_, traits >::transform ( const quint8 * src,
quint8 * dst,
qint32 nPixels ) const
inlineoverridevirtual

This function apply the transformation on a given number of pixels.

Parameters
srca pointer to the source pixels
dsta pointer to the destination pixels
nPixelsthe number of pixels

This function may or may not be thread safe. You need to create one KoColorTransformation per thread.

Implements KoColorTransformation.

Definition at line 32 of file kis_burnhighlights_adjustment.cpp.

33 {
34 const RGBPixel* src = reinterpret_cast<const RGBPixel*>(srcU8);
35 RGBPixel* dst = reinterpret_cast<RGBPixel*>(dstU8);
36 float value_red, value_green, value_blue;
37 const float factor(1.0 - exposure * (0.33333));
38 while(nPixels > 0) {
39
41 value_green = factor * KoColorSpaceMaths<_channel_type_, float>::scaleToA(src->green);
43
47 dst->alpha = src->alpha;
48
49 --nPixels;
50 ++src;
51 ++dst;
52 }
53 }
static _Tdst scaleToA(_T a)

References KisBurnHighlightsAdjustment< _channel_type_, traits >::exposure, and KoColorSpaceMaths< _T, _Tdst >::scaleToA().

Member Data Documentation

◆ exposure

template<typename _channel_type_ , typename traits >
float KisBurnHighlightsAdjustment< _channel_type_, traits >::exposure {0.0f}
private

Definition at line 82 of file kis_burnhighlights_adjustment.cpp.

82{0.0f};

The documentation for this class was generated from the following file: