11#include <QVarLengthArray>
12#include <QApplication>
18#include <klocalizedstring.h>
54 connect(this->
view()->canvasBase()->resourceManager(), SIGNAL(canvasResourceChanged(
int,
const QVariant&)),
this, SLOT(
slotCanvasResourcesChanged(
int,
const QVariant&)));
92 return visible() && selection &&
99 QColor white(Qt::white);
100 QColor black(Qt::black);
117 if (!
view()->isCurrent() ||
120 view()->image()->setOverlaySelectionMask(mask);
140 if (
view() &&
view()->canvasBase()) {
141 view()->canvasBase()->updateCanvas();
154 view()->canvasBase()->updateCanvas();
166 if (!selection)
return;
193 if (!selection)
return;
198 view()->canvasBase()->updateCanvas();
208 Q_UNUSED(updateRect);
228 gc.setTransform(transform,
false);
231 gc.setRenderHints(QPainter::SmoothPixmapTransform |
232 QPainter::Antialiasing,
false);
249 gc.setPen(Qt::NoPen);
250 gc.drawPath(
p1 -
p2);
KoColorDisplayRendererInterface * displayRendererInterface() const override
displayRendererInterface The display renderer interface has a number of color conversion functions wh...
KisDisplayColorConverter displayColorConverter
void setPriority(int value)
QPointer< KisView > view() const
int decorationThickness() const
virtual void setVisible(bool v)
static KisConfigNotifier * instance()
bool antialiasSelectionOutline(bool defaultValue=false) const
bool selectionActionBar(bool defaultValue=false) const
QTransform imageToWidgetTransform() const
QColor convertColorToDisplayColorSpace(const KoColor color, bool applyOcio=false) const
convertColorToDisplayColorSpace This applies displayfiltering to the given KoColor,...
static KisImageConfigNotifier * instance()
qreal selectionOutlineOpacity(bool defaultValue=false) const
QColor selectionOverlayMaskColor(bool defaultValue=false) const
static KisPart * instance()
void setVisible(bool visible)
void canvasWidgetChanged(KisCanvasWidgetBase *canvas)
void draw(QPainter &painter, const KoColorDisplayRendererInterface *displayRendererInterface)
void setEnabled(bool enabled)
void slotStartUpdateSelection()
void setVisible(bool v) override
QPainterPath m_outlinePath
void notifyWindowMinimized(bool minimized) override
QTransform m_thumbnailImageTransform
void toggleSlectionVisibility()
~KisSelectionDecoration() override
void setCanvasWidget(KisCanvasWidgetBase *canvas) override
bool m_selectionVisibility
void slotCanvasResourcesChanged(int key, const QVariant &v)
void drawDecoration(QPainter &gc, const QRectF &updateRect, const KisCoordinatesConverter *converter, KisCanvas2 *canvas) override
bool m_antialiasSelectionOutline
KisSignalCompressor m_signalCompressor
KisSelectionDecoration(QPointer< KisView > view)
KisSelectionActionsPanel * m_selectionActionsPanel
void fromQColor(const QColor &c)
Convenient function for converting from a QColor.
static const unsigned int ANT_LENGTH
static const unsigned int ANT_ADVANCE_WIDTH
static const unsigned int ANT_SPACE
void initAntsPen(QPen *antsPen, QPen *outlinePen, int antLength, int antSpace, QColor black, QColor white)
@ DecorationThickness
Integer, the thickness of single px decorations, will be adjusted by HiDPI settings....
virtual bool visible(bool recursive=false) const
bool hasNonEmptyPixelSelection() const
bool thumbnailImageValid() const
QTransform thumbnailImageTransform() const
bool outlineCacheValid() const
QImage thumbnailImage() const
bool hasNonEmptyShapeSelection() const
QPainterPath outlineCache() const