summaryrefslogtreecommitdiffstats
path: root/ksquirrel/imageedit/sq_imagefilter.ui.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-22 19:31:25 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-22 19:31:25 +0000
commit6afd9d8dddbe9e450690e05d498a503c00333a5e (patch)
treeee3eaca74e8e33dd66f24f5fb6c1431d7a9ff429 /ksquirrel/imageedit/sq_imagefilter.ui.h
downloadksquirrel-6afd9d8dddbe9e450690e05d498a503c00333a5e.tar.gz
ksquirrel-6afd9d8dddbe9e450690e05d498a503c00333a5e.zip
Added KDE3 version of ksquirrel photo manager
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/ksquirrel@1094446 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'ksquirrel/imageedit/sq_imagefilter.ui.h')
-rw-r--r--ksquirrel/imageedit/sq_imagefilter.ui.h610
1 files changed, 610 insertions, 0 deletions
diff --git a/ksquirrel/imageedit/sq_imagefilter.ui.h b/ksquirrel/imageedit/sq_imagefilter.ui.h
new file mode 100644
index 0000000..d39f35f
--- /dev/null
+++ b/ksquirrel/imageedit/sq_imagefilter.ui.h
@@ -0,0 +1,610 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions or slots use
+** Qt Designer which will update this file, preserving your code. Create an
+** init() function in place of a constructor, and a destroy() function in
+** place of a destructor.
+*****************************************************************************/
+
+SQ_ImageFilter * SQ_ImageFilter::m_inst = 0;
+
+void SQ_ImageFilter::init()
+{
+ m_inst = this;
+
+ // restore NumInputs...
+ const double sigmaMax = 99.9, sigmaMin = 0.01;
+ const double radiusMax = 99.9, radiusMin = 0.01;
+
+ blendOpacity->setRange(0.0f, 1.0f, 0.01, true);
+ fadeValue->setRange(0.0f, 1.0f, 0.01f, true);
+ desaturateValue->setRange(0.0f, 1.0f, 0.01, true);
+ thresholdValue->setRange(0, 255, 1, true);
+ thresholdRE->setRange(0, 255, 1, true);
+ solarizeValue->setRange(0.0f, 50.0f, 0.01f, true);
+ spreadValue->setRange(1, 10, 1, true);
+ swirlAngle->setRange(-720.0f, 720.0f, 0.1f, true);
+ shadeAzim->setRange(0.0f, 90.0f, 0.01f, true);
+ shadeElev->setRange(0.0f, 90.0f, 0.01f, true);
+ blurRadius->setRange(radiusMin, radiusMax, 0.01f, true);
+ blurSigma->setRange(sigmaMin, 50.0, 0.01f, true);
+ implodeFactor->setRange(0, 100, 1, true);
+ edgeRadius->setRange((int)radiusMin, 30, 1, true);
+ embossRadius->setRange(radiusMin, radiusMax, 0.01f, true);
+ embossSigma->setRange(sigmaMin, sigmaMax, 0.01f, true);
+ sharpenRadius->setRange(radiusMin, radiusMax, 0.01f, true);
+ sharpenSigma->setRange(sigmaMin, 30.0, 0.01f, true);
+ oilRadius->setRange(1, 5, 1, true);
+
+ SQ_Config::instance()->setGroup("Image edit options");
+
+ buttonGroupSwapRGB->setButton(SQ_Config::instance()->readNumEntry("filter_swapRGB", 0));
+ // blend
+ QColor c;
+ c.setNamedColor(SQ_Config::instance()->readEntry("filter_blend_color", "#00ff00"));
+ pushBlendColor->setColor(c);
+ blendOpacity->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_blend_opacity", 0.5));
+
+ // fade
+ c.setNamedColor(SQ_Config::instance()->readEntry("filter_flend_color", "#00ff00"));
+ fadeColor->setColor(c);
+ fadeValue->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_fade_value", 0.5));
+
+ // desaturate
+ desaturateValue->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_desaturate_value", 0.5));
+
+ // threshold
+ thresholdValue->setValue(SQ_Config::instance()->readNumEntry("filter_threshold_value", 1));
+
+ // threshold for redeye
+ thresholdRE->setValue(SQ_Config::instance()->readNumEntry("filter_threshold_redeye", 10));
+
+ // solarize
+ solarizeValue->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_solarize_value", 0.5));
+
+ // spread
+ spreadValue->setValue(SQ_Config::instance()->readNumEntry("filter_spread_value", 1));
+
+ // swirl
+ swirlAngle->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_swirl_value", 0.0));
+
+ // noise
+ buttonGroupNoise->setButton(SQ_Config::instance()->readNumEntry("filter_noise", 0));
+
+ // flatten
+ c.setNamedColor(SQ_Config::instance()->readEntry("filter_flatten_color1", "#00ff00"));
+ flattenColor1->setColor(c);
+ c.setNamedColor(SQ_Config::instance()->readEntry("filter_flatten_color2", "#00ff00"));
+ flattenColor2->setColor(c);
+
+ // shade
+ shadeAzim->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_shade_azim", 0.1));
+ shadeElev->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_shade_elev", 0.1));
+
+ if(SQ_Config::instance()->readBoolEntry("filter_shade_color", false))
+ shadeColor->toggle();
+
+ // blur
+ blurRadius->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_blur_radius", 0.1));
+ blurSigma->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_blur_sigma", 0.1));
+
+ // implode
+ implodeFactor->setValue(SQ_Config::instance()->readNumEntry("filter_implode_factor", 1));
+
+ // edge
+ edgeRadius->setValue(SQ_Config::instance()->readNumEntry("filter_egde_radius", 1));
+
+ // emboss
+ embossRadius->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_emboss_radius", 0.1));
+ embossSigma->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_emboss_sigma", 0.1));
+
+ // sharpen
+ sharpenRadius->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_sharpen_radius", 0.1));
+ sharpenSigma->setValue(SQ_Config::instance()->readDoubleNumEntry("filter_sharpen_sigma", 0.1));
+
+ // oil
+ oilRadius->setValue(SQ_Config::instance()->readNumEntry("filter_oil_radius", 1));
+
+ listMain->setCurrentItem(SQ_Config::instance()->readNumEntry("filter_filter", 0));
+
+ hackConnect();
+}
+
+void SQ_ImageFilter::slotStartFiltering()
+{
+ SQ_Config *kconf = SQ_Config::instance();
+
+ kconf->setGroup("Image edit options");
+ kconf->writeEntry("filter_swapRGB", buttonGroupSwapRGB->selectedId());
+ kconf->writeEntry("filter_blend_color", pushBlendColor->color().name());
+ kconf->writeEntry("filter_blend_opacity", blendOpacity->value());
+ kconf->writeEntry("filter_fade_color", fadeColor->color().name());
+ kconf->writeEntry("filter_fade_value", fadeValue->value());
+ kconf->writeEntry("filter_desaturate_value", desaturateValue->value());
+ kconf->writeEntry("filter_threshold_value", thresholdValue->value());
+ kconf->writeEntry("filter_threshold_redeye", thresholdRE->value());
+ kconf->writeEntry("filter_solarize_value", solarizeValue->value());
+ kconf->writeEntry("filter_spread_value", spreadValue->value());
+ kconf->writeEntry("filter_swirl_value", swirlAngle->value());
+ kconf->writeEntry("filter_noise", buttonGroupNoise->selectedId());
+ kconf->writeEntry("filter_flatten_color1", flattenColor1->color().name());
+ kconf->writeEntry("filter_flatten_color2", flattenColor2->color().name());
+ kconf->writeEntry("filter_shade_azim", shadeAzim->value());
+ kconf->writeEntry("filter_shade_elev", shadeElev->value());
+ kconf->writeEntry("filter_shade_color", shadeColor->isChecked());
+ kconf->writeEntry("filter_blur_radius", blurRadius->value());
+ kconf->writeEntry("filter_blur_sigma", blurSigma->value());
+ kconf->writeEntry("filter_implode_factor", implodeFactor->value());
+ kconf->writeEntry("filter_egde_radius", edgeRadius->value());
+ kconf->writeEntry("filter_emboss_radius", embossRadius->value());
+ kconf->writeEntry("filter_emboss_sigma", embossSigma->value());
+ kconf->writeEntry("filter_sharpen_radius", sharpenRadius->value());
+ kconf->writeEntry("filter_sharpen_sigma", sharpenSigma->value());
+ kconf->writeEntry("filter_oil_radius", oilRadius->value());
+ kconf->writeEntry("filter_filter", listMain->currentItem());
+
+ SQ_ImageFilterOptions opt;
+
+ opt.type = listMain->currentItem();
+
+ switch(opt.type)
+ {
+ case F::fblend:
+ {
+ QColor c = pushBlendColor->color();
+ opt.rgb1 = fmt_filters::rgb(c.red(), c.green(), c.blue());
+ opt._float = blendOpacity->value();
+ }
+ break;
+ case F::fblur: opt._double1 = blurRadius->value(); opt._double2 = blurSigma->value(); break;
+ case F::fdesaturate: opt._float = (float)desaturateValue->value(); break;
+ case F::fdespeckle: break;
+ case F::fedge: opt._double1 = (double)edgeRadius->value(); break;
+ case F::femboss: opt._double1 = embossRadius->value(); opt._double2 = embossSigma->value(); break;
+ case F::fequalize: break;
+ case F::ffade:
+ {
+ QColor c = fadeColor->color();
+ opt.rgb1 = fmt_filters::rgb(c.red(), c.green(), c.blue());
+ opt._float = (float)fadeValue->value();
+ }
+ break;
+ case F::fflatten:
+ {
+ QColor c = flattenColor1->color();
+ opt.rgb1 = fmt_filters::rgb(c.red(), c.green(), c.blue());
+ c = flattenColor2->color();
+ opt.rgb2 = fmt_filters::rgb(c.red(), c.green(), c.blue());
+ }
+ break;
+ case F::fimplode: opt._double1 = implodeFactor->value(); break;
+ case F::fnegative: break;
+ case F::fnoise: opt._uint = buttonGroupNoise->selectedId(); break;
+ case F::foil: opt._double1 = (double)oilRadius->value(); break;
+ case F::fshade: opt._bool = shadeColor->isChecked(); opt._double1 = shadeAzim->value(); opt._double2 = shadeElev->value(); break;
+ case F::fsharpen: opt._double1 = sharpenRadius->value(); opt._double2 = sharpenSigma->value();break;
+ case F::fsolarize: opt._double1 = solarizeValue->value(); break;
+ case F::fspread: opt._uint = spreadValue->value(); break;
+ case F::fswapRGB: opt._uint = buttonGroupSwapRGB->selectedId(); break;
+ case F::fswirl: opt._double1 = swirlAngle->value(); break;
+ case F::fthreshold: opt._uint = thresholdValue->value(); break;
+ case F::fgray: break;
+ case F::fredeye: opt._uint = thresholdRE->value(); break;
+ }
+
+ emit filter(&opt);
+}
+
+void SQ_ImageFilter::slotShowPage()
+{
+ int id = listMain->currentItem();
+
+ widgetStackFilters->raiseWidget(id);
+
+ switch(id)
+ {
+ case F::fblend: blend(); break;
+ case F::fblur: blur(); break;
+ case F::fdesaturate: desaturate(); break;
+ case F::fdespeckle: despeckle(); break;
+ case F::fedge: edge(); break;
+ case F::femboss: emboss(); break;
+ case F::fequalize: equalize(); break;
+ case F::ffade: fade(); break;
+ case F::fflatten: flatten(); break;
+ case F::fimplode: implode(); break;
+ case F::fnegative: negative(); break;
+ case F::fnoise: noise(); break;
+ case F::foil: oil(); break;
+ case F::fshade: shade(); break;
+ case F::fsharpen: sharpen(); break;
+ case F::fsolarize: solarize(); break;
+ case F::fspread: spread(); break;
+ case F::fswapRGB: swapRGB(); break;
+ case F::fswirl: swirl(); break;
+ case F::fthreshold: threshold(); break;
+ case F::fgray: togray(); break;
+ case F::fredeye: redeye(); break;
+ }
+}
+
+void SQ_ImageFilter::setPreviewImage(const QImage &im)
+{
+ if(im.isNull()) return;
+
+ sample = im.copy();
+ sample_saved = sample.copy();
+
+ QPixmap p;
+
+ p.convertFromImage(sample_saved);
+ pixmap->setPixmap(p);
+ pixmap1->setPixmap(p);
+
+ slotShowPage();
+}
+
+void SQ_ImageFilter::assignNewImage(const QImage &im)
+{
+ QPixmap p;
+ p.convertFromImage(im);
+ pixmap1->setPixmap(p);
+}
+
+void SQ_ImageFilter::swapRGB()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ int id = buttonGroupSwapRGB->selectedId();
+
+ if(id == -1)
+ return;
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::swapRGB(im, (id ? fmt_filters::GBR : fmt_filters::BRG));
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::negative()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::negative(im);
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::blend()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ QColor c = pushBlendColor->color();
+
+ fmt_filters::rgb rgb(c.red(), c.green(), c.blue());
+
+ fmt_filters::blend(im, rgb, blendOpacity->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::fade()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ QColor c = fadeColor->color();
+
+ fmt_filters::fade(im, fmt_filters::rgb(c.red(), c.green(), c.blue()), fadeValue->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::togray()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::gray(im);
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::desaturate()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::desaturate(im, desaturateValue->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::threshold()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::threshold(im, thresholdValue->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::solarize()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::solarize(im, solarizeValue->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::spread()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::spread(im, spreadValue->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::swirl()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::swirl(im, swirlAngle->value(), fmt_filters::rgba(255,255,255,255));
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::noise()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::noise(im, (fmt_filters::NoiseType)buttonGroupNoise->selectedId());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::redeye()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::redeye(im, im.w, im.h, 0, 0, thresholdRE->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::flatten()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ QColor c1 = flattenColor1->color();
+ QColor c2 = flattenColor2->color();
+
+ fmt_filters::flatten(im, fmt_filters::rgb(c1.red(), c1.green(), c1.blue()), fmt_filters::rgb(c2.red(), c2.green(), c2.blue()));
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::shade()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::shade(im, shadeColor->isChecked(), shadeAzim->value(), shadeElev->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::equalize()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::equalize(im);
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::blur()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::blur(im, blurRadius->value(), blurSigma->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::despeckle()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::despeckle(im);
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::implode()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::implode(im, implodeFactor->value(), fmt_filters::white);
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::edge()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::edge(im, (double)edgeRadius->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::emboss()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::emboss(im, embossRadius->value(), embossSigma->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::sharpen()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::sharpen(im, sharpenRadius->value(), sharpenSigma->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::oil()
+{
+ if(sample.isNull() || sample_saved.isNull())
+ return;
+
+ sample = sample_saved.copy();
+
+ fmt_filters::image im(sample.bits(), sample.width(), sample.height());
+
+ fmt_filters::oil(im, oilRadius->value());
+
+ assignNewImage(sample);
+}
+
+void SQ_ImageFilter::hackConnect()
+{
+ connect( blendOpacity, SIGNAL( valueChanged(double) ), this, SLOT( blend() ) );
+ connect( pushBlendColor, SIGNAL( changed(const QColor&) ), this, SLOT( blend() ) );
+ connect( blurRadius, SIGNAL( valueChanged(double) ), this, SLOT( blur() ) );
+ connect( blurSigma, SIGNAL( valueChanged(double) ), this, SLOT( blur() ) );
+ connect( desaturateValue, SIGNAL( valueChanged(double) ), this, SLOT( desaturate() ) );
+ connect( edgeRadius, SIGNAL( valueChanged(int) ), this, SLOT( edge() ) );
+ connect( embossRadius, SIGNAL( valueChanged(double) ), this, SLOT( emboss() ) );
+ connect( embossSigma, SIGNAL( valueChanged(double) ), this, SLOT( emboss() ) );
+ connect( fadeColor, SIGNAL( changed(const QColor&) ), this, SLOT( fade() ) );
+ connect( fadeValue, SIGNAL( valueChanged(double) ), this, SLOT( fade() ) );
+ connect( flattenColor1, SIGNAL( changed(const QColor&) ), this, SLOT( flatten() ) );
+ connect( flattenColor2, SIGNAL( changed(const QColor&) ), this, SLOT( flatten() ) );
+ connect( implodeFactor, SIGNAL( valueChanged(double) ), this, SLOT( implode() ) );
+ connect( buttonGroupNoise, SIGNAL( clicked(int) ), this, SLOT( noise() ) );
+ connect( oilRadius, SIGNAL( valueChanged(int) ), this, SLOT( oil() ) );
+ connect( shadeAzim, SIGNAL( valueChanged(double) ), this, SLOT( shade() ) );
+ connect( shadeColor, SIGNAL( toggled(bool) ), this, SLOT( shade() ) );
+ connect( shadeElev, SIGNAL( valueChanged(double) ), this, SLOT( shade() ) );
+ connect( sharpenRadius, SIGNAL( valueChanged(double) ), this, SLOT( sharpen() ) );
+ connect( sharpenSigma, SIGNAL( valueChanged(double) ), this, SLOT( sharpen() ) );
+ connect( solarizeValue, SIGNAL( valueChanged(double) ), this, SLOT( solarize() ) );
+ connect( spreadValue, SIGNAL( valueChanged(int) ), this, SLOT( spread() ) );
+ connect( buttonGroupSwapRGB, SIGNAL( clicked(int) ), this, SLOT( swapRGB() ) );
+ connect( swirlAngle, SIGNAL( valueChanged(double) ), this, SLOT( swirl() ) );
+ connect( thresholdValue, SIGNAL( valueChanged(int) ), this, SLOT( threshold() ) );
+ connect( thresholdRE, SIGNAL( valueChanged(int) ), this, SLOT( redeye() ) );
+}
+
+SQ_ImageFilter* SQ_ImageFilter::instance()
+{
+ return m_inst;
+}