|
Krita Source Code Documentation
|
#include <kis_selection_filters.h>
Inheritance diagram for KisInvertSelectionFilter:Public Member Functions | |
| QRect | changeRect (const QRect &rect, KisDefaultBoundsBaseSP defaultBounds) override |
| KUndo2MagicString | name () override |
| void | process (KisPixelSelectionSP pixelSelection, const QRect &rect) override |
Public Member Functions inherited from KisSelectionFilter | |
| virtual | ~KisSelectionFilter () |
Additional Inherited Members | |
Protected Member Functions inherited from KisSelectionFilter | |
| void | computeBorder (qint32 *circ, qint32 xradius, qint32 yradius) |
| void | computeTransition (quint8 *transition, quint8 **buf, qint32 width) |
| void | rotatePointers (quint8 **p, quint32 n) |
Definition at line 134 of file kis_selection_filters.h.
|
overridevirtual |
Reimplemented from KisSelectionFilter.
Definition at line 888 of file kis_selection_filters.cpp.
References KisDefaultBoundsBase::bounds().
|
overridevirtual |
Reimplemented from KisSelectionFilter.
Definition at line 883 of file kis_selection_filters.cpp.
References kundo2_i18n().
|
overridevirtual |
A special treatment for the user-visible selection inversion:
If the selection is fully contained inside the image, then just invert it pixel-by-pixel without changing the default pixel. It makes it selectedExactRect() work a little bit more expected for the user (see bug 457820).
If the selection spreads outside the image bounds, then just invert it in a mathematical way adjusting the default pixel.
Implements KisSelectionFilter.
Definition at line 894 of file kis_selection_filters.cpp.
References KisDefaultBoundsBase::bounds(), KisPaintDevice::crop(), KisPaintDevice::defaultBounds(), KisPixelSelection::invalidateOutlineCache(), KisPixelSelection::invert(), MAX_SELECTED, KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::nextPixel(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::rawData(), and KisPixelSelection::selectedExactRect().