11#include <klocalizedstring.h>
14#include <QPainterPath>
15#include <QLinearGradient>
55 const QPointF
p1 = point;
56 const QPointF
p2 = strokeBegin;
75 mousePos= canvas->
canvasWidget()->mapFromGlobal(QCursor::pos());
79 mousePos = QCursor::pos();
80 dbgFile<<
"canvas does not exist in the ellipse assistant, you may have passed arguments incorrectly:"<<canvas;
90 gc.setTransform(initialTransform);
110 if (assistantVisible ==
false ||
handles().size() < 2){
118 gc.setTransform(initialTransform);
128 gc.setTransform(initialTransform);
146 return e.
boundingRect().adjusted(-2, -2, 2, 2).toAlignedRect();
167 QTransform newTransform;
171 const QPointF
p1 = newTransform.map(QPointF(newAxes.x(), 0));
172 const QPointF
p2 = newTransform.map(QPointF(-newAxes.x(), 0));
173 const QPointF
p3 = newTransform.map(QPointF(0, newAxes.y()));
197 return i18n(
"Ellipse");
~EllipseAssistantFactory() override
QString id() const override
KisPaintingAssistant * createPaintingAssistant() const override
QString name() const override
EllipseAssistantFactory()
bool isAssistantComplete() const override
QPointF getDefaultEditorPosition() const override
QPointF adjustPosition(const QPointF &point, const QPointF &strokeBegin, const bool snapToAny, qreal moveThresholdPt) override
QRect boundingRect() const 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 project(const QPointF &pt) const
void adjustLine(QPointF &point, QPointF &strokeBegin) override
void drawAssistant(QPainter &gc, const QRectF &updateRect, const KisCoordinatesConverter *converter, bool cached, KisCanvas2 *canvas, bool assistantVisible=true, bool previewVisible=true) override
void transform(const QTransform &transform) override
KisPaintingAssistantSP clone(QMap< KisPaintingAssistantHandleSP, KisPaintingAssistantHandleSP > &handleMap) const override
const QTransform & getInverse() const
bool set(const QPointF &m1, const QPointF &m2, const QPointF &p)
QRectF boundingRect() const
QPointF project(const QPointF &) const
KisAbstractCanvasWidget * canvasWidget
QTransform documentToWidgetTransform() const
virtual QRect boundingRect() const
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
std::pair< QPointF, QTransform > transformEllipse(const QPointF &axes, const QTransform &fullLocalToGlobal)