Krita Source Code Documentation
Loading...
Searching...
No Matches
KisStopGradientSlider.cpp File Reference
#include <QWindow>
#include <QPainter>
#include <QPixmap>
#include <QMouseEvent>
#include <QPaintEvent>
#include <QKeyEvent>
#include <QPolygon>
#include <QFontMetrics>
#include <QStyle>
#include <QApplication>
#include <QStyleOptionToolButton>
#include <QPainterPath>
#include <QColorDialog>
#include <KisGradientWidgetsUtils.h>
#include "kis_global.h"
#include "kis_debug.h"
#include "krita_utils.h"
#include <KoColor.h>
#include <KisDlgInternalColorSelector.h>
#include <kconfiggroup.h>
#include <ksharedconfig.h>
#include "KisStopGradientSlider.h"

Go to the source code of this file.

Functions

int findNearestHandle (qreal t, const qreal tolerance, const QList< KoGradientStop > &stops)
 
int getNewInsertPosition (const KoGradientStop &stop, const QList< KoGradientStop > &stops)
 

Function Documentation

◆ findNearestHandle()

int findNearestHandle ( qreal t,
const qreal tolerance,
const QList< KoGradientStop > & stops )

Definition at line 145 of file KisStopGradientSlider.cpp.

146{
147 int result = -1;
148 qreal minDistance = tolerance;
149
150 for (int i = 0; i < stops.size(); i++) {
151 const KoGradientStop &stop = stops[i];
152
153 const qreal distance = qAbs(t - stop.position);
154 if (distance < minDistance) {
155 minDistance = distance;
156 result = i;
157 }
158 }
159
160 return result;
161}
qreal distance(const QPointF &p1, const QPointF &p2)

References distance(), and KoGradientStop::position.

◆ getNewInsertPosition()

int getNewInsertPosition ( const KoGradientStop & stop,
const QList< KoGradientStop > & stops )

Definition at line 208 of file KisStopGradientSlider.cpp.

209{
210 int result = 0;
211
212 for (int i = 0; i < stops.size(); i++) {
213 if (stop.position <= stops[i].position) break;
214
215 result = i + 1;
216 }
217
218 return result;
219}

References KoGradientStop::position.