Krita Source Code Documentation
Loading...
Searching...
No Matches
MaskingBrushModel Class Reference
+ Inheritance diagram for MaskingBrushModel:

Classes

struct  OriginalBrushInfo
 

Public Member Functions

MaskingBrushData bakedOptionData () const
 
 LAGER_QT (compositeOpId)
 
 LAGER_QT (realBrushSize)
 
 LAGER_QT (theoreticalBrushSize)
 
 LAGER_QT (warningLabelText)
 
 LAGER_QT (warningLabelVisible)
 
 LAGER_QT_CURSOR (bool, isEnabled)
 
 LAGER_QT_CURSOR (QString, compositeOpId)
 
 LAGER_QT_READER (bool, warningLabelVisible)
 
 LAGER_QT_READER (qreal, realBrushSize)
 
 LAGER_QT_READER (qreal, theoreticalBrushSize)
 
 LAGER_QT_READER (QString, warningLabelText)
 
 m_maskingBrushCursor (m_maskingData[&MaskingBrushData::brush])
 
 MaskingBrushModel (lager::cursor< MaskingBrushData > maskingData, lager::cursor< qreal > commonBrushSizeData, lager::reader< qreal > masterBrushSize)
 
void startPreserveMode ()
 
void updatePreserveMode ()
 

Public Attributes

KisAutoBrushModel autoBrushModel
 
lager::cursor< qreal > m_commonBrushSizeData
 
lager::cursor< MaskingBrushDatam_maskingData
 
lager::reader< qreal > m_masterBrushSize
 
lager::state< bool, lager::automatic_tag > m_preserveMode
 
KisPredefinedBrushModel predefinedBrushModel
 
KisTextBrushModel textBrushModel
 

Private Attributes

lager::reader< BrushDatam_maskingBrushCursor
 
std::optional< OriginalBrushInfom_originalBrushInfo
 

Detailed Description

Definition at line 60 of file KisMaskingBrushOption.cpp.

Constructor & Destructor Documentation

◆ MaskingBrushModel()

MaskingBrushModel::MaskingBrushModel ( lager::cursor< MaskingBrushData > maskingData,
lager::cursor< qreal > commonBrushSizeData,
lager::reader< qreal > masterBrushSize )
inline

Definition at line 64 of file KisMaskingBrushOption.cpp.

65 : m_maskingData(maskingData),
66 m_commonBrushSizeData(commonBrushSizeData),
67 m_masterBrushSize(masterBrushSize),
68 m_preserveMode(false),
75 false),
lager::reader< qreal > m_masterBrushSize
KisPredefinedBrushModel predefinedBrushModel
KisTextBrushModel textBrushModel
KisAutoBrushModel autoBrushModel
lager::cursor< qreal > m_commonBrushSizeData
lager::state< bool, lager::automatic_tag > m_preserveMode
lager::cursor< MaskingBrushData > m_maskingData
PredefinedBrushData predefinedBrush

References KisBrushModel::MaskingBrushData::isEnabled, and m_maskingData.

Member Function Documentation

◆ bakedOptionData()

◆ LAGER_QT() [1/5]

MaskingBrushModel::LAGER_QT ( compositeOpId )
inline

◆ LAGER_QT() [2/5]

MaskingBrushModel::LAGER_QT ( realBrushSize )
inline

Definition at line 84 of file KisMaskingBrushOption.cpp.

References m_commonBrushSizeData.

◆ LAGER_QT() [3/5]

MaskingBrushModel::LAGER_QT ( theoreticalBrushSize )
inline

◆ LAGER_QT() [4/5]

MaskingBrushModel::LAGER_QT ( warningLabelText )
inline

Definition at line 89 of file KisMaskingBrushOption.cpp.

89 {
90 lager::with(LAGER_QT(realBrushSize),
91 LAGER_QT(theoreticalBrushSize))
QString warningLabelText(qreal realBrushSize, qreal theoreticalMaskingBrushSize)

References LAGER_QT(), and detail::warningLabelText().

◆ LAGER_QT() [5/5]

MaskingBrushModel::LAGER_QT ( warningLabelVisible )
inline

Definition at line 85 of file KisMaskingBrushOption.cpp.

85 {
86 lager::with(m_preserveMode,
87 LAGER_QT(theoreticalBrushSize).map(&detail::warningLabelVisible))
88 .map(std::logical_and<bool>{})},
bool warningLabelVisible(qreal theoreticalBrushSize)

References LAGER_QT(), m_preserveMode, and detail::warningLabelVisible().

◆ LAGER_QT_CURSOR() [1/2]

MaskingBrushModel::LAGER_QT_CURSOR ( bool ,
isEnabled  )

◆ LAGER_QT_CURSOR() [2/2]

MaskingBrushModel::LAGER_QT_CURSOR ( QString ,
compositeOpId  )

◆ LAGER_QT_READER() [1/4]

MaskingBrushModel::LAGER_QT_READER ( bool ,
warningLabelVisible  )

◆ LAGER_QT_READER() [2/4]

MaskingBrushModel::LAGER_QT_READER ( qreal ,
realBrushSize  )

◆ LAGER_QT_READER() [3/4]

MaskingBrushModel::LAGER_QT_READER ( qreal ,
theoreticalBrushSize  )

◆ LAGER_QT_READER() [4/4]

MaskingBrushModel::LAGER_QT_READER ( QString ,
warningLabelText  )

◆ m_maskingBrushCursor()

MaskingBrushModel::m_maskingBrushCursor ( m_maskingData [&MaskingBrushData::brush])
inline

Definition at line 93 of file KisMaskingBrushOption.cpp.

94 {
95 lager::watch(m_commonBrushSizeData, std::bind(&MaskingBrushModel::updatePreserveMode, this));
96 lager::watch(m_maskingBrushCursor, std::bind(&MaskingBrushModel::updatePreserveMode, this));
97 lager::watch(m_masterBrushSize, std::bind(&MaskingBrushModel::updatePreserveMode, this));
98 }
lager::reader< BrushData > m_maskingBrushCursor

References m_commonBrushSizeData, m_maskingBrushCursor, m_masterBrushSize, and updatePreserveMode().

◆ startPreserveMode()

void MaskingBrushModel::startPreserveMode ( )
inline

Definition at line 130 of file KisMaskingBrushOption.cpp.

131 {
133 {m_maskingData->brush,
134 m_masterBrushSize.get(),
136
137 m_preserveMode.set(true);
138 }
std::optional< OriginalBrushInfo > m_originalBrushInfo

References m_commonBrushSizeData, m_maskingData, m_masterBrushSize, m_originalBrushInfo, and m_preserveMode.

◆ updatePreserveMode()

void MaskingBrushModel::updatePreserveMode ( )
inline

Definition at line 117 of file KisMaskingBrushOption.cpp.

118 {
119 if (!m_preserveMode.get() || !m_originalBrushInfo) return;
120
121 if (m_originalBrushInfo->brush != m_maskingData->brush ||
122 !qFuzzyCompare(m_originalBrushInfo->masterSize, m_masterBrushSize.get()) ||
123 !qFuzzyCompare(m_originalBrushInfo->commonSize, m_commonBrushSizeData.get())) {
124
125 m_originalBrushInfo = std::nullopt;
126 m_preserveMode.set(false);
127 }
128 }

References m_commonBrushSizeData, m_maskingData, m_masterBrushSize, m_originalBrushInfo, and m_preserveMode.

Member Data Documentation

◆ autoBrushModel

KisAutoBrushModel MaskingBrushModel::autoBrushModel

Definition at line 106 of file KisMaskingBrushOption.cpp.

◆ m_commonBrushSizeData

lager::cursor<qreal> MaskingBrushModel::m_commonBrushSizeData

Definition at line 102 of file KisMaskingBrushOption.cpp.

◆ m_maskingBrushCursor

lager::reader<BrushData> MaskingBrushModel::m_maskingBrushCursor
private

Definition at line 156 of file KisMaskingBrushOption.cpp.

◆ m_maskingData

lager::cursor<MaskingBrushData> MaskingBrushModel::m_maskingData

Definition at line 101 of file KisMaskingBrushOption.cpp.

◆ m_masterBrushSize

lager::reader<qreal> MaskingBrushModel::m_masterBrushSize

Definition at line 103 of file KisMaskingBrushOption.cpp.

◆ m_originalBrushInfo

std::optional<OriginalBrushInfo> MaskingBrushModel::m_originalBrushInfo
private

Definition at line 155 of file KisMaskingBrushOption.cpp.

◆ m_preserveMode

lager::state<bool, lager::automatic_tag> MaskingBrushModel::m_preserveMode

Definition at line 104 of file KisMaskingBrushOption.cpp.

◆ predefinedBrushModel

KisPredefinedBrushModel MaskingBrushModel::predefinedBrushModel

Definition at line 107 of file KisMaskingBrushOption.cpp.

◆ textBrushModel

KisTextBrushModel MaskingBrushModel::textBrushModel

Definition at line 108 of file KisMaskingBrushOption.cpp.


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