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 48 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 58 of file kis_painting_tweaks.cpp.

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

◆ 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 65 of file kis_painting_tweaks.cpp.

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

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 72 of file kis_painting_tweaks.cpp.

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

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 79 of file kis_painting_tweaks.cpp.

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

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 90 of file kis_painting_tweaks.cpp.

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

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 52 of file kis_painting_tweaks.h.

52{ };

◆ m_brush

QBrush KisPaintingTweaks::PenBrushSaver::m_brush
private

Definition at line 84 of file kis_painting_tweaks.h.

◆ m_painter

QPainter* KisPaintingTweaks::PenBrushSaver::m_painter
private

Definition at line 82 of file kis_painting_tweaks.h.

◆ m_pen

QPen KisPaintingTweaks::PenBrushSaver::m_pen
private

Definition at line 83 of file kis_painting_tweaks.h.


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