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

#include <kis_perchannel_filter.h>

+ Inheritance diagram for KisPerChannelConfigWidget:

Public Member Functions

KisPropertiesConfigurationSP configuration () const override
 
 KisPerChannelConfigWidget (QWidget *parent, KisPaintDeviceSP dev, Qt::WindowFlags f=Qt::WindowFlags())
 
 ~KisPerChannelConfigWidget () override
 
- Public Member Functions inherited from KisMultiChannelConfigWidget
 KisMultiChannelConfigWidget (QWidget *parent, KisPaintDeviceSP dev, Qt::WindowFlags f=Qt::WindowFlags())
 
void setConfiguration (const KisPropertiesConfigurationSP config) override
 
 ~KisMultiChannelConfigWidget () override
 
- Public Member Functions inherited from KisConfigWidget
virtual KoCanvasResourcesInterfaceSP canvasResourcesInterface () const
 
virtual void setCanvasResourcesInterface (KoCanvasResourcesInterfaceSP canvasResourcesInterface)
 
virtual void setView (KisViewManager *view)
 
 ~KisConfigWidget () override
 

Protected Member Functions

virtual KisPropertiesConfigurationSP getDefaultConfiguration () override
 
void updateChannelControls () override
 
- Protected Member Functions inherited from KisMultiChannelConfigWidget
QPixmap createGradient (Qt::Orientation orient)
 
virtual int findDefaultVirtualChannelSelection ()
 
QPixmap getHistogram ()
 
void init ()
 
void resetCurves ()
 
void setActiveChannel (int ch)
 
- Protected Member Functions inherited from KisConfigWidget
 KisConfigWidget (QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags(), int delay=200)
 

Private Attributes

QScopedPointer< KisCurveWidgetControlsManagerIntm_curveControlsManager
 

Additional Inherited Members

- Signals inherited from KisConfigWidget
void sigConfigurationItemChanged ()
 
void sigConfigurationUpdated ()
 
void sigDropLockedConfig (KisPropertiesConfigurationSP p)
 
void sigSaveLockedConfig (KisPropertiesConfigurationSP p)
 
- Protected Slots inherited from KisMultiChannelConfigWidget
void logHistView ()
 
void resetCurve ()
 
void slotChannelSelected (int index)
 
void slotCurveModified ()
 
- Protected Attributes inherited from KisMultiChannelConfigWidget
int m_activeVChannel {0}
 
QList< KisCubicCurvem_curves
 
KisPaintDeviceSP m_dev
 
KisHistogramm_histogram {nullptr}
 
WdgPerChannelm_page {nullptr}
 
QVector< VirtualChannelInfom_virtualChannels
 

Detailed Description

Definition at line 56 of file kis_perchannel_filter.h.

Constructor & Destructor Documentation

◆ KisPerChannelConfigWidget()

KisPerChannelConfigWidget::KisPerChannelConfigWidget ( QWidget * parent,
KisPaintDeviceSP dev,
Qt::WindowFlags f = Qt::WindowFlags() )

Definition at line 43 of file kis_perchannel_filter.cpp.

44 : KisMultiChannelConfigWidget(parent, dev, f)
45{
46 init();
47
48 // These are not used by this filter,
49 // but the dialog is shared with KisCrossChannelFilter
50 m_page->lblDriverChannel->hide();
51 m_page->cmbDriverChannel->hide();
52}
KisMultiChannelConfigWidget(QWidget *parent, KisPaintDeviceSP dev, Qt::WindowFlags f=Qt::WindowFlags())

References KisMultiChannelConfigWidget::init(), and KisMultiChannelConfigWidget::m_page.

◆ ~KisPerChannelConfigWidget()

KisPerChannelConfigWidget::~KisPerChannelConfigWidget ( )
override

Definition at line 54 of file kis_perchannel_filter.cpp.

55{}

Member Function Documentation

◆ configuration()

KisPropertiesConfigurationSP KisPerChannelConfigWidget::configuration ( ) const
overridevirtual

◆ getDefaultConfiguration()

KisPropertiesConfigurationSP KisPerChannelConfigWidget::getDefaultConfiguration ( )
overrideprotectedvirtual

◆ updateChannelControls()

void KisPerChannelConfigWidget::updateChannelControls ( )
overrideprotectedvirtual

Implements KisMultiChannelConfigWidget.

Definition at line 59 of file kis_perchannel_filter.cpp.

60{
61 // Getting range accepted by channel
63
64 KoChannelInfo::enumChannelValueType valueType = currentVChannel.valueType();
65
66 int order = BITS_PER_BYTE * currentVChannel.channelSize();
67 int maxValue = pwr2(order);
68 int min;
69 int max;
70
72
73 switch (valueType) {
77 min = 0;
78 max = maxValue - 1;
79 break;
82 min = -maxValue / 2;
83 max = maxValue / 2 - 1;
84 break;
88 default:
89 //Hack Alert: should be changed to float
92 const QList<KoChannelInfo*> channels = m_dev->colorSpace()->channels();
93 min = channels[m_activeVChannel]->getUIMin();
94 max = channels[m_activeVChannel]->getUIMax();
95 } else {
96 // it must be "Hue", "Saturation" or other "channel" that isn't actually accessible in the color space
97 min = 0;
98 // specific number apparently doesn't matter,
99 // if there is 255, it will work just fine, too
100 max = 100;
101 }
102 } else {
103 min = 0;
104 max = 100;
105 }
106 break;
107 }
108
110 m_page->intIn, m_page->intOut, min, max, min, max));
111}
KisCurveWidgetControlsManager< QSpinBox > KisCurveWidgetControlsManagerInt
const KoID CMYKAColorModelID("CMYKA", ki18n("CMYK/Alpha"))
const KoID LABAColorModelID("LABA", ki18n("L*a*b*/Alpha"))
const KoColorSpace * colorSpace() const
QScopedPointer< KisCurveWidgetControlsManagerInt > m_curveControlsManager
enumChannelValueType
enum to define the value of the channel
@ UINT8
use this for an unsigned integer 8bits channel
@ UINT16
use this for an integer 16bits channel
@ INT16
use this for an integer 16bits channel
@ INT8
use this for an integer 8bits channel
@ FLOAT32
use this for a float 32bits channel
@ FLOAT16
use this for a float 16bits channel
@ UINT32
use this for an unsigned integer 21bits channel
@ FLOAT64
use this for a float 64bits channel
QList< KoChannelInfo * > channels
virtual KoID colorModelId() const =0
virtual quint32 channelCount() const =0
KoChannelInfo::enumChannelValueType valueType() const
#define BITS_PER_BYTE
#define pwr2(p)
T min(T a, T b, T c)
constexpr std::enable_if< sizeof...(values)==0, size_t >::type max()

References BITS_PER_BYTE, KoColorSpace::channelCount(), KoColorSpace::channels, VirtualChannelInfo::channelSize(), CMYKAColorModelID, KoColorSpace::colorModelId(), KisPaintDevice::colorSpace(), KoChannelInfo::FLOAT16, KoChannelInfo::FLOAT32, KoChannelInfo::FLOAT64, KoChannelInfo::INT16, KoChannelInfo::INT8, LABAColorModelID, KisMultiChannelConfigWidget::m_activeVChannel, m_curveControlsManager, KisMultiChannelConfigWidget::m_dev, KisMultiChannelConfigWidget::m_page, KisMultiChannelConfigWidget::m_virtualChannels, pwr2, KoChannelInfo::UINT16, KoChannelInfo::UINT32, KoChannelInfo::UINT8, and VirtualChannelInfo::valueType().

Member Data Documentation

◆ m_curveControlsManager

QScopedPointer<KisCurveWidgetControlsManagerInt> KisPerChannelConfigWidget::m_curveControlsManager
private

Definition at line 72 of file kis_perchannel_filter.h.


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