X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fplugins%2Fsharpen%2Fsharpenwindow.C;h=61ab6b50b9c19980e14e0cb2e4c23146ce2ab6fd;hb=0df48ad2d876409c5beeae2e21933a728ea76c33;hp=310128f8dd3d86bb6a301535e2902df959c58c8c;hpb=1c6e05239a27d92813c27c697ccac25378b9efa0;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/plugins/sharpen/sharpenwindow.C b/cinelerra-5.1/plugins/sharpen/sharpenwindow.C index 310128f8..61ab6b50 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, 195, 230, 195, 0) //195 was 150 + : PluginClientWindow(client, xS(280), yS(190), xS(280), yS(190), 0) //195 was 150 { this->client = client; } @@ -44,36 +44,56 @@ SharpenWindow::~SharpenWindow() void SharpenWindow::create_objects() { - int x = 10, y = 10; + int xs10 = xS(10), xs50 = xS(50), xs100 = xS(100); + int ys10 = yS(10), ys20 = yS(20), ys30 = yS(30), ys40 = yS(40); + int x = xs10, y = ys10; + int x1 = 0; int clrBtn_w = xs50; + int defaultBtn_w = xs100; + add_tool(new BC_Title(x, y, _("Sharpness"))); - y += 20; + y += ys20; add_tool(sharpen_slider = new SharpenSlider(client, &(client->config.sharpness), x, y)); - y += 30; + x1 = x + sharpen_slider->get_w() + xs10; + add_subwindow(sharpen_sliderClr = new SharpenSliderClr(client, this, x1, y, clrBtn_w)); + + y += ys30; add_tool(sharpen_interlace = new SharpenInterlace(client, x, y)); - y += 30; + y += ys30; add_tool(sharpen_horizontal = new SharpenHorizontal(client, x, y)); - y += 30; + y += ys30; add_tool(sharpen_luminance = new SharpenLuminance(client, x, y)); - y += 40; + y += ys40; add_tool(reset = new SharpenReset(client, this, x, y)); + add_subwindow(default_settings = new SharpenDefaultSettings(client, this, + (xS(280) - xs10 - defaultBtn_w), y, defaultBtn_w)); + show_window(); flush(); } -void SharpenWindow::update() +void SharpenWindow::update_gui(int clear) { - sharpen_slider->update(client->config.sharpness); - sharpen_interlace->update(client->config.interlace); - sharpen_horizontal->update(client->config.horizontal); - sharpen_luminance->update(client->config.luminance); + 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, y, 0, - 200, - 200, + xS(200), + yS(200), 0, MAXSHARPNESS, (int)*output, @@ -154,8 +174,44 @@ SharpenReset::~SharpenReset() } int SharpenReset::handle_event() { - client->config.reset(); - gui->update(); + 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; }