67 qreal startAngle = 0.0;
77 if (preset->settings()->paintOpSize() <= 1) {
133 if (!overridePos.isNull()) {
139 const QPointF endPos = pi.
pos();
142 const qreal maxDistance =
kisDistance(startPos, endPos);
143 const QPointF unit = (endPos - startPos) / maxDistance;
149 if (dist < maxDistance) {
150 QPointF pos = startPos + unit * dist;
172 it->setPos(it->pos() + offset);
188 const qreal maxDistance =
kisDistance(startPoint, endPoint);
189 const QPointF unit = (endPoint - startPoint) / maxDistance;
195 QPointF pos = startPoint + unit * dist;
237 int x = qFloor(points.first().pos().x());
238 int y = qFloor(points.first().pos().y());
240 int x2 = qFloor(points.last().pos().x());
241 int y2 = qFloor(points.last().pos().y());
248 bool lockAxis =
true;
252 }
else if ( yd != 0) {
254 m = (float)yd / (
float)xd;
263 if (fabs(m) > 1.0f) {
264 inc = (yd > 0) ? 1 : -1;
265 m = (lockAxis)? 0 : 1.0f / m;
268 for (
int i = 0; i < points.size(); i++){
269 dist = abs(qFloor(points.at(i).pos().y()) - y);
270 fy = y + (dist * inc);
271 fx = qRound(x + (dist * m));
272 points[i].setPos(QPointF(fx,fy));
276 inc = (xd > 0) ? 1 : -1;
279 for (
int i = 0; i < points.size(); i++){
280 dist = abs(qFloor(points.at(i).pos().x()) - x);
281 fx = x + (dist * inc);
282 fy = qRound(y + (dist * m));
283 points[i].setPos(QPointF(fx,fy));
float value(const T *src, size_t ch)
QVariant resource(int key) const
#define KIS_ASSERT_RECOVER_RETURN(cond)
qreal kisDistance(const QPointF &pt1, const QPointF &pt2)
qreal directionBetweenPoints(const QPointF &p1, const QPointF &p2, qreal defaultAngle)
bool fuzzyPointCompare(const QPointF &p1, const QPointF &p2)