21 setIsOpacityPresetMode(
true);
30 if (isEraser() && (nodePaintAbility() == PAINT)) {
33 DelegatedPathTool::resetCursorStyle();
36 overrideCursorIfNotEditable();
51 return localTool()->pathStarted() ? nullptr : DelegatedPathTool::popupWidget();
68 if (event->type() == QEvent::MouseButtonPress ||
69 event->type() == QEvent::MouseButtonDblClick) {
70 QMouseEvent *mouseEvent =
static_cast<QMouseEvent*
>(event);
71 if (mouseEvent->button() == Qt::RightButton) {
75 }
else if (event->type() == QEvent::TabletPress) {
76 QTabletEvent *tabletEvent =
static_cast<QTabletEvent*
>(event);
77 if (tabletEvent->button() == Qt::RightButton) {
86 DelegatedPathTool::beginAlternateAction(event, action);
87 if (!nodeEditable())
return;
89 if (nodePaintAbility() == KisToolPath::MYPAINTBRUSH_UNPAINTABLE) {
91 QString message = i18n(
"The MyPaint Brush Engine is not available for this colorspace");
100 if (!nodeEditable())
return;
128 , m_parentTool(parentTool) {
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisViewManager * viewManager() const
static QCursor eraserCursor()
KisCanvasResourceProvider * canvasResourceProvider()
void showFloatingMessage(const QString &message, const QIcon &icon, int timeout=4500, KisFloatingMessage::Priority priority=KisFloatingMessage::Medium, int alignment=Qt::AlignCenter|Qt::TextWordWrap)
shows a floating message in the top right corner of the canvas
The position of a path point within a path shape.
QPainterPath outline() const override
reimplemented
QPointF position() const
Get the position of the shape in pt.
#define koIcon(name)
Use these macros for icons without any issues.
KUndo2MagicString kundo2_i18n(const char *text)