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

The KisInternalColorSelector class. More...

#include <KisDlgInternalColorSelector.h>

+ Inheritance diagram for KisDlgInternalColorSelector:

Classes

struct  Config
 
struct  Private
 

Public Slots

void reject () override
 
void setPreviousColor (KoColor c)
 setPreviousColor set the previous color.
 
void slotColorUpdated (KoColor newColor)
 slotColorUpdated Very important slot. Is connected to krita's resources to make sure it has the currently active color. It's very important that this function is able to understand when the signal came from itself.
 
void slotSetColorFromPatch (KoColorPatch *patch)
 slotSetColorFromPatch update current color from kocolorpatch.
 

Signals

void signalForegroundColorChosen (KoColor color)
 signalForegroundColorChosen The most important signal. This will sent out when a color has been chosen from the selector. There will be a small delay to make sure that the selector causes too many updates.
 

Public Member Functions

void chooseAlpha (bool chooseAlpha)
 
void colorSpaceChanged (const KoColorSpace *cs)
 slotColorSpaceChanged Color space has changed, use this dialog to change the colorspace.
 
KoColor getCurrentColor ()
 getCurrentColor
 
 KisDlgInternalColorSelector (QWidget *parent, KoColor color, Config config, const QString &caption, const KoColorDisplayRendererInterface *displayRenderer=KoDumbColorDisplayRenderer::instance())
 
void lockUsedColorSpace (const KoColorSpace *cs)
 lockUsedColorSpace Lock the used colorspace of this selector.
 
void setDisplayRenderer (const KoColorDisplayRendererInterface *displayRenderer)
 setDisplayRenderer Set the display renderer. This is necessary for HDR color manage support.
 
 ~KisDlgInternalColorSelector () override
 

Static Public Member Functions

static void setScreenColorSamplerFactory (std::function< KisScreenColorSamplerBase *(QWidget *)> f)
 

Protected Member Functions

void showEvent (QShowEvent *event) override
 

Private Slots

void endUpdateWithNewColor ()
 
void slotChangePalette (KoColorSetSP set)
 
void slotFinishUp ()
 slotFinishUp This is called when the selector is closed, for saving the current palette.
 
void slotSelectorModelChanged ()
 
void slotSetColorFromHex ()
 slotSetColorFromHex Update from the hex color input.
 

Private Member Functions

void focusInEvent (QFocusEvent *) override
 
void updateAllElements (QObject *source)
 updateAllElements Updates each widget with the new element, and if it's responsible for the update sents a signal out that there's a new color.
 

Private Attributes

const QScopedPointer< Privatem_d
 
Ui_WdgDlgInternalColorSelector * m_ui
 

Static Private Attributes

static std::function< KisScreenColorSamplerBase *(QWidget *) s_screenColorSamplerFactory )
 

Detailed Description

The KisInternalColorSelector class.

A non-modal color selector dialog that is not a plugin and can thus be used for filters.

Definition at line 29 of file KisDlgInternalColorSelector.h.

Constructor & Destructor Documentation

◆ KisDlgInternalColorSelector()

KisDlgInternalColorSelector::KisDlgInternalColorSelector ( QWidget * parent,
KoColor color,
Config config,
const QString & caption,
const KoColorDisplayRendererInterface * displayRenderer = KoDumbColorDisplayRenderer::instance() )

We cannot use bestMatch() for fetching "Default" palette, since bestMatch() is allowed ot fetch resources from the disabled storages/bundles.

Definition at line 58 of file KisDlgInternalColorSelector.cpp.

59 : QDialog(parent)
60 , m_d(new Private)
61{
62 setModal(config.modal);
63 setFocusPolicy(Qt::ClickFocus);
64 m_ui = new Ui_WdgDlgInternalColorSelector();
65 m_ui->setupUi(this);
66
67 setWindowTitle(caption);
68
69 m_d->selectorModel = m_ui->visualSelector->selectorModel();
70
71 m_d->currentColor = color;
72 m_d->currentColorSpace = m_d->currentColor.colorSpace();
73 m_d->displayRenderer = displayRenderer;
74
75 m_ui->spinboxselector->slotSetColor(color);
76 connect(m_ui->spinboxselector, SIGNAL(sigNewColor(KoColor)), this, SLOT(slotColorUpdated(KoColor)));
77
78 m_ui->spinboxHSXSelector->setModel(m_d->selectorModel);
79
80 m_ui->visualSelector->setDisplayRenderer(displayRenderer);
81 m_ui->visualSelector->setConfig(false, config.modal);
82 if (config.visualColorSelector) {
83 connect(m_d->selectorModel.data(), SIGNAL(sigNewColor(KoColor)), this, SLOT(slotColorUpdated(KoColor)));
84 connect(m_d->selectorModel.data(), SIGNAL(sigColorModelChanged()), this, SLOT(slotSelectorModelChanged()));
85 connect(KisConfigNotifier::instance(), SIGNAL(configChanged()), m_ui->visualSelector, SLOT(slotConfigurationChanged()));
86 } else {
87 m_ui->visualSelector->hide();
88 }
89 m_ui->visualSelector->slotSetColor(color);
90
91 m_d->paletteChooser = new KisPaletteChooser(this);
92 m_d->paletteModel = new KisPaletteModel(this);
93 m_ui->bnPaletteChooser->setIcon(KisIconUtils::loadIcon("palette-library"));
94 m_ui->bnPaletteChooser->setToolTip(i18n("Load a palette"));
95 m_ui->paletteBox->setPaletteModel(m_d->paletteModel);
96 m_ui->paletteBox->setDisplayRenderer(displayRenderer);
97 m_ui->cmbNameList->setCompanionView(m_ui->paletteBox);
98 connect(m_d->paletteChooser, SIGNAL(sigPaletteSelected(KoColorSetSP)), this, SLOT(slotChangePalette(KoColorSetSP)));
99 connect(m_ui->cmbNameList, SIGNAL(sigColorSelected(KoColor)), SLOT(slotColorUpdated(KoColor)));
100
101 // For some bizarre reason, the modal dialog doesn't like having the colorset set, so let's not.
102 if (config.paletteBox) {
103 //TODO: Add disable signal as well. Might be not necessary...?
104 KConfigGroup cfg(KSharedConfig::openConfig()->group(""));
105 QString paletteMd5 = cfg.readEntry("internal_selector_active_color_set_md5", QString());
106 QString paletteName = cfg.readEntry("internal_selector_active_color_set", QString());
107
108 KoColorSetSP savedPal;
109
110 if (!paletteMd5.isEmpty() || !paletteName.isEmpty()) {
112 savedPal = source.bestMatch(paletteMd5, "", paletteName);
113 }
114
115 if (!savedPal) {
122 auto foundResources = model.resourcesForName("Default");
123 if (!foundResources.isEmpty()) {
124 savedPal = foundResources.first().dynamicCast<KoColorSet>();
125 }
126 }
127
128 if (!savedPal) {
130 savedPal = source.fallbackResource();
131 }
132
133 if (savedPal) {
134 m_d->paletteChooser->setCurrentItem(savedPal);
135 // slotChangePalette() will be automatically called by the connection
136 // of m_d->paletteChooser
137 }
138
139 connect(m_ui->paletteBox, SIGNAL(sigColorSelected(KoColor)), this,
141 m_ui->bnPaletteChooser->setPopupWidget(m_d->paletteChooser);
142 } else {
143 m_ui->paletteBox->setEnabled(false);
144 m_ui->cmbNameList->setEnabled(false);
145 m_ui->bnPaletteChooser->setEnabled(false);
146 }
147
148 if (config.prevNextButtons) {
149 m_ui->currentColor->setColor(m_d->currentColor);
150 m_ui->currentColor->setDisplayRenderer(displayRenderer);
151 m_ui->previousColor->setColor(m_d->previousColor);
152 m_ui->previousColor->setDisplayRenderer(displayRenderer);
153 connect(m_ui->previousColor, SIGNAL(triggered(KoColorPatch*)), SLOT(slotSetColorFromPatch(KoColorPatch*)));
154 } else {
155 m_ui->currentColor->hide();
156 m_ui->previousColor->hide();
157 }
158
159 if (config.hexInput) {
160 m_d->sRGB.fromKoColor(m_d->currentColor);
161 m_d->hexColorInput = new KisHexColorInput(this, &m_d->sRGB);
162 m_d->hexColorInput->update();
163 connect(m_d->hexColorInput, SIGNAL(updated()), SLOT(slotSetColorFromHex()));
164 m_ui->rightPane->addWidget(m_d->hexColorInput);
165 m_d->hexColorInput->setToolTip(i18n("This is a hexcode input, for webcolors. It can only get colors in the sRGB space."));
166 }
167
168 // KisScreenColorSampler is in the kritaui module, so dependency inversion is used to access it.
169 m_ui->screenColorSamplerWidget->setLayout(new QHBoxLayout());
171 m_d->screenColorSampler = s_screenColorSamplerFactory(m_ui->screenColorSamplerWidget);
172 m_ui->screenColorSamplerWidget->layout()->addWidget(m_d->screenColorSampler);
173 if (config.screenColorSampler) {
174 connect(m_d->screenColorSampler, SIGNAL(sigNewColorSampled(KoColor)),this, SLOT(slotColorUpdated(KoColor)));
175 } else {
176 m_d->screenColorSampler->hide();
177 }
178 }
179
180 m_d->compressColorChanges = new KisSignalCompressor(100 /* ms */, KisSignalCompressor::POSTPONE, this);
181 connect(m_d->compressColorChanges, SIGNAL(timeout()), this, SLOT(endUpdateWithNewColor()));
182
183 KGuiItem::assign(m_ui->buttonBox->button(QDialogButtonBox::Ok), KStandardGuiItem::ok());
184 KGuiItem::assign(m_ui->buttonBox->button(QDialogButtonBox::Cancel), KStandardGuiItem::cancel());
185 connect(m_ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept()), Qt::UniqueConnection);
186 connect(m_ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject()), Qt::UniqueConnection);
187
188 connect(this, SIGNAL(finished(int)), SLOT(slotFinishUp()));
189}
KisMagneticGraph::vertex_descriptor source(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
static KisConfigNotifier * instance()
static std::function< KisScreenColorSamplerBase *(QWidget *) s_screenColorSamplerFactory)
void slotColorUpdated(KoColor newColor)
slotColorUpdated Very important slot. Is connected to krita's resources to make sure it has the curre...
void slotFinishUp()
slotFinishUp This is called when the selector is closed, for saving the current palette.
void slotSetColorFromPatch(KoColorPatch *patch)
slotSetColorFromPatch update current color from kocolorpatch.
void slotSetColorFromHex()
slotSetColorFromHex Update from the hex color input.
const QScopedPointer< Private > m_d
Ui_WdgDlgInternalColorSelector * m_ui
static KisResourcesInterfaceSP instance()
The KisPaletteModel class This, together with KisPaletteView and KisPaletteDelegate forms a mvc way t...
The KisResourceModel class provides the main access to resources. It is possible to filter the resour...
const KoColorSpace * colorSpace() const
return the current colorSpace
Definition KoColor.h:82
QIcon loadIcon(const QString &name)
const QString Palettes

References KoColor::colorSpace(), endUpdateWithNewColor(), KisDlgInternalColorSelector::Config::hexInput, KisConfigNotifier::instance(), KisGlobalResourcesInterface::instance(), KisIconUtils::loadIcon(), m_d, m_ui, KisDlgInternalColorSelector::Config::modal, KisDlgInternalColorSelector::Config::paletteBox, ResourceType::Palettes, KisSignalCompressor::POSTPONE, KisDlgInternalColorSelector::Config::prevNextButtons, reject(), KisResourceModel::resourcesForName(), s_screenColorSamplerFactory, KisDlgInternalColorSelector::Config::screenColorSampler, slotChangePalette(), slotColorUpdated(), slotFinishUp(), slotSelectorModelChanged(), slotSetColorFromHex(), slotSetColorFromPatch(), source(), and KisDlgInternalColorSelector::Config::visualColorSelector.

◆ ~KisDlgInternalColorSelector()

KisDlgInternalColorSelector::~KisDlgInternalColorSelector ( )
override

Definition at line 191 of file KisDlgInternalColorSelector.cpp.

192{
193 delete m_ui;
194}

References m_ui.

Member Function Documentation

◆ chooseAlpha()

void KisDlgInternalColorSelector::chooseAlpha ( bool chooseAlpha)

Definition at line 268 of file KisDlgInternalColorSelector.cpp.

269{
270 m_d->chooseAlpha = chooseAlpha;
271}

References chooseAlpha(), and m_d.

◆ colorSpaceChanged()

void KisDlgInternalColorSelector::colorSpaceChanged ( const KoColorSpace * cs)

slotColorSpaceChanged Color space has changed, use this dialog to change the colorspace.

Definition at line 227 of file KisDlgInternalColorSelector.cpp.

228{
229 if (cs == m_d->currentColorSpace) {
230 return;
231 }
232
233 m_d->currentColorSpace = KoColorSpaceRegistry::instance()->colorSpace(cs->colorModelId().id(), cs->colorDepthId().id(), cs->profile());
234 m_ui->spinboxselector->slotSetColorSpace(m_d->currentColorSpace);
235 m_ui->visualSelector->slotSetColorSpace(m_d->currentColorSpace);
236
237}
virtual KoID colorModelId() const =0
virtual KoID colorDepthId() const =0
virtual const KoColorProfile * profile() const =0
QString id() const
Definition KoID.cpp:63
const KoColorSpace * colorSpace(const QString &colorModelId, const QString &colorDepthId, const KoColorProfile *profile)
static KoColorSpaceRegistry * instance()

References KoColorSpace::colorDepthId(), KoColorSpace::colorModelId(), KoColorSpaceRegistry::colorSpace(), KoID::id(), KoColorSpaceRegistry::instance(), m_d, m_ui, and KoColorSpace::profile().

◆ endUpdateWithNewColor

void KisDlgInternalColorSelector::endUpdateWithNewColor ( )
privateslot

Definition at line 352 of file KisDlgInternalColorSelector.cpp.

353{
354 Q_EMIT signalForegroundColorChosen(m_d->currentColor);
355 m_d->allowUpdates = true;
356}
void signalForegroundColorChosen(KoColor color)
signalForegroundColorChosen The most important signal. This will sent out when a color has been chose...

References m_d, and signalForegroundColorChosen().

◆ focusInEvent()

void KisDlgInternalColorSelector::focusInEvent ( QFocusEvent * )
overrideprivate

Definition at line 358 of file KisDlgInternalColorSelector.cpp.

359{
360 //setPreviousColor();
361}

◆ getCurrentColor()

KoColor KisDlgInternalColorSelector::getCurrentColor ( )

getCurrentColor

Returns
gives currently active color;

Definition at line 263 of file KisDlgInternalColorSelector.cpp.

264{
265 return m_d->currentColor;
266}

References m_d.

◆ lockUsedColorSpace()

void KisDlgInternalColorSelector::lockUsedColorSpace ( const KoColorSpace * cs)

lockUsedColorSpace Lock the used colorspace of this selector.

Parameters
cs

Definition at line 239 of file KisDlgInternalColorSelector.cpp.

240{
242 if (m_d->currentColor.colorSpace() != m_d->currentColorSpace) {
243 m_d->currentColor.convertTo(m_d->currentColorSpace);
244 m_ui->spinboxselector->slotSetColor(m_d->currentColor);
245 m_ui->visualSelector->slotSetColor(m_d->currentColor);
246 }
247 m_d->lockUsedCS = true;
248}
void colorSpaceChanged(const KoColorSpace *cs)
slotColorSpaceChanged Color space has changed, use this dialog to change the colorspace.

References colorSpaceChanged(), m_d, and m_ui.

◆ reject

void KisDlgInternalColorSelector::reject ( )
overrideslot

Definition at line 278 of file KisDlgInternalColorSelector.cpp.

279{
280 slotColorUpdated(m_d->previousColor);
281 QDialog::reject();
282}

References m_d, and slotColorUpdated().

◆ setDisplayRenderer()

void KisDlgInternalColorSelector::setDisplayRenderer ( const KoColorDisplayRendererInterface * displayRenderer)

setDisplayRenderer Set the display renderer. This is necessary for HDR color manage support.

Parameters
displayRenderer

Definition at line 250 of file KisDlgInternalColorSelector.cpp.

251{
252 if (displayRenderer) {
253 m_d->displayRenderer = displayRenderer;
254 m_ui->visualSelector->setDisplayRenderer(displayRenderer);
255 m_ui->currentColor->setDisplayRenderer(displayRenderer);
256 m_ui->previousColor->setDisplayRenderer(displayRenderer);
257 m_ui->paletteBox->setDisplayRenderer(displayRenderer);
258 } else {
259 m_d->displayRenderer = KoDumbColorDisplayRenderer::instance();
260 }
261}
static KoColorDisplayRendererInterface * instance()

References KoDumbColorDisplayRenderer::instance(), m_d, and m_ui.

◆ setPreviousColor

void KisDlgInternalColorSelector::setPreviousColor ( KoColor c)
slot

setPreviousColor set the previous color.

Definition at line 273 of file KisDlgInternalColorSelector.cpp.

274{
275 m_d->previousColor = c;
276}

References m_d.

◆ setScreenColorSamplerFactory()

static void KisDlgInternalColorSelector::setScreenColorSamplerFactory ( std::function< KisScreenColorSamplerBase *(QWidget *)> f)
inlinestatic

Definition at line 37 of file KisDlgInternalColorSelector.h.

◆ showEvent()

void KisDlgInternalColorSelector::showEvent ( QShowEvent * event)
overrideprotected

Definition at line 388 of file KisDlgInternalColorSelector.cpp.

389{
391 QDialog::showEvent(event);
392}
void updateAllElements(QObject *source)
updateAllElements Updates each widget with the new element, and if it's responsible for the update se...

References updateAllElements().

◆ signalForegroundColorChosen

void KisDlgInternalColorSelector::signalForegroundColorChosen ( KoColor color)
signal

signalForegroundColorChosen The most important signal. This will sent out when a color has been chosen from the selector. There will be a small delay to make sure that the selector causes too many updates.

Do not connect this to slotColorUpdated.

Parameters
colorThe new color chosen

◆ slotChangePalette

void KisDlgInternalColorSelector::slotChangePalette ( KoColorSetSP set)
privateslot

Definition at line 380 of file KisDlgInternalColorSelector.cpp.

381{
382 if (!set) {
383 return;
384 }
385 m_d->paletteModel->setColorSet(set);
386}

References m_d.

◆ slotColorUpdated

void KisDlgInternalColorSelector::slotColorUpdated ( KoColor newColor)
slot

slotColorUpdated Very important slot. Is connected to krita's resources to make sure it has the currently active color. It's very important that this function is able to understand when the signal came from itself.

Parameters
newColorThis is the new color.

Definition at line 196 of file KisDlgInternalColorSelector.cpp.

197{
198 // not-so-nice solution: if someone calls this slot directly and that code was
199 // triggered by our compressor signal, our compressor is technically the sender()!
200 if (sender() == m_d->compressColorChanges) {
201 return;
202 }
203 // Do not accept external updates while a color update Q_EMIT is pending;
204 // Note: Assumes external updates only come from parent(), a separate slot might be better
205 if (m_d->allowUpdates || (QObject::sender() && QObject::sender() != this->parent())) {
206 // Enforce palette colors
207 KConfigGroup group(KSharedConfig::openConfig(), "");
208 if (group.readEntry("colorsettings/forcepalettecolors", false)) {
209 newColor = m_ui->paletteBox->closestColor(newColor);
210 }
211
212 if (m_d->lockUsedCS){
213 newColor.convertTo(m_d->currentColorSpace);
214 } else {
215 colorSpaceChanged(newColor.colorSpace());
216 }
217 m_d->currentColor = newColor;
218 updateAllElements(QObject::sender());
219 }
220}
void convertTo(const KoColorSpace *cs, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags)
Definition KoColor.cpp:136

References KoColor::colorSpace(), colorSpaceChanged(), KoColor::convertTo(), m_d, m_ui, and updateAllElements().

◆ slotFinishUp

void KisDlgInternalColorSelector::slotFinishUp ( )
privateslot

slotFinishUp This is called when the selector is closed, for saving the current palette.

Definition at line 363 of file KisDlgInternalColorSelector.cpp.

364{
365 setPreviousColor(m_d->currentColor);
366 KConfigGroup cfg(KSharedConfig::openConfig()->group(""));
367 if (m_d->paletteModel) {
368 if (m_d->paletteModel->colorSet()) {
369 cfg.writeEntry("internal_selector_active_color_set_md5", m_d->paletteModel->colorSet()->md5Sum());
370 cfg.writeEntry("internal_selector_active_color_set", m_d->paletteModel->colorSet()->name());
371 }
372 }
373}
void setPreviousColor(KoColor c)
setPreviousColor set the previous color.

References m_d, and setPreviousColor().

◆ slotSelectorModelChanged

void KisDlgInternalColorSelector::slotSelectorModelChanged ( )
privateslot

Definition at line 318 of file KisDlgInternalColorSelector.cpp.

319{
320 if (m_d->selectorModel->isHSXModel()) {
321 QString label;
322 switch (m_d->selectorModel->colorModel()) {
324 label = i18n("HSV");
325 break;
327 label = i18n("HSL");
328 break;
330 label = i18n("HSI");
331 break;
333 label = i18n("HSY'");
334 break;
335 default:
336 label = i18n("Unknown");
337 }
338 if (m_ui->tabWidget->count() == 1) {
339 m_ui->tabWidget->addTab(m_ui->tab_hsx, label);
340 }
341 else {
342 m_ui->tabWidget->setTabText(1, label);
343 }
344 }
345 else {
346 if (m_ui->tabWidget->count() == 2) {
347 m_ui->tabWidget->removeTab(1);
348 }
349 }
350}

References KisVisualColorModel::HSI, KisVisualColorModel::HSL, KisVisualColorModel::HSV, KisVisualColorModel::HSY, m_d, and m_ui.

◆ slotSetColorFromHex

void KisDlgInternalColorSelector::slotSetColorFromHex ( )
privateslot

slotSetColorFromHex Update from the hex color input.

Definition at line 375 of file KisDlgInternalColorSelector.cpp.

376{
377 slotColorUpdated(m_d->sRGB);
378}

References m_d, and slotColorUpdated().

◆ slotSetColorFromPatch

void KisDlgInternalColorSelector::slotSetColorFromPatch ( KoColorPatch * patch)
slot

slotSetColorFromPatch update current color from kocolorpatch.

Parameters
patch

Definition at line 222 of file KisDlgInternalColorSelector.cpp.

223{
224 slotColorUpdated(patch->color());
225}
KoColor color() const

References KoColorPatch::color(), and slotColorUpdated().

◆ updateAllElements()

void KisDlgInternalColorSelector::updateAllElements ( QObject * source)
private

updateAllElements Updates each widget with the new element, and if it's responsible for the update sents a signal out that there's a new color.

Definition at line 284 of file KisDlgInternalColorSelector.cpp.

285{
286 //update everything!!!
287 if (source != m_ui->spinboxselector) {
288 m_ui->spinboxselector->slotSetColor(m_d->currentColor);
289 }
290
291 if (source != m_ui->visualSelector) {
292 m_ui->visualSelector->slotSetColor(m_d->currentColor);
293 }
294
295 if (source != m_d->hexColorInput) {
296 m_d->sRGB.fromKoColor(m_d->currentColor);
297 m_d->hexColorInput->update();
298 }
299
300 if (source != m_ui->paletteBox) {
301 m_ui->paletteBox->selectClosestColor(m_d->currentColor);
302 }
303
304 m_ui->previousColor->setColor(m_d->previousColor);
305
306 m_ui->currentColor->setColor(m_d->currentColor);
307
308 if (source && source != this->parent()) {
309 m_d->allowUpdates = false;
310 m_d->compressColorChanges->start();
311 }
312
313 if (m_d->screenColorSampler) {
314 m_d->screenColorSampler->updateIcons();
315 }
316}
ChildIterator< value_type, is_const > parent(const ChildIterator< value_type, is_const > &it)
Definition KisForest.h:327

References m_d, m_ui, and source().

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisDlgInternalColorSelector::m_d
private

Definition at line 162 of file KisDlgInternalColorSelector.h.

◆ m_ui

Ui_WdgDlgInternalColorSelector* KisDlgInternalColorSelector::m_ui
private

Definition at line 160 of file KisDlgInternalColorSelector.h.

◆ s_screenColorSamplerFactory

std::function<KisScreenColorSamplerBase *(QWidget *) KisDlgInternalColorSelector::s_screenColorSamplerFactory)
staticprivate

Definition at line 33 of file KisDlgInternalColorSelector.h.


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