Krita Source Code Documentation
Loading...
Searching...
No Matches
KoTriangleColorSelector Class Reference

#include <KoTriangleColorSelector.h>

+ Inheritance diagram for KoTriangleColorSelector:

Public Slots

void setHSV (int h, int s, int v)
 
void setHue (int h)
 
void setSaturation (int s)
 
void setValue (int v)
 
void slotSetColor (const KoColor &) override
 
- Public Slots inherited from KisColorSelectorInterface
virtual void slotSetColor (const KoColor &c)=0
 
virtual void slotSetColorSpace (const KoColorSpace *cs)
 slotSetColorSpace Set the color space the selector should cover
 

Signals

void colorChanged (const QColor &)
 
void requestCloseContainer ()
 
- Signals inherited from KisColorSelectorInterface
void sigNewColor (const KoColor &c)
 

Public Member Functions

KoColor getCurrentColor () const override
 
int hue () const
 
void init ()
 
 KoTriangleColorSelector (const KoColorDisplayRendererInterface *displayRenderer, QWidget *parent)
 
 KoTriangleColorSelector (QWidget *parent)
 
 Private (KoTriangleColorSelector *_q, const KoColorDisplayRendererInterface *_displayRenderer)
 
int saturation () const
 
int value () const
 
 ~KoTriangleColorSelector () override
 
- Public Member Functions inherited from Private
 Private (KisCanvas2 *c)
 
- Public Member Functions inherited from KisColorSelectorInterface
 KisColorSelectorInterface (QWidget *parent=0)
 
virtual void setConfig (bool forceCircular, bool forceSelfUpdate)
 
virtual void setDisplayRenderer (const KoColorDisplayRendererInterface *displayRenderer)
 
 ~KisColorSelectorInterface () override
 

Public Attributes

qreal centerColorSelector {0.0}
 
const KoColorDisplayRendererInterfacedisplayRenderer {nullptr}
 
CurrentHandle handle {NoHandle}
 
int hue {0}
 
bool invalidTriangle {true}
 
int lastX {-1}
 
int lastY {-1}
 
qreal normExt {0.0}
 
qreal normInt {0.0}
 
KoTriangleColorSelectorq {nullptr}
 
int saturation {0}
 
int sizeColorSelector {0}
 
qreal triangleBottom {0.0}
 
qreal triangleHandleSize {0.0}
 
qreal triangleHeight {0.0}
 
qreal triangleLength {0.0}
 
QPixmap trianglePixmap
 
qreal triangleRadius {0.0}
 
qreal triangleTop {0.0}
 
bool updateAllowed {true}
 
QTimer updateTimer
 
int value {0}
 
qreal wheelInnerRadius {0.0}
 
qreal wheelNormExt {0.0}
 
qreal wheelNormInt {0.0}
 
QPixmap wheelPixmap
 
qreal wheelWidth {0.0}
 
qreal wheelWidthProportion {0.0}
 
- Public Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 

Protected Member Functions

void mouseMoveEvent (QMouseEvent *event) override
 
void mousePressEvent (QMouseEvent *event) override
 
void mouseReleaseEvent (QMouseEvent *event) override
 
void paintEvent (QPaintEvent *event) override
 
void resizeEvent (QResizeEvent *event) override
 

Private Slots

void configurationChanged ()
 

Private Member Functions

void generateTriangle ()
 
void generateWheel ()
 
void selectColorAt (int x, int y, bool checkInWheel=true)
 
void tellColorChanged ()
 
void updateTriangleCircleParameters ()
 

Private Attributes

Private *const d
 

Detailed Description

Definition at line 24 of file KoTriangleColorSelector.cpp.

Constructor & Destructor Documentation

◆ KoTriangleColorSelector() [1/2]

KoTriangleColorSelector::KoTriangleColorSelector ( QWidget * parent)
explicit

Definition at line 76 of file KoTriangleColorSelector.cpp.

79{
80 d->init();
81}
KisColorSelectorInterface(QWidget *parent=0)
static KoColorDisplayRendererInterface * instance()

References d.

◆ KoTriangleColorSelector() [2/2]

KoTriangleColorSelector::KoTriangleColorSelector ( const KoColorDisplayRendererInterface * displayRenderer,
QWidget * parent )
explicit

Definition at line 83 of file KoTriangleColorSelector.cpp.

85 d(new Private(this, displayRenderer))
86{
87 d->init();
88 connect(displayRenderer, SIGNAL(displayConfigurationChanged()), this, SLOT(configurationChanged()), Qt::UniqueConnection);
89}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
const KoColorDisplayRendererInterface * displayRenderer

References configurationChanged(), connect(), d, and displayRenderer.

◆ ~KoTriangleColorSelector()

KoTriangleColorSelector::~KoTriangleColorSelector ( )
override

Definition at line 91 of file KoTriangleColorSelector.cpp.

92{
93 delete d;
94}

References d.

Member Function Documentation

◆ colorChanged

void KoTriangleColorSelector::colorChanged ( const QColor & )
signal

◆ configurationChanged

void KoTriangleColorSelector::configurationChanged ( )
privateslot

Definition at line 446 of file KoTriangleColorSelector.cpp.

447{
449 d->invalidTriangle = true;
450 update();
451}
bool update(QSpinBox *spinBox)

References d, and generateWheel().

◆ generateTriangle()

void KoTriangleColorSelector::generateTriangle ( )
private

Definition at line 272 of file KoTriangleColorSelector.cpp.

273{
274 QSize size = QSize(1, 1)*d->sizeColorSelector*devicePixelRatioF(); // use when int needed
275 QImage image(size, QImage::Format_ARGB32);
276 image.setDevicePixelRatio(devicePixelRatioF());
277
278 // Length of triangle
279 int hue_ = hue();
280
281 qreal triangleTop = d->triangleTop*devicePixelRatioF();
282 qreal triangleBottom = d->triangleBottom*devicePixelRatioF();
283
284 for(int y = 0; y < size.height(); ++y)
285 {
286 qreal ynormalize = ( triangleTop - y ) / ( triangleTop - triangleBottom );
287 qreal v = 255 * ynormalize;
288 qreal ls_ = (ynormalize) * d->triangleLength*devicePixelRatioF();
289 qreal xStart = d->centerColorSelector*devicePixelRatioF() - 0.5 * ls_;
290 qreal xEnd = xStart + ls_;
291 qreal xMin = xStart - 1.0;
292 qreal xMax = xEnd + 1.0;
293 uint* data = reinterpret_cast<uint*>(image.scanLine(y));
294 for(int x = 0; x < size.width(); ++x, ++data)
295 {
296 if (v < -1.0 || v > 256.0 || x < xMin || x > xMax)
297 {
298 *data = qRgba(0,0,0,0);
299 } else {
300 qreal s = 0.0;
301 qreal va = 1.0, sa = 1.0;
302 if( v < 0.0) { va = 1.0 + v; v = 0; }
303 else if( v > 255.0 ) { va = 256.0 - v; v = 255; }
304
305 if (x < xStart) {
306 sa = x - xMin;
307 } else if (x > xEnd) {
308 sa = xMax - x;
309 s = 255;
310 }
311 // avoid NaN values if we hit the triangle tip where ls_ is zero
312 // (and black has undefined saturation anyway)
313 else if (ls_ > 0.01) {
314 s = 255 * (x - xStart) / ls_;
315 }
316 qreal coeff = va * sa;
317
318 KoColor color = d->displayRenderer->fromHsv(hue_, s, v, int(coeff * 255.0));
319 QColor qcolor = d->displayRenderer->toQColor(color);
320
321 *data = qcolor.rgba();
322 }
323 }
324 }
325
326 d->trianglePixmap = QPixmap::fromImage(image);
327 d->invalidTriangle = false;
328}
qreal v
unsigned int uint
int size(const Forest< T > &forest)
Definition KisForest.h:1232

References d, hue, triangleBottom, triangleTop, and v.

◆ generateWheel()

void KoTriangleColorSelector::generateWheel ( )
private

Definition at line 330 of file KoTriangleColorSelector.cpp.

331{
332 QSize size = QSize(1, 1)*d->sizeColorSelector*devicePixelRatioF(); // use only when int needed
333 QImage image(size, QImage::Format_ARGB32);
334 image.setDevicePixelRatio(devicePixelRatioF());
335
336 // the -0.5 ensures dimensions are respective to pixel centers and hence symmetrical
337 qreal center = d->centerColorSelector*devicePixelRatioF() - 0.5;
338 qreal wheelNormExt = d->wheelNormExt*devicePixelRatioF() - 0.5;
339 qreal wheelNormInt = d->wheelNormInt*devicePixelRatioF() - 0.5;
340
341
342 for(int y = 0; y < size.height(); y++)
343 {
344 qreal yc = y - center;
345 qreal y2 = pow2( yc );
346 for(int x = 0; x < size.width(); x++)
347 {
348 qreal xc = x - center;
349 qreal norm = sqrt(pow2( xc ) + y2);
350 if( norm <= wheelNormExt + 1.0 && norm >= wheelNormInt - 1.0 )
351 {
352 qreal acoef = 1.0;
353 if(norm > wheelNormExt ) acoef = (1.0 + wheelNormExt - norm);
354 else if(norm < wheelNormInt ) acoef = (1.0 - wheelNormInt + norm);
355 qreal angle = atan2(yc, xc);
356 int h = (int)((180 * angle / M_PI) + 180) % 360;
357
358 KoColor color = d->displayRenderer->fromHsv(h, 255, 255, int(acoef * 255.0));
359 QColor qcolor = d->displayRenderer->toQColor(color);
360
361 image.setPixel(x,y, qcolor.rgba());
362 } else {
363 image.setPixel(x,y, qRgba(0,0,0,0));
364 }
365 }
366 }
367 d->wheelPixmap = QPixmap::fromImage(image);
368}
T pow2(const T &x)
Definition kis_global.h:166
#define M_PI
Definition kis_global.h:111
qreal norm(const T &a)
KRITAIMAGE_EXPORT qreal atan2(qreal y, qreal x)
atan2 replacement

References d, M_PI, pow2(), wheelNormExt, and wheelNormInt.

◆ getCurrentColor()

KoColor KoTriangleColorSelector::getCurrentColor ( ) const
overridevirtual

Implements KisColorSelectorInterface.

Definition at line 227 of file KoTriangleColorSelector.cpp.

228{
229 return d->displayRenderer->fromHsv(hue(), saturation(), value());
230}

References d, hue, saturation, and value.

◆ hue()

int KoTriangleColorSelector::hue ( ) const

◆ init()

void KoTriangleColorSelector::init ( )

◆ mouseMoveEvent()

void KoTriangleColorSelector::mouseMoveEvent ( QMouseEvent * event)
overrideprotected

Definition at line 392 of file KoTriangleColorSelector.cpp.

393{
394 if(event->buttons() & Qt::LeftButton)
395 {
396 selectColorAt( event->x(), event->y(), false );
397 } else {
398 QWidget::mouseMoveEvent( event);
399 }
400}
void selectColorAt(int x, int y, bool checkInWheel=true)

References selectColorAt().

◆ mousePressEvent()

void KoTriangleColorSelector::mousePressEvent ( QMouseEvent * event)
overrideprotected

Definition at line 381 of file KoTriangleColorSelector.cpp.

382{
383 if(event->button() == Qt::LeftButton)
384 {
385 d->handle = NoHandle;
386 selectColorAt( event->x(), event->y());
387 } else {
388 QWidget::mousePressEvent( event );
389 }
390}

References d, NoHandle, and selectColorAt().

◆ mouseReleaseEvent()

void KoTriangleColorSelector::mouseReleaseEvent ( QMouseEvent * event)
overrideprotected

Definition at line 370 of file KoTriangleColorSelector.cpp.

371{
372 if(event->button() == Qt::LeftButton)
373 {
374 selectColorAt( event->x(), event->y());
375 d->handle = NoHandle;
376 } else {
377 QWidget::mouseReleaseEvent( event );
378 }
379}

References d, NoHandle, and selectColorAt().

◆ paintEvent()

void KoTriangleColorSelector::paintEvent ( QPaintEvent * event)
overrideprotected

Definition at line 113 of file KoTriangleColorSelector.cpp.

114{
115
116 if( d->invalidTriangle )
117 {
119 }
120 Q_UNUSED(event);
121 QPainter p(this);
122 p.setRenderHint(QPainter::SmoothPixmapTransform);
123 p.setRenderHint(QPainter::Antialiasing);
124 QPointF pos(d->centerColorSelector, d->centerColorSelector);
125 p.translate(QPointF( 0.5*width(), 0.5*height() ) );
126 // Draw the wheel
127 p.drawPixmap( -pos, d->wheelPixmap );
128 // Draw the triangle
129 p.save();
130
131 p.rotate( hue() + 150 );
132
133
134 p.drawPixmap( -pos , d->trianglePixmap );
135 // Draw selectors
136 p.restore();
137 // Draw value,saturation selector
138 // Compute coordinates
139 {
140 qreal vs_selector_ypos_ = value() / 255.0;
141 qreal ls_ = (vs_selector_ypos_) * d->triangleLength; // length of the saturation on the triangle
142 qreal vs_selector_xpos_ = ls_ * (saturation() / 255.0 - 0.5);
143 // Draw it
144 p.save();
145 p.setPen( QPen( Qt::white, 1.0) );
146
147 QColor currentColor = d->displayRenderer->toQColor(getCurrentColor());
148
149 p.setBrush(currentColor);
150 p.rotate( hue() + 150 );
151 p.drawEllipse( QRectF( -d->triangleHandleSize*0.5 + vs_selector_xpos_,
152 -d->triangleHandleSize*0.5 - (d->centerColorSelector - d->triangleTop) + vs_selector_ypos_ * d->triangleHeight,
153 d->triangleHandleSize , d->triangleHandleSize ));
154 }
155 p.restore();
156 // Draw Hue selector
157 p.save();
158 p.setPen( QPen( Qt::white, 1.0) );
159 p.rotate( hue() - 90 );
160 qreal hueSelectorWidth_ = 0.8;
161 qreal hueSelectorOffset_ = 0.5 *( 1.0 - hueSelectorWidth_) * d->wheelWidth;
162 qreal hueSelectorSize_ = 0.8 * d->wheelWidth;
163 p.drawRect( QRectF( -1.5, -d->centerColorSelector + hueSelectorOffset_, 3.0, hueSelectorSize_ ));
164 p.restore();
165 p.end();
166}
const Params2D p
KoColor currentColor(ResourceProvider *provider, ColorRole role)
KoColor getCurrentColor() const override

References d, generateTriangle(), getCurrentColor(), hue, p, saturation, and value.

◆ Private()

KoTriangleColorSelector::Private ( KoTriangleColorSelector * _q,
const KoColorDisplayRendererInterface * _displayRenderer )
inline

Definition at line 25 of file KoTriangleColorSelector.cpp.

26 : q(_q),
27 displayRenderer(_displayRenderer),
28 lastX(-1),
29 lastY(-1)
30 {
31 }
KoTriangleColorSelector * q

◆ requestCloseContainer

void KoTriangleColorSelector::requestCloseContainer ( )
signal

◆ resizeEvent()

void KoTriangleColorSelector::resizeEvent ( QResizeEvent * event)
overrideprotected

Definition at line 251 of file KoTriangleColorSelector.cpp.

252{
253 QWidget::resizeEvent( event );
256 d->invalidTriangle = true;
257}

References d, generateWheel(), and updateTriangleCircleParameters().

◆ saturation()

int KoTriangleColorSelector::saturation ( ) const

◆ selectColorAt()

void KoTriangleColorSelector::selectColorAt ( int x,
int y,
bool checkInWheel = true )
private

Definition at line 402 of file KoTriangleColorSelector.cpp.

403{
404 Q_UNUSED( checkInWheel );
405
406 if (d->lastX == _x && d->lastY == _y)
407 {
408 return;
409 }
410 d->lastX = _x;
411 d->lastY = _y;
412
413 qreal x = _x - 0.5*width();
414 qreal y = _y - 0.5*height();
415 // Check if the click is inside the wheel
416 qreal norm = sqrt( x * x + y * y);
417 if ( ( (norm < d->wheelNormExt) && (norm > d->wheelNormInt) && d->handle == NoHandle )
418 || d->handle == HueHandle ) {
419 d->handle = HueHandle;
420 setHue( (int)(atan2(y, x) * 180 / M_PI ) + 180);
421 d->updateTimer.start();
422 }
423 else {
424 // Compute the s and v value, if they are in range, use them
425 qreal rotation = -(hue() + 150) * M_PI / 180;
426 qreal cr = cos(rotation);
427 qreal sr = sin(rotation);
428 qreal x1 = x * cr - y * sr; // <- now x1 gives the saturation
429 qreal y1 = x * sr + y * cr; // <- now y1 gives the value
430 y1 += d->wheelNormExt;
431 qreal ynormalize = (d->triangleTop - y1 ) / ( d->triangleTop - d->triangleBottom );
432 if( (ynormalize >= 0.0 && ynormalize <= 1.0 ) || d->handle == ValueSaturationHandle)
433 {
434 d->handle = ValueSaturationHandle;
435 qreal ls_ = (ynormalize) * d->triangleLength; // length of the saturation on the triangle
436 qreal sat = ( x1 / ls_ + 0.5) ;
437 if((sat >= 0.0 && sat <= 1.0) || d->handle == ValueSaturationHandle)
438 {
439 setHSV( hue(), sat * 255, ynormalize * 255);
440 }
441 }
442 d->updateTimer.start();
443 }
444}
@ ValueSaturationHandle
void setHSV(int h, int s, int v)

References d, hue, HueHandle, M_PI, NoHandle, setHSV(), setHue(), ValueSaturationHandle, and wheelNormExt.

◆ setHSV

void KoTriangleColorSelector::setHSV ( int h,
int s,
int v )
slot

Definition at line 219 of file KoTriangleColorSelector.cpp.

220{
221 d->invalidTriangle = (hue() != h);
222 setHue(h);
223 setValue(v);
224 setSaturation(s);
225}

References d, hue, setHue(), setSaturation(), setValue(), and v.

◆ setHue

void KoTriangleColorSelector::setHue ( int h)
slot

Definition at line 176 of file KoTriangleColorSelector.cpp.

177{
178 // setRealColor() will give you -1 when saturation is 0
179 // ignore setting hue in this instance. otherwise it will mess up the hue ring
180 if (h == -1)
181 return;
182
183
184 h = qBound(0, h, 359);
185 d->hue = h;
187 d->invalidTriangle = true;
188 d->updateTimer.start();
189}

References d, and tellColorChanged().

◆ setSaturation

void KoTriangleColorSelector::setSaturation ( int s)
slot

Definition at line 210 of file KoTriangleColorSelector.cpp.

211{
212 s = qBound(0, s, 255);
213 d->saturation = s;
215 d->invalidTriangle = true;
216 d->updateTimer.start();
217}

References d, and tellColorChanged().

◆ setValue

void KoTriangleColorSelector::setValue ( int v)
slot

Definition at line 196 of file KoTriangleColorSelector.cpp.

197{
198 v = qBound(0, v, 255);
199 d->value = v;
201 d->invalidTriangle = true;
202 d->updateTimer.start();
203}

References d, tellColorChanged(), and v.

◆ slotSetColor

void KoTriangleColorSelector::slotSetColor ( const KoColor & color)
overrideslot

Definition at line 232 of file KoTriangleColorSelector.cpp.

233{
234 if ( getCurrentColor() == color)
235 return;
236
237 //displayrenderer->getHsv is what sets the foreground color in the application
238 if(d->updateAllowed) {
239 int hueRef = hue();
240 int saturationRef = saturation();
241 int valueRef = value();
242
243 d->displayRenderer->getHsv(color, &hueRef, &saturationRef, &valueRef);
244 setHSV(hueRef, saturationRef, valueRef);
245
246 d->invalidTriangle = true;
247 d->updateTimer.start();
248 }
249}

References d, getCurrentColor(), hue, saturation, setHSV(), and value.

◆ tellColorChanged()

void KoTriangleColorSelector::tellColorChanged ( )
private

Definition at line 264 of file KoTriangleColorSelector.cpp.

265{
266 d->updateAllowed = false;
268 emit(colorChanged(getCurrentColor().toQColor()));
269 d->updateAllowed = true;
270}
void sigNewColor(const KoColor &c)
void colorChanged(const QColor &)

References colorChanged(), d, getCurrentColor(), and KisColorSelectorInterface::sigNewColor().

◆ updateTriangleCircleParameters()

void KoTriangleColorSelector::updateTriangleCircleParameters ( )
private

Definition at line 96 of file KoTriangleColorSelector.cpp.

97{
98 d->sizeColorSelector = qMin(width(), height());
99 d->centerColorSelector = 0.5 * d->sizeColorSelector;
100 d->wheelWidthProportion = 0.25;
101 d->wheelWidth = d->centerColorSelector * d->wheelWidthProportion;
102 d->wheelNormExt = qAbs( d->centerColorSelector );
103 d->wheelNormInt = qAbs( d->centerColorSelector * (1.0 - d->wheelWidthProportion));
104 d->wheelInnerRadius = d->centerColorSelector * (1.0 - d->wheelWidthProportion);
105 d->triangleRadius = d->wheelInnerRadius * 0.9;
106 d->triangleLength = 3.0 / sqrt(3.0) * d->triangleRadius;
107 d->triangleHeight = d->triangleLength * sqrt(3.0) * 0.5;
108 d->triangleTop = 0.5 * d->sizeColorSelector - d->triangleRadius;
109 d->triangleBottom = d->triangleHeight + d->triangleTop;
110 d->triangleHandleSize = 10.0;
111}

References d.

◆ value()

int KoTriangleColorSelector::value ( ) const

Member Data Documentation

◆ centerColorSelector

qreal KoTriangleColorSelector::centerColorSelector {0.0}

Definition at line 41 of file KoTriangleColorSelector.cpp.

41{0.0};

◆ d

Private* const KoTriangleColorSelector::d
private

Definition at line 56 of file KoTriangleColorSelector.h.

◆ displayRenderer

const KoColorDisplayRendererInterface* KoTriangleColorSelector::displayRenderer {nullptr}

Definition at line 34 of file KoTriangleColorSelector.cpp.

34{nullptr};

◆ handle

CurrentHandle KoTriangleColorSelector::handle {NoHandle}

Definition at line 55 of file KoTriangleColorSelector.cpp.

55{NoHandle};

◆ hue

int KoTriangleColorSelector::hue {0}

Definition at line 37 of file KoTriangleColorSelector.cpp.

37{0};

◆ invalidTriangle

bool KoTriangleColorSelector::invalidTriangle {true}

Definition at line 57 of file KoTriangleColorSelector.cpp.

57{true};

◆ lastX

int KoTriangleColorSelector::lastX {-1}

Definition at line 58 of file KoTriangleColorSelector.cpp.

58{-1};

◆ lastY

int KoTriangleColorSelector::lastY {-1}

Definition at line 59 of file KoTriangleColorSelector.cpp.

59{-1};

◆ normExt

qreal KoTriangleColorSelector::normExt {0.0}

Definition at line 52 of file KoTriangleColorSelector.cpp.

52{0.0};

◆ normInt

qreal KoTriangleColorSelector::normInt {0.0}

Definition at line 53 of file KoTriangleColorSelector.cpp.

53{0.0};

◆ q

KoTriangleColorSelector* KoTriangleColorSelector::q {nullptr}

Definition at line 33 of file KoTriangleColorSelector.cpp.

33{nullptr};

◆ saturation

int KoTriangleColorSelector::saturation {0}

Definition at line 38 of file KoTriangleColorSelector.cpp.

38{0};

◆ sizeColorSelector

int KoTriangleColorSelector::sizeColorSelector {0}

Definition at line 40 of file KoTriangleColorSelector.cpp.

40{0};

◆ triangleBottom

qreal KoTriangleColorSelector::triangleBottom {0.0}

Definition at line 50 of file KoTriangleColorSelector.cpp.

50{0.0};

◆ triangleHandleSize

qreal KoTriangleColorSelector::triangleHandleSize {0.0}

Definition at line 56 of file KoTriangleColorSelector.cpp.

56{0.0};

◆ triangleHeight

qreal KoTriangleColorSelector::triangleHeight {0.0}

Definition at line 49 of file KoTriangleColorSelector.cpp.

49{0.0};

◆ triangleLength

qreal KoTriangleColorSelector::triangleLength {0.0}

Definition at line 48 of file KoTriangleColorSelector.cpp.

48{0.0};

◆ trianglePixmap

QPixmap KoTriangleColorSelector::trianglePixmap

Definition at line 36 of file KoTriangleColorSelector.cpp.

◆ triangleRadius

qreal KoTriangleColorSelector::triangleRadius {0.0}

Definition at line 47 of file KoTriangleColorSelector.cpp.

47{0.0};

◆ triangleTop

qreal KoTriangleColorSelector::triangleTop {0.0}

Definition at line 51 of file KoTriangleColorSelector.cpp.

51{0.0};

◆ updateAllowed

bool KoTriangleColorSelector::updateAllowed {true}

Definition at line 54 of file KoTriangleColorSelector.cpp.

54{true};

◆ updateTimer

QTimer KoTriangleColorSelector::updateTimer

Definition at line 60 of file KoTriangleColorSelector.cpp.

◆ value

int KoTriangleColorSelector::value {0}

Definition at line 39 of file KoTriangleColorSelector.cpp.

39{0};

◆ wheelInnerRadius

qreal KoTriangleColorSelector::wheelInnerRadius {0.0}

Definition at line 46 of file KoTriangleColorSelector.cpp.

46{0.0};

◆ wheelNormExt

qreal KoTriangleColorSelector::wheelNormExt {0.0}

Definition at line 44 of file KoTriangleColorSelector.cpp.

44{0.0};

◆ wheelNormInt

qreal KoTriangleColorSelector::wheelNormInt {0.0}

Definition at line 45 of file KoTriangleColorSelector.cpp.

45{0.0};

◆ wheelPixmap

QPixmap KoTriangleColorSelector::wheelPixmap

Definition at line 35 of file KoTriangleColorSelector.cpp.

◆ wheelWidth

qreal KoTriangleColorSelector::wheelWidth {0.0}

Definition at line 43 of file KoTriangleColorSelector.cpp.

43{0.0};

◆ wheelWidthProportion

qreal KoTriangleColorSelector::wheelWidthProportion {0.0}

Definition at line 42 of file KoTriangleColorSelector.cpp.

42{0.0};

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