void DespeckleCommand::onExecute(Context* context) { IDocumentSettings* docSettings = context->settings()->getDocumentSettings(context->activeDocument()); MedianFilter filter; filter.setTiledMode(docSettings->getTiledMode()); filter.setSize(get_config_int(ConfigSection, "Width", 3), get_config_int(ConfigSection, "Height", 3)); FilterManagerImpl filterMgr(context, &filter); filterMgr.setTarget(TARGET_RED_CHANNEL | TARGET_GREEN_CHANNEL | TARGET_BLUE_CHANNEL | TARGET_GRAY_CHANNEL); DespeckleWindow window(filter, filterMgr); if (window.doModal()) { set_config_int(ConfigSection, "Width", filter.getWidth()); set_config_int(ConfigSection, "Height", filter.getHeight()); } }
void DespeckleCommand::onExecute(Context* context) { DocumentPreferences& docPref = App::instance()->preferences().document(context->activeDocument()); MedianFilter filter; filter.setTiledMode((filters::TiledMode)docPref.tiled.mode()); filter.setSize(get_config_int(ConfigSection, "Width", 3), get_config_int(ConfigSection, "Height", 3)); FilterManagerImpl filterMgr(context, &filter); filterMgr.setTarget(TARGET_RED_CHANNEL | TARGET_GREEN_CHANNEL | TARGET_BLUE_CHANNEL | TARGET_GRAY_CHANNEL); DespeckleWindow window(filter, filterMgr); if (window.doModal()) { set_config_int(ConfigSection, "Width", filter.getWidth()); set_config_int(ConfigSection, "Height", filter.getHeight()); } }