File indexing completed on 2024-05-12 15:56:12
0001 /* 0002 * SPDX-FileCopyrightText: 2020 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KISCOLORFULBRUSH_H 0008 #define KISCOLORFULBRUSH_H 0009 0010 #include "kis_scaling_size_brush.h" 0011 0012 0013 class BRUSH_EXPORT KisColorfulBrush : public KisScalingSizeBrush 0014 { 0015 public: 0016 KisColorfulBrush() = default; 0017 KisColorfulBrush(const QString& filename); 0018 KisColorfulBrush(const KisColorfulBrush &rhs) = default; 0019 0020 QImage brushTipImage() const override; 0021 0022 virtual void setAdjustmentMidPoint(quint8 value); 0023 virtual void setBrightnessAdjustment(qreal value); 0024 virtual void setContrastAdjustment(qreal value); 0025 0026 virtual bool isImageType() const; 0027 0028 quint8 adjustmentMidPoint() const; 0029 qreal brightnessAdjustment() const; 0030 qreal contrastAdjustment() const; 0031 0032 void toXML(QDomDocument& d, QDomElement& e) const override; 0033 0034 void setHasColorAndTransparency(bool value); 0035 bool hasColorAndTransparency() const; 0036 0037 qreal estimatedSourceMidPoint() const; 0038 qreal adjustedMidPoint() const; 0039 0040 bool autoAdjustMidPoint() const; 0041 virtual void setAutoAdjustMidPoint(bool autoAdjustMidPoint); 0042 0043 private: 0044 bool m_autoAdjustMidPoint = false; 0045 quint8 m_adjustmentMidPoint = 127; 0046 qreal m_brightnessAdjustment = 0.0; 0047 qreal m_contrastAdjustment = 0.0; 0048 bool m_hasColorAndTransparency = false; 0049 }; 0050 0051 #endif // KISCOLORFULBRUSH_H