13#include <klocalizedstring.h>
16#include <QPainterPath>
17#include <QLinearGradient>
46 const static QPointF nullPoint(std::numeric_limits<qreal>::quiet_NaN(), std::numeric_limits<qreal>::quiet_NaN());
53 radius.setAngle(fmod(radius.angle()+180.0,360.0));
55 radius2.setAngle(fmod(radius2.angle()+180.0,360.0));
58 }
else if (
extraE.
set(radius.p1(), radius.p2(),strokeBegin)) {
60 }
else if (
extraE.
set(radius2.p1(), radius2.p2(),strokeBegin)){
71 return project(pt, strokeBegin);
77 strokeBegin = QPointF();
94 gc.setTransform(initialTransform);
102 radius.setAngle(fmod(radius.angle()+180.0,360.0));
103 if (
extraE.
set(radius.p1(), radius.p2(), initialTransform.inverted().map(mousePos))){
104 gc.setTransform(initialTransform);
112 radius2.setAngle(fmod(radius2.angle()+180.0,360.0));
113 if (
extraE.
set(radius2.p1(), radius2.p2(), initialTransform.inverted().map(mousePos))){
114 gc.setTransform(initialTransform);
133 if (assistantVisible ==
false){
141 gc.setTransform(initialTransform);
151 gc.setTransform(initialTransform);
203 return "fisheye-point";
208 return i18n(
"Fish Eye Point");
const QTransform & getInverse() const
bool set(const QPointF &m1, const QPointF &m2, const QPointF &p)
QRectF boundingRect() const
QPointF project(const QPointF &) const
KisPaintingAssistant * createPaintingAssistant() const override
~FisheyePointAssistantFactory() override
QString id() const override
FisheyePointAssistantFactory()
QString name() const override
QRect boundingRect() const override
KisPaintingAssistantSP clone(QMap< KisPaintingAssistantHandleSP, KisPaintingAssistantHandleSP > &handleMap) const override
void adjustLine(QPointF &point, QPointF &strokeBegin) override
QPointF project(const QPointF &pt, const QPointF &strokeBegin)
QPointF getDefaultEditorPosition() const override
bool isAssistantComplete() const override
void drawAssistant(QPainter &gc, const QRectF &updateRect, const KisCoordinatesConverter *converter, bool cached=true, KisCanvas2 *canvas=0, bool assistantVisible=true, bool previewVisible=true) override
void drawCache(QPainter &gc, const KisCoordinatesConverter *converter, bool assistantVisible=true) override
performance layer where the graphics can be drawn from a cache instead of generated every render upda...
QPointF adjustPosition(const QPointF &point, const QPointF &strokeBegin, const bool snapToAny, qreal moveThresholdPt) override
QTransform documentToWidgetTransform() const
virtual QRect boundingRect() const
QPointF effectiveBrushPosition(const KisCoordinatesConverter *converter, KisCanvas2 *canvas) const
Query the effective brush position to be used for preview lines. This is intended to be used for pain...
bool isSnappingActive() const
void drawPath(QPainter &painter, const QPainterPath &path, bool drawActive=true)
void drawPreview(QPainter &painter, const QPainterPath &path)
virtual void drawAssistant(QPainter &gc, const QRectF &updateRect, const KisCoordinatesConverter *converter, bool cached, KisCanvas2 *canvas=0, bool assistantVisible=true, bool previewVisible=true)
const QList< KisPaintingAssistantHandleSP > & handles() const
QSharedPointer< KisPaintingAssistant > KisPaintingAssistantSP