X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Fcolor3way%2Fcolor3waywindow.C;h=78203e86936d0662e9e2a848dee7af1d5e4e6472;hp=54705c95368e66983786ef3a563424f8b41316dc;hb=f890683b11652fc31712acd0d7317a1b235a314e;hpb=1d4f5d708de0d8ec19300b417354a3374d00ed47 diff --git a/cinelerra-5.1/plugins/color3way/color3waywindow.C b/cinelerra-5.1/plugins/color3way/color3waywindow.C index 54705c95..78203e86 100644 --- a/cinelerra-5.1/plugins/color3way/color3waywindow.C +++ b/cinelerra-5.1/plugins/color3way/color3waywindow.C @@ -35,12 +35,11 @@ - Color3WayWindow::Color3WayWindow(Color3WayMain *plugin) : PluginClientWindow(plugin, plugin->w, plugin->h, - 500, + 680, 370, 1) { @@ -137,9 +136,9 @@ void Color3WaySection::create_objects() _("Midtones"), _("Highlights") }; + int w1 = w - (CLEAR_BTN_WIDTH + margin * 2); - - gui->add_tool(title = new BC_Title(x + w / 2 - + gui->add_tool(title = new BC_Title(x + w1 / 2 - gui->get_text_width(MEDIUMFONT, titles[section]) / 2, y, titles[section])); @@ -150,8 +149,10 @@ void Color3WaySection::create_objects() &plugin->config.hue_y[section], x, y, - w / 2, + w1 / 2, section)); + gui->add_tool(pointClr = new Color3WaySliderClrSection(plugin, gui, + x + w1 + margin, y, CLEAR_BTN_WIDTH, RESET_POINT, section)); y += point->get_h() + margin; gui->add_tool(value_title = new BC_Title(x, y, _("Value:"))); @@ -161,8 +162,10 @@ void Color3WaySection::create_objects() &plugin->config.value[section], x, y, - w, + w1, section)); + gui->add_tool(valueClr = new Color3WaySliderClrSection(plugin, gui, + x + w1 + margin, y, CLEAR_BTN_WIDTH, RESET_VALUE, section)); y += value->get_h() + margin; gui->add_tool(sat_title = new BC_Title(x, y, _("Saturation:"))); @@ -172,8 +175,10 @@ void Color3WaySection::create_objects() &plugin->config.saturation[section], x, y, - w, + w1, section)); + gui->add_tool(saturationClr = new Color3WaySliderClrSection(plugin, gui, + x + w1 + margin, y, CLEAR_BTN_WIDTH, RESET_SATURATION, section)); y += saturation->get_h() + margin; gui->add_tool(reset = new Color3WayResetSection(plugin, @@ -204,23 +209,29 @@ int Color3WaySection::reposition_window(int x, int y, int w, int h) this->y = y; this->w = w; this->h = h; + int w1 = w - (CLEAR_BTN_WIDTH + margin * 2); - title->reposition_window(x + w / 2 - + title->reposition_window(x + w1 / 2 - title->get_w() / 2, title->get_y()); - point->reposition_window(x, point->get_y(), w / 2); + point->reposition_window(x, point->get_y(), w1 / 2); + pointClr->reposition_window(x + w1 + margin, point->get_y()); y = point->get_y() + point->get_h() + margin; + value_title->reposition_window(x, y); y += value_title->get_h() + margin; - value->reposition_window(x, y, w, value->get_h()); - value->set_pointer_motion_range(w); + value->reposition_window(x, y, w1, value->get_h()); + value->set_pointer_motion_range(w1); + valueClr->reposition_window(x + w1 + margin, y); y += value->get_h() + margin; sat_title->reposition_window(x, y); y += sat_title->get_h() + margin; - saturation->reposition_window(x, y, w, saturation->get_h()); - saturation->set_pointer_motion_range(w); + saturation->reposition_window(x, y, w1, saturation->get_h()); + saturation->set_pointer_motion_range(w1); + saturationClr->reposition_window(x + w1 + margin, y); y += saturation->get_h() + margin; + reset->reposition_window(x, y); y += reset->get_h() + margin; balance->reposition_window(x, y); @@ -370,7 +381,7 @@ void Color3WayPoint::draw_face(int flash, int flush) // set_color(BLACK); // draw_arc(0, 0, radius * 2, radius * 2, 45, 180); -// +// // set_color(MEGREY); // draw_arc(0, 0, radius * 2, radius * 2, 45, -180); @@ -659,6 +670,45 @@ int Color3WayResetSection::handle_event() +Color3WaySliderClrSection::Color3WaySliderClrSection(Color3WayMain *plugin, + Color3WayWindow *gui, + int x, + int y, + int w, + int clear, + int section) + : BC_GenericButton(x, y, w, _("⌂")) +{ + this->plugin = plugin; + this->gui = gui; + this->clear = clear; + this->section = section; +} +Color3WaySliderClrSection::~Color3WaySliderClrSection() +{ +} +int Color3WaySliderClrSection::handle_event() +{ + switch(clear) { + case RESET_POINT : + plugin->config.hue_x[section] = 0; + plugin->config.hue_y[section] = 0; + break; + case RESET_VALUE : plugin->config.value[section] = 0; + break; + case RESET_SATURATION : plugin->config.saturation[section] = 0; + break; + } + if(plugin->copy_to_all[section]) plugin->config.copy_to_all(section); + plugin->send_configure_change(); + gui->update(); + return 1; +} + + + + + Color3WayCopySection::Color3WayCopySection(Color3WayMain *plugin, Color3WayWindow *gui, int x,