Krita Source Code Documentation
Loading...
Searching...
No Matches
KisMaskingBrushOption Class Reference

#include <KisMaskingBrushOption.h>

+ Inheritance diagram for KisMaskingBrushOption:

Classes

struct  Private
 

Public Member Functions

 KisMaskingBrushOption (lager::reader< qreal > effectiveBrushSize)
 
void lodLimitations (KisPaintopLodLimitations *l) const override
 
lager::reader< bool > maskingBrushEnabledReader () const
 
void readOptionSetting (const KisPropertiesConfigurationSP setting) override
 
void setImage (KisImageWSP image) override
 
void writeOptionSetting (KisPropertiesConfigurationSP setting) const override
 
 ~KisMaskingBrushOption () override
 
- Public Member Functions inherited from KisPaintOpOption
KisPaintOpOption::PaintopCategory category () const
 
QWidget * configurationPage () const
 
OptionalLodLimitationsReader effectiveLodLimitations () const
 
virtual bool isCheckable () const
 
virtual bool isChecked () const
 
bool isEnabled () const
 
bool isLocked () const
 
 KisPaintOpOption (const QString &label, KisPaintOpOption::PaintopCategory category, bool checked)
 
 KisPaintOpOption (const QString &label, KisPaintOpOption::PaintopCategory category, lager::cursor< bool > checkedCursor)
 
 KisPaintOpOption (const QString &label, KisPaintOpOption::PaintopCategory category, lager::cursor< bool > checkedCursor, lager::reader< bool > externallyEnabledLink)
 
QString label () const
 
virtual void setCanvasResourcesInterface (KoCanvasResourcesInterfaceSP canvasResourcesInterface)
 
virtual void setChecked (bool checked)
 
void setLocked (bool value)
 
virtual void setNode (KisNodeWSP node)
 
virtual void setResourcesInterface (KisResourcesInterfaceSP resourcesInterface)
 
void startReadOptionSetting (const KisPropertiesConfigurationSP setting)
 
void startWriteOptionSetting (KisPropertiesConfigurationSP setting) const
 
 ~KisPaintOpOption () override
 

Private Slots

void slotCompositeModePropertyChanged (const QString &value)
 
void slotCompositeModeWidgetChanged (int index)
 

Private Attributes

const QScopedPointer< Privatem_d
 

Additional Inherited Members

- Public Types inherited from KisPaintOpOption
using OptionalLodLimitationsReader = std::optional<lager::reader<KisPaintopLodLimitations>>
 
enum  PaintopCategory {
  GENERAL , COLOR , TEXTURE , FILTER ,
  MASKING_BRUSH
}
 
- Signals inherited from KisPaintOpOption
void sigCheckedChanged (bool value)
 
void sigEnabledChanged (bool value)
 
void sigSettingChanged ()
 
- Protected Slots inherited from KisPaintOpOption
void emitCheckedChanged (bool checked)
 
void emitEnabledChanged (bool enabled)
 
void emitSettingChanged ()
 
- Protected Member Functions inherited from KisPaintOpOption
KoCanvasResourcesInterfaceSP canvasResourcesInterface () const
 
virtual OptionalLodLimitationsReader lodLimitationsReader () const
 
KisResourcesInterfaceSP resourcesInterface () const
 
void setConfigurationPage (QWidget *page)
 
- Protected Attributes inherited from KisPaintOpOption
bool m_checkable {false}
 
bool m_locked {false}
 

Detailed Description

Definition at line 17 of file KisMaskingBrushOption.h.

Constructor & Destructor Documentation

◆ KisMaskingBrushOption()

KisMaskingBrushOption::KisMaskingBrushOption ( lager::reader< qreal > effectiveBrushSize)

Definition at line 210 of file KisMaskingBrushOption.cpp.

211 : KisPaintOpOption(i18n("Brush Tip"), KisPaintOpOption::MASKING_BRUSH, true)
212 , m_d(new Private(effectiveBrushSize))
213{
214 setObjectName("KisMaskingBrushOption");
215 setConfigurationPage(m_d->ui.data());
216
217 connect(&m_d->maskingModel, &MaskingBrushModel::isEnabledChanged,
220 &m_d->maskingModel, &MaskingBrushModel::setisEnabled);
221 m_d->maskingModel.LAGER_QT(isEnabled).nudge();
222
223 connect(&m_d->maskingModel, &MaskingBrushModel::compositeOpIdChanged,
225 connect(m_d->compositeSelector, qOverload<int>(&QComboBox::currentIndexChanged),
227 m_d->maskingModel.LAGER_QT(compositeOpId).nudge();
228
229 connect(&m_d->maskingModel, &MaskingBrushModel::warningLabelVisibleChanged,
230 m_d->brushSizeWarningLabel, &QLabel::setVisible);
231 m_d->maskingModel.LAGER_QT(warningLabelVisible).nudge();
232
233 connect(&m_d->maskingModel, &MaskingBrushModel::warningLabelTextChanged,
234 m_d->brushSizeWarningLabel, &QLabel::setText);
235 m_d->maskingModel.LAGER_QT(warningLabelText).nudge();
236
237 m_d->maskingData.watch(std::bind(&KisMaskingBrushOption::emitSettingChanged, this));
238 m_d->commonBrushSizeData.watch(std::bind(&KisMaskingBrushOption::emitSettingChanged, this));
239}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void slotCompositeModeWidgetChanged(int index)
void slotCompositeModePropertyChanged(const QString &value)
const QScopedPointer< Private > m_d
virtual void setChecked(bool checked)
void setConfigurationPage(QWidget *page)
KisPaintOpOption(const QString &label, KisPaintOpOption::PaintopCategory category, bool checked)
void sigCheckedChanged(bool value)

References connect(), KisPaintOpOption::emitSettingChanged(), KisPaintOpOption::isEnabled(), m_d, KisPaintOpOption::setChecked(), KisPaintOpOption::setConfigurationPage(), KisPaintOpOption::sigCheckedChanged(), slotCompositeModePropertyChanged(), and slotCompositeModeWidgetChanged().

◆ ~KisMaskingBrushOption()

KisMaskingBrushOption::~KisMaskingBrushOption ( )
override

Definition at line 241 of file KisMaskingBrushOption.cpp.

242{
243
244}

Member Function Documentation

◆ lodLimitations()

void KisMaskingBrushOption::lodLimitations ( KisPaintopLodLimitations * l) const
overridevirtual

Reimplemented from KisPaintOpOption.

Definition at line 278 of file KisMaskingBrushOption.cpp.

279{
280 *l |= KisBrushModel::brushLodLimitations(m_d->maskingData->brush);
281}
KisPaintopLodLimitations brushLodLimitations(const BrushData &data)

References KisBrushModel::brushLodLimitations(), and m_d.

◆ maskingBrushEnabledReader()

lager::reader< bool > KisMaskingBrushOption::maskingBrushEnabledReader ( ) const

◆ readOptionSetting()

void KisMaskingBrushOption::readOptionSetting ( const KisPropertiesConfigurationSP setting)
overridevirtual

Re-implement this to set the widgets with the values in setting.

Reimplemented from KisPaintOpOption.

Definition at line 261 of file KisMaskingBrushOption.cpp.

262{
263 MaskingBrushData data = MaskingBrushData::read(setting.data(), m_d->masterBrushSize.get(), resourcesInterface());
264
265 m_d->commonBrushSizeData.set(effectiveSizeForBrush(data.brush.type,
266 data.brush.autoBrush,
268 data.brush.textBrush));
269 m_d->maskingData.set(data);
270 m_d->maskingModel.startPreserveMode();
271}
KisResourcesInterfaceSP resourcesInterface() const
qreal effectiveSizeForBrush(BrushType type, const AutoBrushData &autoBrush, const PredefinedBrushData &predefinedBrush, const TextBrushData &textBrush)
PredefinedBrushData predefinedBrush
static MaskingBrushData read(const KisPropertiesConfiguration *config, qreal masterBrushSize, KisResourcesInterfaceSP resourcesInterface)

References KisBrushModel::BrushData::autoBrush, KisBrushModel::MaskingBrushData::brush, KisSharedPtr< T >::data(), KisBrushModel::effectiveSizeForBrush(), m_d, KisBrushModel::BrushData::predefinedBrush, KisBrushModel::MaskingBrushData::read(), KisPaintOpOption::resourcesInterface(), KisBrushModel::BrushData::textBrush, and KisBrushModel::BrushData::type.

◆ setImage()

void KisMaskingBrushOption::setImage ( KisImageWSP image)
overridevirtual

Reimplement this to use the image in the option widget

Reimplemented from KisPaintOpOption.

Definition at line 273 of file KisMaskingBrushOption.cpp.

274{
275 m_d->brushChooser->setImage(image);
276}

References m_d.

◆ slotCompositeModePropertyChanged

void KisMaskingBrushOption::slotCompositeModePropertyChanged ( const QString & value)
privateslot

Definition at line 293 of file KisMaskingBrushOption.cpp.

294{
295 const int index = m_d->compositeSelector->findData(QVariant::fromValue(value));
297 m_d->compositeSelector->setCurrentIndex(index);
298}
float value(const T *src, size_t ch)
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128

References KIS_SAFE_ASSERT_RECOVER_RETURN, m_d, and value().

◆ slotCompositeModeWidgetChanged

void KisMaskingBrushOption::slotCompositeModeWidgetChanged ( int index)
privateslot

Definition at line 288 of file KisMaskingBrushOption.cpp.

289{
290 m_d->maskingModel.setcompositeOpId(m_d->compositeSelector->itemData(index).toString());
291}

References m_d.

◆ writeOptionSetting()

void KisMaskingBrushOption::writeOptionSetting ( KisPropertiesConfigurationSP setting) const
overridevirtual

Re-implement this to save the configuration to the paint configuration.

Reimplemented from KisPaintOpOption.

Definition at line 246 of file KisMaskingBrushOption.cpp.

247{
248 using namespace KisBrushModel;
249
250 if (m_d->maskingData->useMasterSize &&
251 !m_d->maskingModel.m_preserveMode.get()) {
252
253 MaskingBrushData tempData = m_d->maskingModel.bakedOptionData();
254 tempData.masterSizeCoeff = m_d->commonBrushSizeData.get() / m_d->masterBrushSize.get();
255 tempData.write(setting.data());
256 } else {
257 m_d->maskingModel.bakedOptionData().write(setting.data());
258 }
259}
void write(KisPropertiesConfiguration *config) const

References KisSharedPtr< T >::data(), m_d, KisBrushModel::MaskingBrushData::masterSizeCoeff, and KisBrushModel::MaskingBrushData::write().

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisMaskingBrushOption::m_d
private

Definition at line 39 of file KisMaskingBrushOption.h.


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