Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCanvasDecoration Class Referenceabstract

#include <kis_canvas_decoration.h>

+ Inheritance diagram for KisCanvasDecoration:

Classes

struct  Private
 

Public Slots

virtual void setVisible (bool v)
 
void toggleVisibility ()
 

Public Member Functions

const QString & id () const
 
 KisCanvasDecoration (const QString &id, QPointer< KisView >parent)
 
virtual void notifyWindowMinimized (bool minimized)
 
void paint (QPainter &gc, const QRectF &updateRect, const KisCoordinatesConverter *converter, KisCanvas2 *canvas)
 
int priority () const
 
void setView (QPointer< KisView > imageView)
 
bool visible () const
 
 ~KisCanvasDecoration () override
 
- Public Member Functions inherited from KisShared
bool deref ()
 
bool ref ()
 
int refCount ()
 
QAtomicInt * sharedWeakReference ()
 

Static Public Member Functions

static bool comparePriority (KisCanvasDecorationSP decoration1, KisCanvasDecorationSP decoration2)
 

Protected Member Functions

int decorationThickness () const
 
virtual void drawDecoration (QPainter &gc, const QRectF &updateArea, const KisCoordinatesConverter *converter, KisCanvas2 *canvas)=0
 
void setPriority (int value)
 
QPointer< KisViewview () const
 
- Protected Member Functions inherited from KisShared
 KisShared ()
 
 ~KisShared ()
 

Private Attributes

Private *const d
 

Detailed Description

This class is the base class for object that draw a decoration on the canvas, for instance, selections, grids, tools, ...

Definition at line 30 of file kis_canvas_decoration.h.

Constructor & Destructor Documentation

◆ KisCanvasDecoration()

KisCanvasDecoration::KisCanvasDecoration ( const QString & id,
QPointer< KisView > parent )

Definition at line 19 of file kis_canvas_decoration.cc.

20 : QObject(parent)
21 , d(new Private)
22{
23 d->visible = false;
24 d->view = parent;
25 d->id = id;
26}
const QString & id() const
ChildIterator< value_type, is_const > parent(const ChildIterator< value_type, is_const > &it)
Definition KisForest.h:327

References d, KisCanvasDecoration::Private::id, id(), KisCanvasDecoration::Private::view, and KisCanvasDecoration::Private::visible.

◆ ~KisCanvasDecoration()

KisCanvasDecoration::~KisCanvasDecoration ( )
override

Definition at line 28 of file kis_canvas_decoration.cc.

29{
30 delete d;
31}

References d.

Member Function Documentation

◆ comparePriority()

bool KisCanvasDecoration::comparePriority ( KisCanvasDecorationSP decoration1,
KisCanvasDecorationSP decoration2 )
static

Definition at line 93 of file kis_canvas_decoration.cc.

94{
95 return decoration1->priority() < decoration2->priority();
96}

◆ decorationThickness()

int KisCanvasDecoration::decorationThickness ( ) const
protected

Definition at line 85 of file kis_canvas_decoration.cc.

86{
87 if (d->view && d->view->canvasBase() && d->view->canvasBase()->resourceManager()) {
88 return d->view->canvasBase()->resourceManager()->decorationThickness();
89 }
90 return 1;
91}

References d, and KisCanvasDecoration::Private::view.

◆ drawDecoration()

virtual void KisCanvasDecoration::drawDecoration ( QPainter & gc,
const QRectF & updateArea,
const KisCoordinatesConverter * converter,
KisCanvas2 * canvas )
protectedpure virtual

◆ id()

const QString & KisCanvasDecoration::id ( ) const

Definition at line 39 of file kis_canvas_decoration.cc.

40{
41 return d->id;
42}

References d, and KisCanvasDecoration::Private::id.

◆ notifyWindowMinimized()

void KisCanvasDecoration::notifyWindowMinimized ( bool minimized)
virtual

Reimplemented in KisSelectionDecoration.

Definition at line 97 of file kis_canvas_decoration.cc.

98{
99
100}

◆ paint()

void KisCanvasDecoration::paint ( QPainter & gc,
const QRectF & updateRect,
const KisCoordinatesConverter * converter,
KisCanvas2 * canvas = 0 )

Will paint the decoration on the QPainter, if the visible is set to true.

Parameters
gcthe painter
updateRectdirty rect in document pixels
convertercoordinate converter
canvasthe canvas

Definition at line 64 of file kis_canvas_decoration.cc.

65{
67
68 if (!canvas) {
69 dbgFile<<"canvas does not exist:"<<canvas;
70 }
71
72 drawDecoration(gc, updateArea, converter,canvas);
73}
virtual void drawDecoration(QPainter &gc, const QRectF &updateArea, const KisCoordinatesConverter *converter, KisCanvas2 *canvas)=0
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128
#define dbgFile
Definition kis_debug.h:53

References dbgFile, drawDecoration(), KIS_SAFE_ASSERT_RECOVER_RETURN, and visible().

◆ priority()

int KisCanvasDecoration::priority ( ) const

Return z-order priority of the decoration. The higher the priority, the higher the decoration is painted.

Definition at line 75 of file kis_canvas_decoration.cc.

References d, and KisCanvasDecoration::Private::priority.

◆ setPriority()

void KisCanvasDecoration::setPriority ( int value)
protected

Set the priority of the decoration. The higher the priority, the higher the decoration is painted.

Definition at line 80 of file kis_canvas_decoration.cc.

81{
82 d->priority = value;
83}
float value(const T *src, size_t ch)

References d, KisCanvasDecoration::Private::priority, and value().

◆ setView()

void KisCanvasDecoration::setView ( QPointer< KisView > imageView)

Definition at line 33 of file kis_canvas_decoration.cc.

34{
35 d->view = imageView;
36}

References d, and KisCanvasDecoration::Private::view.

◆ setVisible

void KisCanvasDecoration::setVisible ( bool v)
virtualslot

Set if the decoration is visible or not.

Reimplemented in KisMirrorAxis, and KisSelectionDecoration.

Definition at line 44 of file kis_canvas_decoration.cc.

45{
46 d->visible = v;
47 if (d->view &&
48 d->view->canvasBase()) {
49
50 d->view->canvasBase()->updateCanvas();
51 }
52}
qreal v

References d, v, KisCanvasDecoration::Private::view, and KisCanvasDecoration::Private::visible.

◆ toggleVisibility

void KisCanvasDecoration::toggleVisibility ( )
slot

If decoration is visible, hide it, if not show it.

Definition at line 59 of file kis_canvas_decoration.cc.

60{
62}
virtual void setVisible(bool v)

References setVisible(), and visible().

◆ view()

QPointer< KisView > KisCanvasDecoration::view ( ) const
protected
Returns
the parent KisView

Definition at line 101 of file kis_canvas_decoration.cc.

102{
103 return d->view;
104}

References d, and KisCanvasDecoration::Private::view.

◆ visible()

bool KisCanvasDecoration::visible ( ) const
Returns
whether the decoration is visible.

Definition at line 54 of file kis_canvas_decoration.cc.

55{
56 return d->visible;
57}

References d, and KisCanvasDecoration::Private::visible.

Member Data Documentation

◆ d

Private* const KisCanvasDecoration::d
private

Definition at line 95 of file kis_canvas_decoration.h.


The documentation for this class was generated from the following files: