KisFilterConfiguration* KisFilterColorToAlpha::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration("colortoalpha", 1); config->setProperty("targetcolor", QColor(255, 255, 255)); config->setProperty("threshold", 0); return config; }
bool applyFilter(const KoColorSpace * cs, KisFilterSP f) { QImage qimage(QString(FILES_DATA_DIR) + QDir::separator() + "lena.png"); KisPaintDeviceSP dev = new KisPaintDevice(cs); // dev->fill(0, 0, 100, 100, dev->defaultPixel()); dev->convertFromQImage(qimage, "", 0, 0); // Get the predefined configuration from a file KisFilterConfiguration * kfc = f->defaultConfiguration(dev); QFile file(QString(FILES_DATA_DIR) + QDir::separator() + f->id() + ".cfg"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { qDebug() << "creating new file for " << f->id(); file.open(QIODevice::WriteOnly | QIODevice::Text); QTextStream out(&file); out << kfc->toXML(); } else { QString s; QTextStream in(&file); s = in.readAll(); kfc->fromXML(s); } qDebug() << f->id() << ", " << cs->id() << ", " << cs->profile()->name();// << kfc->toXML() << "\n"; KisConstProcessingInformation src(dev, QPoint(0, 0), 0); KisProcessingInformation dst(dev, QPoint(0, 0), 0); f->process(src, dst, qimage.size(), kfc); return true; }
KisFilterConfiguration* KisCubismFilter::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration(id().id(), 1); config->setProperty("tileSize", 10); config->setProperty("tileSaturation", 10); return config; }
KisFilterConfiguration * KisSimpleNoiseReducer::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration(id().id(), 0); config->setProperty("threshold", 15); config->setProperty("windowsize", 1); return config; }
KisFilterConfiguration* KisPixelizeFilter::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration("pixelize", 1); config->setProperty("pixelWidth", 10); config->setProperty("pixelHeight", 10); return config; }
KisFilterConfiguration* KisOilPaintFilter::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration("oilpaint", 1); config->setProperty("brushSize", 1); config->setProperty("smooth", 30); return config; }
KisPropertiesConfiguration* KisWdgColorToAlpha::configuration() const { KisFilterConfiguration* config = new KisFilterConfiguration("colortoalpha", 1); config->setProperty("targetcolor", widget()->colorSelector->color()); config->setProperty("threshold", widget()->intThreshold->value()); return config; }
bool KisCrashFilterTest::applyFilter(const KoColorSpace * cs, KisFilterSP f) { QImage qimage(QString(FILES_DATA_DIR) + QDir::separator() + "carrot.png"); KisPaintDeviceSP dev = new KisPaintDevice(cs); // dev->fill(0, 0, 100, 100, dev->defaultPixel()); dev->convertFromQImage(qimage, 0, 0, 0); // Get the predefined configuration from a file KisFilterConfiguration * kfc = f->defaultConfiguration(dev); QFile file(QString(FILES_DATA_DIR) + QDir::separator() + f->id() + ".cfg"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { dbgKrita << "creating new file for " << f->id(); file.open(QIODevice::WriteOnly | QIODevice::Text); QTextStream out(&file); out.setCodec("UTF-8"); out << kfc->toXML(); } else { QString s; QTextStream in(&file); in.setCodec("UTF-8"); s = in.readAll(); kfc->fromXML(s); } dbgKrita << f->id() << ", " << cs->id() << ", " << cs->profile()->name();// << kfc->toXML() << "\n"; f->process(dev, QRect(QPoint(0,0), qimage.size()), kfc); return true; }
KisFilterConfiguration* KisUnsharpFilter::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration(id().id(), 1); config->setProperty("halfSize", 5); config->setProperty("amount", 0.5); config->setProperty("threshold", 10); return config; }
KisFilterConfiguration* KisRainDropsFilter::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration("raindrops", 1); config->setProperty("dropsize", 80); config->setProperty("number", 80); config->setProperty("fishEyes", 30); return config; }
KisFilterConfiguration* KisMotionBlurFilter::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration(id().id(), 1); config->setProperty("blurAngle", 0); config->setProperty("blurLength", 5); return config; }
KisFilterConfiguration* KisLensBlurFilter::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration(id().id(), 1); config->setProperty("irisShape", "Pentagon (5)"); config->setProperty("irisRadius", 5); config->setProperty("irisRotation", 0); return config; }
void KisFilterConfigurationTest::testCreation() { KisFilterConfiguration * kfc = new KisFilterConfiguration("test", 1); QVERIFY2(kfc != 0, "Could not create test filter configuration"); QCOMPARE(kfc->version(), 1); QCOMPARE(kfc->name(), QString("test")); delete kfc; }
KisPropertiesConfiguration* KisWdgUnsharp::configuration() const { KisFilterConfiguration* config = new KisFilterConfiguration("unsharp", 1); config->setProperty("halfSize", widget()->doubleHalfSize->value()); config->setProperty("amount", widget()->doubleAmount->value()); config->setProperty("threshold", widget()->intThreshold->value()); config->setProperty("lightnessOnly", widget()->chkLightnessOnly->isChecked()); return config; }
KisFilterConfiguration* KisGaussianBlurFilter::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration(id().id(), 1); config->setProperty("horizRadius", 5); config->setProperty("vertRadius", 5); config->setProperty("lockAspect", true); return config; }
KisFilterConfiguration* KisHSVAdjustmentFilter::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration(id().id(), 1); config->setProperty("h", 0); config->setProperty("s", 0); config->setProperty("v", 0); config->setProperty("type", 1); config->setProperty("colorize", false); return config; }
void KisFilterDialog::apply() { if (!d->currentFilter) return; KisFilterConfiguration* config = d->uiFilterDialog.filterSelection->configuration(); if (d->node->inherits("KisLayer")) { config->setChannelFlags(qobject_cast<KisLayer*>(d->node.data())->channelFlags()); } emit(sigPleaseApplyFilter(d->node, config)); d->uiFilterDialog.pushButtonOk->setEnabled(false); }
void KisFilterOpSettings::toXML(QDomDocument& doc, QDomElement& root) const { KisPaintOpSettings::toXML(doc, root); KisFilterConfiguration* configuration = filterConfig(); if (configuration) { QDomElement e = doc.createElement("filterconfig"); configuration->toXML(doc, e); root.appendChild(e); } delete configuration; }
KisFilterConfiguration* KisRainDropsFilter::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration("raindrops", 2); config->setProperty("dropsize", 80); config->setProperty("number", 80); config->setProperty("fishEyes", 30); config->setProperty("seed", QTime::currentTime().msec()); return config; }
KisFilterConfiguration* KisFilterOpSettings::filterConfig() const { if (hasProperty(FILTER_ID)) { KisFilterSP filter = KisFilterRegistry::instance()->get(getString(FILTER_ID)); if (filter) { KisFilterConfiguration* configuration = filter->factoryConfiguration(0); configuration->fromXML(getString(FILTER_CONFIGURATION)); return configuration; } } return 0; }
void KisRecordedFilterAction::toXML(QDomDocument& doc, QDomElement& elt, KisRecordedActionSaveContext* context) const { KisRecordedAction::toXML(doc, elt, context); elt.setAttribute("filter", d->filter->id()); // Save configuration KisFilterConfiguration * kfc = d->configuration(); if (kfc) { QDomElement filterConfigElt = doc.createElement("Params"); kfc->toXML(doc, filterConfigElt); elt.appendChild(filterConfigElt); } }
KisFilterConfiguration* KoPatternGenerator::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration("pattern", 1); QVariant v; v.setValue(QString("Grid01.pat")); config->setProperty("pattern", v); // v.setValue(KoColor()); // config->setProperty("color", v); return config; }
void KisFilterOpSettings::fromXML(const QDomElement& e) { KisPaintOpSettings::fromXML(e); QDomElement element = e.firstChildElement("filterconfig"); if (hasProperty(FILTER_ID)) { KisFilterSP filter = KisFilterRegistry::instance()->get(getString(FILTER_ID)); if (filter) { KisFilterConfiguration* configuration = filter->factoryConfiguration(0); configuration->fromXML(element); setProperty(FILTER_CONFIGURATION, configuration->toXML()); delete configuration; } } }
KisFilterConfiguration* KisFilterWave::factoryConfiguration(const KisPaintDeviceSP) const { KisFilterConfiguration* config = new KisFilterConfiguration("wave", 1); config->setProperty("horizontalwavelength", 50); config->setProperty("horizontalshift", 50); config->setProperty("horizontalamplitude", 4); config->setProperty("horizontalshape", 0); config->setProperty("verticalwavelength", 50); config->setProperty("verticalshift", 50); config->setProperty("verticalamplitude", 4); config->setProperty("verticalshape", 0); return config; }
KisPropertiesConfiguration* KisWdgWave::configuration() const { KisFilterConfiguration* config = new KisFilterConfiguration("wave", 1); config->setProperty("horizontalwavelength", this->widget()->intHWavelength->value()); config->setProperty("horizontalshift", this->widget()->intHShift->value()); config->setProperty("horizontalamplitude", this->widget()->intHAmplitude->value()); config->setProperty("horizontalshape", this->widget()->cbHShape->currentIndex()); config->setProperty("verticalwavelength", this->widget()->intVWavelength->value()); config->setProperty("verticalshift", this->widget()->intVShift->value()); config->setProperty("verticalamplitude", this->widget()->intVAmplitude->value()); config->setProperty("verticalshape", this->widget()->cbVShape->currentIndex()); return config; }
KisPropertiesConfiguration * KisDodgeBurnConfigWidget::configuration() const { KisFilterConfiguration* c = new KisFilterConfiguration(m_id, 0); int type = 0; if(m_page->radioButtonHighlights->isChecked()) { type = KisFilterDodgeBurn::HIGHLIGHTS; } else if(m_page->radioButtonShadows->isChecked()) { type = KisFilterDodgeBurn::SHADOWS; } else { type = KisFilterDodgeBurn::MIDTONES; } c->setProperty("type", type); c->setProperty("exposure", m_page->sliderExposure->value() / 100.0); return c; }
KisPropertiesConfiguration* KisWdgIndexColors::configuration() const { KisFilterConfiguration* config = new KisFilterConfiguration("indexcolors", 1); PaletteGeneratorConfig palCfg; for(int y = 0; y < 4; ++y) for(int x = 0; x < 4; ++x) { palCfg.colors[y][x] = m_colorSelectors[y][x].button->color(); palCfg.colorsEnabled[y][x] = m_colorSelectors[y][x].button->isEnabled(); } for(int y = 0; y < 3; ++y) palCfg.gradientSteps[y] = m_stepSpinners[y]->value(); palCfg.diagonalGradients = ui->diagCheck->isChecked(); palCfg.inbetweenRampSteps = ui->inbetweenSpinBox->value(); IndexColorPalette pal = palCfg.generate(); ui->colorCount->setText(QString::number(pal.numColors())); config->setProperty("paletteGen", palCfg.toByteArray()); config->setProperty("LFactor", ui->luminanceSlider->value() / 100.f); config->setProperty("aFactor", ui->aSlider->value() / 100.f); config->setProperty("bFactor", ui->bSlider->value() / 100.f); config->setProperty("reduceColorsEnabled", ui->colorLimitCheck->isChecked()); config->setProperty("colorLimit", ui->colorLimit->value()); config->setProperty("alphaSteps", ui->alphaStepsSpinBox->value()); return config; }
KisRecordedAction* KisRecordedFilterActionFactory::fromXML(const QDomElement& elt, const KisRecordedActionLoadContext*) { QString name = elt.attribute("name"); KisNodeQueryPath pathnode = KisNodeQueryPath::fromString(elt.attribute("path")); const KisFilterSP filter = KisFilterRegistry::instance()->get(elt.attribute("filter")); if (filter) { KisFilterConfiguration* config = filter->defaultConfiguration(0); QDomElement paramsElt = elt.firstChildElement("Params"); if (config && !paramsElt.isNull()) { config->fromXML(paramsElt); } KisRecordedFilterAction* rfa = new KisRecordedFilterAction(name, pathnode, filter, config); delete config; return rfa; } else { return 0; } }
void KisFilterConfigurationTest::testSetGetProperty() { KisFilterConfiguration * kfc = new KisFilterConfiguration("test", 1); kfc->setProperty("value1", 10); kfc->setProperty("value2", "foo"); QCOMPARE(kfc->getInt("value1"), 10); QCOMPARE(kfc->getString("value2"), QString("foo")); QString s = kfc->toXML(); delete kfc; kfc = new KisFilterConfiguration("test2", 2); kfc->fromXML(s); QCOMPARE(kfc->getInt("value1"), 10); QCOMPARE(kfc->getString("value2"), QString("foo")); delete kfc; }
void KisBlurBenchmark::benchmarkFilter() { KisFilterSP filter = KisFilterRegistry::instance()->value("blur"); KisFilterConfiguration * kfc = filter->defaultConfiguration(m_device); // Get the predefined configuration from a file QFile file(QString(FILES_DATA_DIR) + QDir::separator() + filter->id() + ".cfg"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { file.open(QIODevice::WriteOnly | QIODevice::Text); QTextStream out(&file); out << kfc->toXML(); } else { QString s; QTextStream in(&file); s = in.readAll(); kfc->fromXML(s); } QBENCHMARK{ filter->process(m_device, QRect(0, 0, GMP_IMAGE_WIDTH,GMP_IMAGE_HEIGHT), kfc); } }