25 if (!selection)
return;
29 : m_image(image), m_sel(sel), m_filter(filter) {}
30 ~FilterSelection()
override {
delete m_filter;}
39 m_filter->
process(mergedSelection, processingRect);
41 mergedSelection->
setDirty(processingRect);
KisProcessingApplicator * beginAction(KisViewManager *view, const KUndo2MagicString &actionName)
void endAction(KisProcessingApplicator *applicator, const QString &xmlData)
void setDirty(const QRect &rc)
KisDefaultBoundsBaseSP defaultBounds() const
void applyCommand(KUndo2Command *command, KisStrokeJobData::Sequentiality sequentiality=KisStrokeJobData::SEQUENTIAL, KisStrokeJobData::Exclusivity exclusivity=KisStrokeJobData::NORMAL)
virtual QRect changeRect(const QRect &rect, KisDefaultBoundsBaseSP defaultBounds)
virtual KUndo2MagicString name()
virtual void process(KisPixelSelectionSP pixelSelection, const QRect &rect)=0
KUndo2Command * endAndTake()
KisSelectionSP selection()
KisImageWSP image() const
Return the image this view is displaying.
void addCommand(KUndo2Command *cmd)
void runFilter(KisSelectionFilter *filter, KisViewManager *view, const KisOperationConfiguration &config)
QRect selectedExactRect() const
QVector< QPolygon > outline() const
outline returns the outline of the current selection
void toXML(QDomDocument &, QDomElement &) const override
KisPixelSelectionSP pixelSelection
QRect selectedExactRect() const
Slow, but exact way of determining the rectangle that encloses the selection.