7#ifndef KIS_TOOL_PAINT_H_
8#define KIS_TOOL_PAINT_H_
14#include <QPainterPath>
21#include <kritaui_export.h>
42 int flags()
const override;
68 virtual void requestUpdateOutline(
const QPointF &outlineDocPoint,
const KoPointerEvent *event);
74 m_supportOutline = supportOutline;
82 bool isOutlineEnabled()
const;
83 void setOutlineEnabled(
bool enabled);
84 bool isOutlineVisible()
const;
85 void setOutlineVisible(
bool visible);
87 bool isEraser()
const;
90 void addOptionWidgetLayout(QLayout *layout);
93 virtual void addOptionWidgetOption(QWidget *control, QWidget *label =
nullptr);
95 void showControl(QWidget *control,
bool value);
96 void enableControl(QWidget *control,
bool value);
108 void activate(
const QSet<KoShape*> &shapes)
override;
113 void slotColorPickerRequestedCursor(
const QCursor &cursor);
114 void slotColorPickerRequestedCursorReset();
115 void slotColorPickerRequestedOutlineUpdate();
117 void slotPopupQuickHelp();
119 void increaseBrushSize();
120 void decreaseBrushSize();
121 void showBrushSize();
123 void rotateBrushTipClockwise();
124 void rotateBrushTipClockwisePrecise();
125 void rotateBrushTipCounterClockwise();
126 void rotateBrushTipCounterClockwisePrecise();
129 bool m_paintOutline {
false};
140 bool m_specialHoverModifier {
false};
141 QGridLayout *m_optionsWidgetLayout {
nullptr};
143 bool m_supportOutline {
false};
154 qreal m_oldOpacity {1.0};
155 bool m_oldPresetIsDirty {
false};
156 int m_oldPresetVersion {-1};
159 void tryRestoreOpacitySnapshot();
162 QScopedPointer<Private>
m_d;
float value(const T *src, size_t ch)