X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Fsharpen%2Fsharpenwindow.C;h=67f31bcfe36ec34db1ffccf2702ab9e7495fef9d;hp=bbe0f519ca10e967e763aa2c5985d7b46f346c32;hb=c857b2fb7965d27d86d5785fb9f1b8957a871a1a;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1 diff --git a/cinelerra-5.1/plugins/sharpen/sharpenwindow.C b/cinelerra-5.1/plugins/sharpen/sharpenwindow.C index bbe0f519..67f31bcf 100644 --- a/cinelerra-5.1/plugins/sharpen/sharpenwindow.C +++ b/cinelerra-5.1/plugins/sharpen/sharpenwindow.C @@ -33,7 +33,7 @@ SharpenWindow::SharpenWindow(SharpenMain *client) - : PluginClientWindow(client, 230, 150, 230, 150, 0) + : PluginClientWindow(client, 280, 190, 280, 190, 0) //195 was 150 { this->client = client; } @@ -45,23 +45,46 @@ SharpenWindow::~SharpenWindow() void SharpenWindow::create_objects() { int x = 10, y = 10; + int x1 = 0; int clrBtn_w = 50; + int defaultBtn_w = 100; + add_tool(new BC_Title(x, y, _("Sharpness"))); y += 20; add_tool(sharpen_slider = new SharpenSlider(client, &(client->config.sharpness), x, y)); + x1 = x + sharpen_slider->get_w() + 10; + add_subwindow(sharpen_sliderClr = new SharpenSliderClr(client, this, x1, y, clrBtn_w)); + y += 30; add_tool(sharpen_interlace = new SharpenInterlace(client, x, y)); y += 30; add_tool(sharpen_horizontal = new SharpenHorizontal(client, x, y)); y += 30; add_tool(sharpen_luminance = new SharpenLuminance(client, x, y)); + y += 40; + add_tool(reset = new SharpenReset(client, this, x, y)); + add_subwindow(default_settings = new SharpenDefaultSettings(client, this, + (280 - 10 - defaultBtn_w), y, defaultBtn_w)); + show_window(); flush(); } - - - - +void SharpenWindow::update_gui(int clear) +{ + switch(clear) { + case RESET_SHARPEN_SLIDER : + sharpen_slider->update(client->config.sharpness); + break; + case RESET_ALL : + case RESET_DEFAULT_SETTINGS : + default: + sharpen_slider->update(client->config.sharpness); + sharpen_interlace->update(client->config.interlace); + sharpen_horizontal->update(client->config.horizontal); + sharpen_luminance->update(client->config.luminance); + break; + } +} SharpenSlider::SharpenSlider(SharpenMain *client, float *output, int x, int y) : BC_ISlider(x, @@ -90,8 +113,6 @@ int SharpenSlider::handle_event() } - - SharpenInterlace::SharpenInterlace(SharpenMain *client, int x, int y) : BC_CheckBox(x, y, client->config.interlace, _("Interlace")) { @@ -108,8 +129,6 @@ int SharpenInterlace::handle_event() } - - SharpenHorizontal::SharpenHorizontal(SharpenMain *client, int x, int y) : BC_CheckBox(x, y, client->config.horizontal, _("Horizontal only")) { @@ -126,7 +145,6 @@ int SharpenHorizontal::handle_event() } - SharpenLuminance::SharpenLuminance(SharpenMain *client, int x, int y) : BC_CheckBox(x, y, client->config.luminance, _("Luminance only")) { @@ -142,3 +160,57 @@ int SharpenLuminance::handle_event() return 1; } + +SharpenReset::SharpenReset(SharpenMain *client, SharpenWindow *gui, int x, int y) + : BC_GenericButton(x, y, _("Reset")) +{ + this->client = client; + this->gui = gui; +} +SharpenReset::~SharpenReset() +{ +} +int SharpenReset::handle_event() +{ + client->config.reset(RESET_ALL); + gui->update_gui(RESET_ALL); + client->send_configure_change(); + return 1; +} + + +SharpenDefaultSettings::SharpenDefaultSettings(SharpenMain *client, SharpenWindow *gui, int x, int y, int w) + : BC_GenericButton(x, y, w, _("Default")) +{ + this->client = client; + this->gui = gui; +} +SharpenDefaultSettings::~SharpenDefaultSettings() +{ +} +int SharpenDefaultSettings::handle_event() +{ + client->config.reset(RESET_DEFAULT_SETTINGS); + gui->update_gui(RESET_DEFAULT_SETTINGS); + client->send_configure_change(); + return 1; +} + + +SharpenSliderClr::SharpenSliderClr(SharpenMain *client, SharpenWindow *gui, int x, int y, int w) + : BC_Button(x, y, w, client->get_theme()->get_image_set("reset_button")) +{ + this->client = client; + this->gui = gui; +} +SharpenSliderClr::~SharpenSliderClr() +{ +} +int SharpenSliderClr::handle_event() +{ + client->config.reset(RESET_SHARPEN_SLIDER); + gui->update_gui(RESET_SHARPEN_SLIDER); + client->send_configure_change(); + return 1; +} +