Krita Source Code Documentation
Loading...
Searching...
No Matches
KisPaintingTweaks::PenBrushSaver Class Reference

#include <kis_painting_tweaks.h>

Classes

struct  allow_noop_t
 

Public Member Functions

 PenBrushSaver (QPainter *painter)
 
 PenBrushSaver (QPainter *painter, const QPair< QPen, QBrush > &pair)
 
 PenBrushSaver (QPainter *painter, const QPair< QPen, QBrush > &pair, allow_noop_t)
 
 PenBrushSaver (QPainter *painter, const QPen &pen, const QBrush &brush)
 
 ~PenBrushSaver ()
 

Static Public Attributes

static constexpr allow_noop_t allow_noop { }
 

Private Member Functions

 PenBrushSaver (const PenBrushSaver &rhs)=delete
 

Private Attributes

QBrush m_brush
 
QPainter * m_painter
 
QPen m_pen
 

Detailed Description

A special class to save painter->pen() and painter->brush() using RAII principle.

Definition at line 47 of file kis_painting_tweaks.h.

Constructor & Destructor Documentation

◆ PenBrushSaver() [1/5]

KisPaintingTweaks::PenBrushSaver::PenBrushSaver ( QPainter * painter)

Saves pen and brush state of the provided painter object. painter cannot be null.

Definition at line 57 of file kis_painting_tweaks.cpp.

58 : m_painter(painter),
59 m_pen(painter->pen()),
60 m_brush(painter->brush())
61{
62}

◆ PenBrushSaver() [2/5]

KisPaintingTweaks::PenBrushSaver::PenBrushSaver ( QPainter * painter,
const QPen & pen,
const QBrush & brush )

Overrides pen and brush of painter with the provided values. painter cannot be null.

Definition at line 64 of file kis_painting_tweaks.cpp.

65 : PenBrushSaver(painter)
66{
67 m_painter->setPen(pen);
68 m_painter->setBrush(brush);
69}

References m_painter.

◆ PenBrushSaver() [3/5]

KisPaintingTweaks::PenBrushSaver::PenBrushSaver ( QPainter * painter,
const QPair< QPen, QBrush > & pair )

Overrides pen and brush of painter with the provided values. painter cannot be null.

Definition at line 71 of file kis_painting_tweaks.cpp.

72 : PenBrushSaver(painter)
73{
74 m_painter->setPen(pair.first);
75 m_painter->setBrush(pair.second);
76}

References m_painter.

◆ PenBrushSaver() [4/5]

KisPaintingTweaks::PenBrushSaver::PenBrushSaver ( QPainter * painter,
const QPair< QPen, QBrush > & pair,
allow_noop_t  )

A special constructor of PenBrushSaver that allows painter to be null. Passing null pointer will basically mean that the whole saver existence will be a noop.

Definition at line 78 of file kis_painting_tweaks.cpp.

79 : m_painter(painter)
80{
81 if (m_painter) {
82 m_pen = m_painter->pen();
83 m_brush = m_painter->brush();
84 m_painter->setPen(pair.first);
85 m_painter->setBrush(pair.second);
86 }
87}

References m_brush, m_painter, and m_pen.

◆ ~PenBrushSaver()

KisPaintingTweaks::PenBrushSaver::~PenBrushSaver ( )

Restores the state of the painter that has been saved during the construction of the saver

Definition at line 89 of file kis_painting_tweaks.cpp.

90{
91 if (m_painter) {
92 m_painter->setPen(m_pen);
93 m_painter->setBrush(m_brush);
94 }
95}

References m_brush, m_painter, and m_pen.

◆ PenBrushSaver() [5/5]

KisPaintingTweaks::PenBrushSaver::PenBrushSaver ( const PenBrushSaver & rhs)
privatedelete

Member Data Documentation

◆ allow_noop

constexpr allow_noop_t KisPaintingTweaks::PenBrushSaver::allow_noop { }
staticconstexpr

Definition at line 51 of file kis_painting_tweaks.h.

51{ };

◆ m_brush

QBrush KisPaintingTweaks::PenBrushSaver::m_brush
private

Definition at line 83 of file kis_painting_tweaks.h.

◆ m_painter

QPainter* KisPaintingTweaks::PenBrushSaver::m_painter
private

Definition at line 81 of file kis_painting_tweaks.h.

◆ m_pen

QPen KisPaintingTweaks::PenBrushSaver::m_pen
private

Definition at line 82 of file kis_painting_tweaks.h.


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