17#include "canvascursorpainter.h"
21CanvasCursorPainter::CanvasCursorPainter()
26void CanvasCursorPainter::setupPen()
33void CanvasCursorPainter::paint(
QPainter& painter,
const QRect& blitRect)
35 if (mOptions.isAdjusting || mOptions.showCursor) {
36 if (mOptions.useFeather) {
37 paintFeatherCursor(painter, blitRect, mOptions.widthRect, mOptions.featherRect);
46 mOptions = painterOptions;
47 if (mOptions.isAdjusting || mOptions.showCursor) {
48 mOptions.widthRect = viewTransform.
mapRect(mOptions.widthRect);
49 mOptions.featherRect = viewTransform.
mapRect(mOptions.featherRect);
53void CanvasCursorPainter::paintFeatherCursor(
QPainter& painter,
const QRect& blitRect,
const QRectF& widthCircleBounds,
const QRectF& featherCircleBounds)
57 if (widthCircleBounds.
width() - featherCircleBounds.
width() <= 1) {
64 painter.
setPen(mCursorPen);
76 painter.
setPen(mCursorPen);
81 if (widthCircleBounds.
width() > 8) {
93void CanvasCursorPainter::clearDirty()
void paintWidthCursor(QPainter &painter, const QRect &blitRect, const QRectF &widthCircleBounds)
precision circular cursor: used for drawing a cursor on the canvas.
RasterOp_SourceXorDestination
void drawEllipse(const QRectF &rectangle)
void drawLine(const QLineF &line)
void setClipRect(const QRectF &rectangle, Qt::ClipOperation operation)
void setCompositionMode(QPainter::CompositionMode mode)
void setPen(const QColor &color)
void setCosmetic(bool cosmetic)
void setWidthF(qreal width)
QPointF center() const const
QRect toAlignedRect() const const
qreal width() const const