7#ifndef KIS_TOOL_PAINT_H_
8#define KIS_TOOL_PAINT_H_
13#include <QPainterPath>
20#include <kritaui_export.h>
41 int flags()
const override;
67 virtual void requestUpdateOutline(
const QPointF &outlineDocPoint,
const KoPointerEvent *event);
73 m_supportOutline = supportOutline;
81 bool isOutlineEnabled()
const;
82 void setOutlineEnabled(
bool enabled);
83 bool isOutlineVisible()
const;
84 void setOutlineVisible(
bool visible);
86 bool isEraser()
const;
89 void addOptionWidgetLayout(QLayout *layout);
92 virtual void addOptionWidgetOption(QWidget *control, QWidget *label =
nullptr);
94 void showControl(QWidget *control,
bool value);
95 void enableControl(QWidget *control,
bool value);
107 void activate(
const QSet<KoShape*> &shapes)
override;
112 void slotColorPickerRequestedCursor(
const QCursor &cursor);
113 void slotColorPickerRequestedCursorReset();
114 void slotColorPickerRequestedOutlineUpdate();
116 void slotPopupQuickHelp();
118 void increaseBrushSize();
119 void decreaseBrushSize();
120 void showBrushSize();
122 void rotateBrushTipClockwise();
123 void rotateBrushTipClockwisePrecise();
124 void rotateBrushTipCounterClockwise();
125 void rotateBrushTipCounterClockwisePrecise();
128 bool m_paintOutline {
false};
139 bool m_specialHoverModifier {
false};
140 QGridLayout *m_optionsWidgetLayout {
nullptr};
142 bool m_supportOutline {
false};
153 qreal m_oldOpacity {1.0};
154 bool m_oldPresetIsDirty {
false};
155 int m_oldPresetVersion {-1};
158 void tryRestoreOpacitySnapshot();
161 QScopedPointer<Private>
m_d;
float value(const T *src, size_t ch)