Krita Source Code Documentation
Loading...
Searching...
No Matches
HSLPolicy Struct Reference

Public Member Functions

float fixupChroma (float c, float v)
 
bool hasChroma (float v)
 
float valueFromRGB (float r, float g, float b, float m, float M)
 
void writeRGB (float *r, float *g, float *b, int sextant, float x, float c, float v)
 

Detailed Description

Definition at line 110 of file kis_hsv_adjustment.cpp.

Member Function Documentation

◆ fixupChroma()

float HSLPolicy::fixupChroma ( float c,
float v )
inline

Definition at line 124 of file kis_hsv_adjustment.cpp.

124 {
125 if (v >= 0.5f) {
126 c = qMin(c, 2.0f - 2.0f * v);
127 } else {
128 c = qMin(c, 2.0f * v);
129 }
130
131 return c;
132 }
qreal v

References v.

◆ hasChroma()

bool HSLPolicy::hasChroma ( float v)
inline

Definition at line 112 of file kis_hsv_adjustment.cpp.

112 {
113 static const float EPSILON = 1e-9f;
114 return v > EPSILON && v < 1.0f - EPSILON;
115 }
#define EPSILON

References EPSILON, and v.

◆ valueFromRGB()

float HSLPolicy::valueFromRGB ( float r,
float g,
float b,
float m,
float M )
inline

Definition at line 117 of file kis_hsv_adjustment.cpp.

117 {
118 Q_UNUSED(r);
119 Q_UNUSED(g);
120 Q_UNUSED(b);
121 return 0.5f * (M + m);
122 }

◆ writeRGB()

void HSLPolicy::writeRGB ( float * r,
float * g,
float * b,
int sextant,
float x,
float c,
float v )
inline

Definition at line 134 of file kis_hsv_adjustment.cpp.

136 {
137
138 const float M = v + 0.5f * c;
139 const float m = v - 0.5f * c;
140
141 writeRGBSimple(r, g, b, sextant, x, m, M);
142 }
static void writeRGBSimple(float *r, float *g, float *b, int sextant, float x, float m, float M)

References v, and writeRGBSimple().


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