|
Krita Source Code Documentation
|
#include <kis_tool_lazy_brush.h>
Inheritance diagram for KisToolLazyBrush:Classes | |
| struct | Private |
Public Slots | |
| void | activate (const QSet< KoShape * > &shapes) override |
| void | deactivate () override |
Public Slots inherited from KisToolFreehand | |
| void | activate (const QSet< KoShape * > &shapes) override |
| void | deactivate () override |
Public Slots inherited from KisToolPaint | |
| void | activate (const QSet< KoShape * > &shapes) override |
| void | deactivate () override |
Public Slots inherited from KisTool | |
| void | activate (const QSet< KoShape * > &shapes) override |
| void | canvasResourceChanged (int key, const QVariant &res) override |
| void | deactivate () override |
| virtual void | updateSettingsViews () |
Public Slots inherited from KoToolBase | |
| virtual void | activate (const QSet< KoShape * > &shapes) |
| virtual void | deactivate () |
| virtual void | documentResourceChanged (int key, const QVariant &res) |
| virtual void | repaintDecorations () |
| virtual void | requestRedoDuringStroke () |
| virtual void | requestStrokeCancellation () |
| virtual void | requestStrokeEnd () |
| virtual void | requestUndoDuringStroke () |
| void | setStatusText (const QString &statusText) |
| void | updateOptionsWidgetIcons () |
Public Member Functions | |
| void | activateAlternateAction (AlternateAction action) override |
| void | activatePrimaryAction () override |
| void | beginAlternateAction (KoPointerEvent *event, AlternateAction action) override |
| void | beginPrimaryAction (KoPointerEvent *event) override |
| void | continueAlternateAction (KoPointerEvent *event, AlternateAction action) override |
| void | continuePrimaryAction (KoPointerEvent *event) override |
| QWidget * | createOptionWidget () override |
| void | deactivateAlternateAction (AlternateAction action) override |
| void | deactivatePrimaryAction () override |
| void | endAlternateAction (KoPointerEvent *event, AlternateAction action) override |
| void | endPrimaryAction (KoPointerEvent *event) override |
| void | explicitUserStrokeEndRequest () override |
| explicitUserStrokeEndRequest is called by the input manager when the user presses Enter key or any equivalent. This callback comes before requestStrokeEnd(), which comes from a different source. | |
| KisToolLazyBrush (KoCanvasBase *canvas) | |
| ~KisToolLazyBrush () override | |
Public Member Functions inherited from KisToolFreehand | |
| int | flags () const override |
| KisToolFreehand (KoCanvasBase *canvas, const QCursor &cursor, const KUndo2MagicString &transactionText, bool useSavedSmoothing=true) | |
| void | mouseMoveEvent (KoPointerEvent *event) override |
| ~KisToolFreehand () override | |
Public Member Functions inherited from KisToolPaint | |
| int | flags () const override |
| KisToolPaint (KoCanvasBase *canvas, const QCursor &cursor) | |
| void | mouseMoveEvent (KoPointerEvent *event) override |
| void | mousePressEvent (KoPointerEvent *event) override |
| void | mouseReleaseEvent (KoPointerEvent *event) override |
| KisPopupWidgetInterface * | popupWidget () override |
| ~KisToolPaint () override | |
Public Member Functions inherited from KisTool | |
| virtual bool | alternateActionSupportsHiResEvents (AlternateAction action) const |
| virtual void | beginAlternateDoubleClickAction (KoPointerEvent *event, AlternateAction action) |
| virtual void | beginPrimaryDoubleClickAction (KoPointerEvent *event) |
| void | deleteSelection () override |
| bool | isActive () const |
| KisTool (KoCanvasBase *canvas, const QCursor &cursor) | |
| void | mouseDoubleClickEvent (KoPointerEvent *event) override |
| void | mouseTripleClickEvent (KoPointerEvent *event) override |
| virtual void | newActivationWithExternalSource (KisPaintDeviceSP externalSource) |
| newActivationWithExternalSource Makes sure that the tool is active and starts a new stroke, which will be able to access the pixels from the specified external source. | |
| KisTool::NodePaintAbility | nodePaintAbility () |
| ~KisTool () override | |
Public Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Public Member Functions inherited from KoToolBase | |
| QAction * | action (const QString &name) const |
| KoCanvasBase * | canvas () const |
| Returns the canvas the tool is working on. | |
| virtual void | copy () const |
| QCursor | cursor () const |
| return the last emitted cursor | |
| virtual void | customMoveEvent (KoPointerEvent *event) |
| virtual void | customPressEvent (KoPointerEvent *event) |
| virtual void | customReleaseEvent (KoPointerEvent *event) |
| virtual void | cut () |
| virtual QRectF | decorationsRect () const |
| int | decorationThickness () const |
| decorationThickness The minimum thickness for tool decoration lines, this is derived from the screen magnification, thus the HiDPI settings. Note: to use this effectively, also set the pen to isCosmetic(true); | |
| virtual void | deselect () |
| deselect the tool should clear the selection if it has one. | |
| virtual void | dragLeaveEvent (QDragLeaveEvent *event) |
| virtual void | dragMoveEvent (QDragMoveEvent *event, const QPointF &point) |
| virtual void | dropEvent (QDropEvent *event, const QPointF &point) |
| KoToolFactoryBase * | factory () const |
| virtual void | focusInEvent (QFocusEvent *event) |
| virtual void | focusOutEvent (QFocusEvent *event) |
| virtual bool | hasSelection () |
| virtual void | inputMethodEvent (QInputMethodEvent *event) |
| virtual QVariant | inputMethodQuery (Qt::InputMethodQuery query) const |
| bool | isInTextMode () const |
| bool | isOpacityPresetMode () const |
| virtual void | keyPressEvent (QKeyEvent *event) |
| virtual void | keyReleaseEvent (QKeyEvent *event) |
| KoToolBase (KoCanvasBase *canvas) | |
| bool | maskSyntheticEvents () const |
| QList< QPointer< QWidget > > | optionWidgets () |
| virtual bool | paste () |
| virtual QMenu * | popupActionsMenu () |
| virtual bool | selectAll () |
| selectAll select all data the tool can select. | |
| virtual KoToolSelection * | selection () |
| Q_INVOKABLE QString | toolId () const |
| ~KoToolBase () override | |
Protected Slots | |
| void | resetCursorStyle () override |
Protected Slots inherited from KisToolFreehand | |
| void | explicitUpdateOutline () |
| void | resetCursorStyle () override |
| void | setAssistant (bool assistant) |
| void | setOnlyOneAssistantSnap (bool assistant) |
| void | setSnapEraser (bool assistant) |
| void | slotDoResizeBrush (qreal newSize) |
Protected Slots inherited from KisTool | |
| virtual void | resetCursorStyle () |
Private Slots | |
| void | slotCurrentNodeChanged (KisNodeSP node) |
Private Member Functions | |
| bool | canCreateColorizeMask () const |
| bool | colorizeMaskActive () const |
| bool | shouldActivateKeyStrokes () const |
| void | tryCreateColorizeMask () |
| void | tryDisableKeyStrokesOnMask () |
Private Attributes | |
| const QScopedPointer< Private > | m_d |
Additional Inherited Members | |
Public Types inherited from KisTool | |
| enum | { FLAG_USES_CUSTOM_PRESET =0x01 , FLAG_USES_CUSTOM_COMPOSITEOP =0x02 , FLAG_USES_CUSTOM_SIZE =0x04 } |
| enum | AlternateAction { ChangeSize = AlternateChangeSize , ChangeSizeSnap = AlternateChangeSizeSnap , SampleFgNode = AlternateSampleFgNode , SampleBgNode = AlternateSampleBgNode , SampleFgImage = AlternateSampleFgImage , SampleBgImage = AlternateSampleBgImage , Secondary = AlternateSecondary , Third = AlternateThird , Fourth = AlternateFourth , Fifth = AlternateFifth , NONE = 10000 } |
| enum | NodePaintAbility { VECTOR , CLONE , PAINT , UNPAINTABLE , MYPAINTBRUSH_UNPAINTABLE } |
| enum | ToolAction { Primary , AlternateChangeSize , AlternateChangeSizeSnap , AlternateSampleFgNode , AlternateSampleBgNode , AlternateSampleFgImage , AlternateSampleBgImage , AlternateSecondary , AlternateThird , AlternateFourth , AlternateFifth , Alternate_NONE = 10000 } |
Signals inherited from KisToolPaint | |
| void | sigPaintingFinished () |
Signals inherited from KisTool | |
| void | isActiveChanged (bool isActivated) |
Signals inherited from KoToolBase | |
| void | activateTool (const QString &id) |
| void | cursorChanged (const QCursor &cursor) |
| void | selectionChanged (bool hasSelection) |
| void | statusTextChanged (const QString &statusText) |
| void | textModeChanged (bool inTextMode) |
Static Public Member Functions inherited from KisTool | |
| static AlternateAction | actionToAlternateAction (ToolAction action) |
Public Attributes inherited from KisTool | |
| KoColor | currentBgColor |
| float | currentExposure {1.0} |
| KoColor | currentFgColor |
| KisFilterConfigurationSP | currentGenerator |
| KoAbstractGradientSP | currentGradient |
| KoPatternSP | currentPattern |
| QCursor | cursor |
| bool | m_isActive {false} |
| ToolMode | m_mode {HOVER_MODE} |
| QWidget * | optionWidget {0} |
Public Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
Protected Types inherited from KisTool | |
| enum | ToolMode : int { HOVER_MODE , PAINT_MODE , SECONDARY_PAINT_MODE , MIRROR_AXIS_SETUP_MODE , GESTURE_MODE , PAN_MODE , OTHER , OTHER_1 } |
Protected Member Functions inherited from KisToolFreehand | |
| virtual void | doStroke (KoPointerEvent *event) |
| virtual void | endStroke () |
| KisOptimizedBrushOutline | getOutlinePath (const QPointF &documentPos, const KoPointerEvent *event, KisPaintOpSettings::OutlineMode outlineMode) override |
| virtual void | initStroke (KoPointerEvent *event) |
| KisPaintingInformationBuilder * | paintingInformationBuilder () const |
| bool | primaryActionSupportsHiResEvents () const override |
| void | resetHelper (KisToolFreehandHelper *helper) |
| KisSmoothingOptionsSP | smoothingOptions () const |
| bool | supportsPaintingAssistants () const override |
| bool | trySampleByPaintOp (KoPointerEvent *event, AlternateAction action) |
| bool | wantsAutoScroll () const override |
Protected Member Functions inherited from KisToolPaint | |
| void | activateAlternateAction (AlternateAction action) override |
| void | activatePrimaryAction () override |
| void | addOptionWidgetLayout (QLayout *layout) |
| Add the tool-specific layout to the default option widget layout. | |
| virtual void | addOptionWidgetOption (QWidget *control, QWidget *label=nullptr) |
| Add a widget and a label to the current option widget layout. | |
| void | beginAlternateAction (KoPointerEvent *event, AlternateAction action) override |
| void | canvasResourceChanged (int key, const QVariant &v) override |
| void | continueAlternateAction (KoPointerEvent *event, AlternateAction action) override |
| QWidget * | createOptionWidget () override |
| void | deactivateAlternateAction (AlternateAction action) override |
| void | deactivatePrimaryAction () override |
| void | enableControl (QWidget *control, bool value) |
| void | endAlternateAction (KoPointerEvent *event, AlternateAction action) override |
| bool | isEraser () const |
| bool | isOutlineEnabled () const |
| bool | isOutlineVisible () const |
| void | paint (QPainter &gc, const KoViewConverter &converter) override |
| virtual QString | quickHelp () const |
| virtual void | requestUpdateOutline (const QPointF &outlineDocPoint, const KoPointerEvent *event) |
| void | setMode (ToolMode mode) override |
| void | setOutlineEnabled (bool enabled) |
| void | setOutlineVisible (bool visible) |
| void | setSupportOutline (bool supportOutline) |
| void | showControl (QWidget *control, bool value) |
Protected Member Functions inherited from KisTool | |
| bool | blockUntilOperationsFinished () |
| void | blockUntilOperationsFinishedForced () |
| QPointF | convertDocumentToWidget (const QPointF &pt) |
| QPoint | convertToImagePixelCoordFloored (KoPointerEvent *e) |
| QPointF | convertToPixelCoord (const QPointF &pt) |
| QPointF | convertToPixelCoord (KoPointerEvent *e) |
| QPointF | convertToPixelCoordAndAlignOnWidget (const QPointF &pt) |
| QPointF | convertToPixelCoordAndSnap (const QPointF &pt, const QPointF &offset=QPointF()) |
| QPointF | convertToPixelCoordAndSnap (KoPointerEvent *e, const QPointF &offset=QPointF(), bool useModifiers=true) |
| QRectF | convertToPt (const QRectF &rect) |
| qreal | convertToPt (qreal value) |
| KoColor | currentBgColor () |
| KoColor | currentFgColor () |
| KisFilterConfigurationSP | currentGenerator () |
| KoAbstractGradientSP | currentGradient () |
| KisImageWSP | currentImage () |
| KisNodeSP | currentNode () const |
| KisPaintOpPresetSP | currentPaintOpPreset () |
| KoPatternSP | currentPattern () |
| QCursor | cursor () const |
| KisImageWSP | image () const |
| virtual bool | listeningToModifiers () |
| virtual void | listenToModifiers (bool listen) |
| virtual ToolMode | mode () const |
| bool | nodeEditable () |
| Checks checks if the current node is editable. | |
| bool | overrideCursorIfNotEditable () |
| Override the cursor appropriately if current node is not editable. | |
| void | paintToolOutline (QPainter *painter, const KisOptimizedBrushOutline &path) |
| KisOptimizedBrushOutline | pixelToView (const KisOptimizedBrushOutline &path) const |
| QPainterPath | pixelToView (const QPainterPath &pixelPath) const |
| Convert a pixel path into a view path. | |
| QPointF | pixelToView (const QPoint &pixelCoord) const |
| QPointF | pixelToView (const QPointF &pixelCoord) const |
| Convert a floating point pixel coordinate into a view coordinate. | |
| QPolygonF | pixelToView (const QPolygonF &pixelPolygon) const |
| Convert a pixel polygon into a view path. | |
| QRectF | pixelToView (const QRectF &pixelRect) const |
| Convert a pixel rectangle into a view rectangle. | |
| KisNodeList | selectedNodes () const |
| bool | selectionEditable () |
| Checks checks if the selection is editable, only applies to local selection as global selection is always editable. | |
| void | setCursor (const QCursor &cursor) |
| void | updateCanvasPixelRect (const QRectF &pixelRect) |
| Update the canvas for the given rectangle in image pixel coordinates. | |
| void | updateCanvasViewRect (const QRectF &viewRect) |
| Update the canvas for the given rectangle in view coordinates. | |
| QPointF | viewToPixel (const QPointF &viewCoord) const |
| QPointF | widgetCenterInWidgetPixels () |
Protected Member Functions inherited from KoToolBase | |
| virtual QList< QPointer< QWidget > > | createOptionWidgets () |
| int | grabSensitivity () const |
| Convenience function to get the current grab sensitivity. | |
| qreal | handleDocRadius () const |
| QRectF | handleGrabRect (const QPointF &position) const |
| QRectF | handlePaintRect (const QPointF &position) const |
| int | handleRadius () const |
| Convenience function to get the current handle radius. | |
| bool | isActivated () const |
| KoToolBase (KoToolBasePrivate &dd) | |
| KoPointerEvent * | lastDeliveredPointerEvent () const |
| void | setAbstractResource (KoAbstractCanvasResourceInterfaceSP abstractResource) |
| void | setConverter (KoDerivedResourceConverterSP converter) |
| void | setIsOpacityPresetMode (bool value) |
| void | setMaskSyntheticEvents (bool value) |
| void | setTextMode (bool value) |
| QHash< int, KoAbstractCanvasResourceInterfaceSP > | toolAbstractResources () |
| QHash< int, KoDerivedResourceConverterSP > | toolConverters () |
| void | useCursor (const QCursor &cursor) |
Protected Attributes inherited from KisToolFreehand | |
| bool | m_assistant {false} |
| bool | m_eraser_snapping {false} |
| double | m_magnetism {1.0} |
| bool | m_only_one_assistant {true} |
Protected Attributes inherited from KisToolPaint | |
| KisOptimizedBrushOutline | m_currentOutline |
| QRectF | m_oldColorPreviewUpdateRect |
| QRectF | m_oldOutlineRect |
| QPointF | m_outlineDocPoint |
| bool | m_paintOutline {false} |
Protected Attributes inherited from KoToolBase | |
| KoToolBasePrivate * | d_ptr |
Properties inherited from KisTool | |
| bool | isActive |
Definition at line 26 of file kis_tool_lazy_brush.h.
| KisToolLazyBrush::KisToolLazyBrush | ( | KoCanvasBase * | canvas | ) |
Definition at line 45 of file kis_tool_lazy_brush.cpp.
|
override |
Definition at line 54 of file kis_tool_lazy_brush.cpp.
Definition at line 72 of file kis_tool_lazy_brush.cpp.
References KisToolFreehand::activate(), Private::canvas, KisViewManager::canvasResourceProvider(), KisTool::currentNode(), KIS_ASSERT, m_d, KisColorizeMask::regeneratePrefilteredDeviceIfNeeded(), slotCurrentNodeChanged(), and KisCanvas2::viewManager().
|
overridevirtual |
Reimplemented from KisToolFreehand.
Definition at line 224 of file kis_tool_lazy_brush.cpp.
References KoToolBase::action(), KisToolFreehand::activateAlternateAction(), KisTool::activatePrimaryAction(), KisLayerPropertiesIcons::colorizeEditKeyStrokes, KisLayerPropertiesIcons::colorizeShowColoring, KisTool::currentNode(), KisTool::image(), m_d, KisLayerPropertiesIcons::nodeProperty(), KisTool::Secondary, KisLayerPropertiesIcons::setNodePropertyAutoUndo(), and KisTool::Third.
|
overridevirtual |
Called by KisToolProxy when the primary action of the tool is going to be started now, that is when all the modifiers are pressed and the only thing left is just to press the mouse button. On coming of this callback the tool is supposed to prepare the cursor and/or the outline to show the user shat is going to happen next
Reimplemented from KisTool.
Definition at line 168 of file kis_tool_lazy_brush.cpp.
References KisTool::activatePrimaryAction(), canCreateColorizeMask(), colorizeMaskActive(), KisCursor::handCursor(), m_d, KisToolPaint::setOutlineVisible(), and KoToolBase::useCursor().
|
overridevirtual |
Reimplemented from KisToolFreehand.
Definition at line 306 of file kis_tool_lazy_brush.cpp.
References KoToolBase::action(), KisToolFreehand::beginAlternateAction(), beginPrimaryAction(), m_d, KisTool::Secondary, and KisTool::Third.
|
overridevirtual |
Called by KisToolProxy when a primary action for the tool is started. The event stores the original event that started the stroke. The event is accepted by default. If the tool decides to ignore this particular action (e.g. when the node is not editable), it should call event->ignore(). Then no further continuePrimaryAction() or endPrimaryAction() will be called until the next user action.
Reimplemented from KisToolFreehand.
Definition at line 189 of file kis_tool_lazy_brush.cpp.
References KisToolFreehand::beginPrimaryAction(), canCreateColorizeMask(), KisLayerPropertiesIcons::colorizeEditKeyStrokes, colorizeMaskActive(), KisTool::currentNode(), KisTool::image(), KIS_SAFE_ASSERT_RECOVER_NOOP, m_d, KisLayerPropertiesIcons::setNodePropertyAutoUndo(), shouldActivateKeyStrokes(), and tryCreateColorizeMask().
|
private |
Definition at line 130 of file kis_tool_lazy_brush.cpp.
References KisTool::currentNode().
|
private |
Definition at line 124 of file kis_tool_lazy_brush.cpp.
References KisTool::currentNode().
|
overridevirtual |
Reimplemented from KisToolFreehand.
Definition at line 315 of file kis_tool_lazy_brush.cpp.
References KoToolBase::action(), KisToolFreehand::continueAlternateAction(), continuePrimaryAction(), m_d, KisTool::Secondary, and KisTool::Third.
|
overridevirtual |
Called by KisToolProxy when the primary action is in progress of pointer movement. If the tool has ignored the event in beginPrimaryAction(), this method will not be called.
Actual painting
Reimplemented from KisToolFreehand.
Definition at line 212 of file kis_tool_lazy_brush.cpp.
References KisToolFreehand::continuePrimaryAction(), and m_d.
|
overridevirtual |
Reimplement this if your tool actually has an option widget. Sets the option widget to 0 by default.
Reimplemented from KisTool.
Definition at line 345 of file kis_tool_lazy_brush.cpp.
References Private::canvas, KisViewManager::canvasResourceProvider(), KIS_ASSERT, KoToolBase::toolId(), and KisCanvas2::viewManager().
|
overrideslot |
Definition at line 89 of file kis_tool_lazy_brush.cpp.
References KisToolFreehand::deactivate(), m_d, and tryDisableKeyStrokesOnMask().
|
overridevirtual |
Reimplemented from KisToolFreehand.
Definition at line 263 of file kis_tool_lazy_brush.cpp.
References KoToolBase::action(), KisLayerPropertiesIcons::colorizeEditKeyStrokes, KisLayerPropertiesIcons::colorizeShowColoring, KisTool::currentNode(), KisToolFreehand::deactivateAlternateAction(), KisTool::deactivatePrimaryAction(), KisTool::image(), m_d, KisLayerPropertiesIcons::nodeProperty(), KisTool::Secondary, KisLayerPropertiesIcons::setNodePropertyAutoUndo(), and KisTool::Third.
|
overridevirtual |
Called by KisToolProxy when the primary is no longer possible to be started now, e.g. when its modifiers and released. The tool is supposed to revert all the preparations it has done in activatePrimaryAction().
Reimplemented from KisTool.
Definition at line 178 of file kis_tool_lazy_brush.cpp.
References KisTool::deactivatePrimaryAction(), m_d, resetCursorStyle(), and KisToolPaint::setOutlineVisible().
|
overridevirtual |
Reimplemented from KisToolFreehand.
Definition at line 324 of file kis_tool_lazy_brush.cpp.
References KoToolBase::action(), KisToolFreehand::endAlternateAction(), endPrimaryAction(), m_d, KisTool::Secondary, and KisTool::Third.
|
overridevirtual |
Called by KisToolProxy when the primary action is being finished, that is while mouseRelease or tabletRelease event. If the tool has ignored the event in beginPrimaryAction(), this method will not be called.
Reimplemented from KisToolFreehand.
Definition at line 218 of file kis_tool_lazy_brush.cpp.
References KisToolFreehand::endPrimaryAction(), and m_d.
|
overridevirtual |
explicitUserStrokeEndRequest is called by the input manager when the user presses Enter key or any equivalent. This callback comes before requestStrokeEnd(), which comes from a different source.
Reimplemented from KoToolBase.
Definition at line 333 of file kis_tool_lazy_brush.cpp.
References colorizeMaskActive(), KisLayerPropertiesIcons::colorizeNeedsUpdate, KisTool::currentNode(), KisTool::image(), m_d, KisLayerPropertiesIcons::setNodePropertyAutoUndo(), and tryCreateColorizeMask().
|
overrideprotectedslot |
Definition at line 111 of file kis_tool_lazy_brush.cpp.
References canCreateColorizeMask(), colorizeMaskActive(), KisCursor::handCursor(), m_d, KisToolFreehand::resetCursorStyle(), KisToolPaint::setOutlineVisible(), and KoToolBase::useCursor().
|
private |
Definition at line 136 of file kis_tool_lazy_brush.cpp.
References KisLayerPropertiesIcons::colorizeEditKeyStrokes, KisTool::currentNode(), and KisLayerPropertiesIcons::nodeProperty().
Definition at line 96 of file kis_tool_lazy_brush.cpp.
References KisSharedPtr< T >::data(), m_d, KisColorizeMask::regeneratePrefilteredDeviceIfNeeded(), and tryDisableKeyStrokesOnMask().
|
private |
Definition at line 146 of file kis_tool_lazy_brush.cpp.
References Private::canvas, KisNode::childNodes(), KisNodeManager::createNode(), KisTool::currentNode(), KisViewManager::nodeManager(), KoProperties::setProperty(), KisNodeManager::slotNonUiActivatedNode(), and KisCanvas2::viewManager().
|
private |
Definition at line 58 of file kis_tool_lazy_brush.cpp.
References KisLayerPropertiesIcons::colorizeEditKeyStrokes, KisTool::image(), m_d, and KisLayerPropertiesIcons::setNodePropertyAutoUndo().
|
private |
Definition at line 73 of file kis_tool_lazy_brush.h.