|
Krita Source Code Documentation
|
#include <kis_tool_smart_patch.h>
Inheritance diagram for KisToolSmartPatch:Classes | |
| class | InpaintCommand |
| struct | Private |
Public Slots | |
| 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 | activatePrimaryAction () override |
| void | beginPrimaryAction (KoPointerEvent *event) override |
| void | continuePrimaryAction (KoPointerEvent *event) override |
| QWidget * | createOptionWidget () override |
| void | deactivatePrimaryAction () override |
| void | endPrimaryAction (KoPointerEvent *event) override |
| int | flags () const override |
| KisToolSmartPatch (KoCanvasBase *canvas) | |
| void | paint (QPainter &painter, const KoViewConverter &converter) override |
| ~KisToolSmartPatch () override | |
Public Member Functions inherited from KisToolPaint | |
| 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 () |
| virtual bool | primaryActionSupportsHiResEvents () const |
| virtual bool | supportsPaintingAssistants () const |
| ~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) |
| virtual void | explicitUserStrokeEndRequest () |
| 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. | |
| 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 |
| virtual bool | wantsAutoScroll () const |
| ~KoToolBase () override | |
Protected Slots | |
| void | resetCursorStyle () override |
Protected Slots inherited from KisTool | |
| virtual void | resetCursorStyle () |
Private Member Functions | |
| void | addMaskPath (KoPointerEvent *event) |
| QPainterPath | brushOutline () |
| QPainterPath | getBrushOutlinePath (const QPointF &documentPos, const KoPointerEvent *event) |
| void | requestUpdateOutline (const QPointF &outlineDocPoint, const KoPointerEvent *event) override |
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 KisToolPaint | |
| void | activateAlternateAction (AlternateAction action) 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 |
| void | deactivateAlternateAction (AlternateAction action) override |
| void | enableControl (QWidget *control, bool value) |
| void | endAlternateAction (KoPointerEvent *event, AlternateAction action) override |
| virtual KisOptimizedBrushOutline | getOutlinePath (const QPointF &documentPos, const KoPointerEvent *event, KisPaintOpSettings::OutlineMode outlineMode) |
| bool | isEraser () const |
| bool | isOutlineEnabled () const |
| bool | isOutlineVisible () const |
| virtual QString | quickHelp () const |
| 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 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 31 of file kis_tool_smart_patch.h.
| KisToolSmartPatch::KisToolSmartPatch | ( | KoCanvasBase * | canvas | ) |
Definition at line 67 of file kis_tool_smart_patch.cpp.
References KisPainter::FillStyleForegroundColor, KoColorSpaceRegistry::instance(), m_d, and KisToolPaint::setSupportOutline().
|
override |
Definition at line 81 of file kis_tool_smart_patch.cpp.
References m_d.
Definition at line 87 of file kis_tool_smart_patch.cpp.
References KisToolPaint::activate().
|
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 KisToolPaint.
Definition at line 102 of file kis_tool_smart_patch.cpp.
References KisToolPaint::activatePrimaryAction(), and KisToolPaint::setOutlineVisible().
|
private |
Definition at line 114 of file kis_tool_smart_patch.cpp.
References KisAlgebra2D::alignForZoom(), brushOutline(), Private::canvas, KisCanvas2::coordinatesConverter, KisTool::currentImage(), KisImage::documentToPixel(), KisCoordinatesConverter::effectivePhysicalZoom(), KIS_ASSERT, m_d, KoPointerEvent::point, and KisCanvas2::updateCanvas().
|
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 KisTool.
Definition at line 127 of file kis_tool_smart_patch.cpp.
References addMaskPath(), KisTool::beginPrimaryAction(), Private::canvas, KisTool::currentNode(), KisFloatingMessage::Medium, KisTool::nodePaintAbility(), KisTool::PAINT, KisTool::PAINT_MODE, KisToolPaint::setMode(), and KisCanvas2::viewManager().
|
private |
Definition at line 188 of file kis_tool_smart_patch.cpp.
References m_d.
|
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.
Reimplemented from KisTool.
Definition at line 145 of file kis_tool_smart_patch.cpp.
References addMaskPath(), CHECK_MODE_SANITY_OR_RETURN, KisTool::continuePrimaryAction(), and KisTool::PAINT_MODE.
|
overridevirtual |
Reimplement this if your tool actually has an option widget. Sets the option widget to 0 by default.
Reimplemented from KisToolPaint.
Definition at line 265 of file kis_tool_smart_patch.cpp.
References Private::canvas, KisViewManager::canvasResourceProvider(), KIS_ASSERT, m_d, KoToolBase::toolId(), and KisCanvas2::viewManager().
|
overrideslot |
Definition at line 92 of file kis_tool_smart_patch.cpp.
References KisToolPaint::deactivate().
|
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 KisToolPaint.
Definition at line 108 of file kis_tool_smart_patch.cpp.
References KisToolPaint::deactivatePrimaryAction(), and KisToolPaint::setOutlineVisible().
|
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 KisTool.
Definition at line 152 of file kis_tool_smart_patch.cpp.
References KisResourcesSnapshot::activeSelection(), addMaskPath(), KisProcessingApplicator::applyCommand(), KisStrokeJobData::BARRIER, Private::canvas, CHECK_MODE_SANITY_OR_RETURN, KisPainter::convertToAlphaAsAlpha(), KisTool::currentNode(), KisProcessingApplicator::end(), KisTool::endPrimaryAction(), KisStrokeJobData::EXCLUSIVE, KisTool::HOVER_MODE, KisTool::image(), kundo2_i18n(), m_d, KisProcessingApplicator::NONE, KisTool::PAINT_MODE, KisToolPaint::setMode(), KisCursor::waitCursor(), and KisImage::waitForDone().
|
inlineoverridevirtual |
Reimplemented from KisToolPaint.
Definition at line 47 of file kis_tool_smart_patch.h.
References KisTool::FLAG_USES_CUSTOM_PRESET, and KisTool::FLAG_USES_CUSTOM_SIZE.
|
private |
Definition at line 196 of file kis_tool_smart_patch.cpp.
References KisAlgebra2D::alignForZoom(), brushOutline(), Private::canvas, KisCanvas2::coordinatesConverter, KisTool::currentImage(), KisImage::documentToPixel(), KisCoordinatesConverter::effectivePhysicalZoom(), and KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE.
|
overridevirtual |
Called by the canvas to paint any decorations that the tool deems needed. The painter has the top left of the canvas as its origin.
| painter | used for painting the shape |
| converter | to convert between internal and view coordinates. |
Reimplemented from KisToolPaint.
Definition at line 247 of file kis_tool_smart_patch.cpp.
References m_d, KisTool::paintToolOutline(), and KisTool::pixelToView().
|
overrideprivatevirtual |
Reimplemented from KisToolPaint.
Definition at line 211 of file kis_tool_smart_patch.cpp.
References Private::canvas, KisTool::currentImage(), KisTool::currentPaintOpPreset(), getBrushOutlinePath(), m_d, KisImage::pixelToDocument(), KisCanvas2::updateCanvas(), KisCanvas2::viewConverter(), and KoViewConverter::zoom().
|
overrideprotectedslot |
Definition at line 97 of file kis_tool_smart_patch.cpp.
References KisTool::resetCursorStyle().
|
private |
Definition at line 65 of file kis_tool_smart_patch.h.