X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Fhistogram%2Fhistogramwindow.C;h=3261fbc906fd2c5840df8f9963e655e102103af7;hp=8acb53fc3e3186e1cf21694e35e19512581168dd;hb=232ae3c6972c1740b6e1890ccce1264f2bb311f5;hpb=abdff69b9309c7d5cd2ed6ce17dd2e0d85aef9a1 diff --git a/cinelerra-5.1/plugins/histogram/histogramwindow.C b/cinelerra-5.1/plugins/histogram/histogramwindow.C index 8acb53fc..3261fbc9 100644 --- a/cinelerra-5.1/plugins/histogram/histogramwindow.C +++ b/cinelerra-5.1/plugins/histogram/histogramwindow.C @@ -60,63 +60,34 @@ void HistogramWindow::create_objects() int margin = plugin->get_theme()->widget_border; int x = margin, y = margin, x1 = margin; - add_subwindow(mode_v = new HistogramMode(plugin, - x, - y, - HISTOGRAM_VALUE, - _("Value"))); + add_subwindow(mode_v = new HistogramMode(plugin, x, y, + HISTOGRAM_VALUE, _("Value"))); x += mode_v->get_w() + margin; - add_subwindow(mode_r = new HistogramMode(plugin, - x, - y, - HISTOGRAM_RED, - _("Red"))); + add_subwindow(mode_r = new HistogramMode(plugin, x, y, + HISTOGRAM_RED, _("Red"))); x += mode_r->get_w() + margin; - add_subwindow(mode_g = new HistogramMode(plugin, - x, - y, - HISTOGRAM_GREEN, - _("Green"))); + add_subwindow(mode_g = new HistogramMode(plugin, x, y, + HISTOGRAM_GREEN, _("Green"))); x += mode_g->get_w() + margin; - add_subwindow(mode_b = new HistogramMode(plugin, - x, - y, - HISTOGRAM_BLUE, - _("Blue"))); - - + add_subwindow(mode_b = new HistogramMode(plugin, x, y, + HISTOGRAM_BLUE, _("Blue"))); x = get_w() - margin - plugin->get_theme()->get_image_set("histogram_rgb_toggle")[0]->get_w(); - add_subwindow(parade_on = new HistogramParade(plugin, - this, - x, - y, - 1)); + add_subwindow(parade_on = new HistogramParade(plugin, this, + x, y, 1)); x -= parade_on->get_w() + margin; - add_subwindow(parade_off = new HistogramParade(plugin, - this, - x, - y, - 0)); - + add_subwindow(parade_off = new HistogramParade(plugin, this, x, y, 0)); x = x1; y += parade_on->get_h() + margin; - add_subwindow(canvas_title1 = new BC_Title(margin, - y, - "-10%")); - add_subwindow(canvas_title2 = new BC_Title(get_w() - get_text_width(MEDIUMFONT, "110%") - margin, - y, - "110%")); + add_subwindow(canvas_title1 = new BC_Title(margin, y, "-10%")); + x = get_w() - get_text_width(MEDIUMFONT, "110%") - margin; + add_subwindow(canvas_title2 = new BC_Title(x, y, "110%")); y += canvas_title2->get_h() + margin; x = x1; canvas_h = get_h() - y - yS(210); - - add_subwindow(low_input_carrot = new HistogramCarrot(plugin, - this, - x, - y + canvas_h)); + add_subwindow(low_input_carrot = new HistogramCarrot(plugin, this, x, y + canvas_h)); x = low_input_carrot->get_w() / 2 + x; canvas_w = get_w() - x - x; @@ -126,48 +97,27 @@ void HistogramWindow::create_objects() title3_x = x + (int)(canvas_w * (1.0 - HIST_MIN_INPUT) / FLOAT_RANGE); title4_x = x + (int)(canvas_w); - - - - - add_subwindow(canvas = new HistogramCanvas(plugin, - this, - x, - y, - canvas_w, - canvas_h)); + add_subwindow(canvas = new HistogramCanvas(plugin, this, + x, y, canvas_w, canvas_h)); // Canvas border - draw_3d_border(x - 2, - y - 2, - canvas_w + 4, - canvas_h + 4, - get_bg_color(), - BLACK, - MDGREY, - get_bg_color()); + draw_3d_border(x - 2, y - 2, canvas_w + 4, canvas_h + 4, + get_bg_color(), BLACK, MDGREY, get_bg_color()); // Calculate output curve with no value function - plugin->tabulate_curve(plugin->mode, 0); + plugin->tabulate_curve(plugin->preview_lookup, plugin->mode, 0x10000, 0); y += canvas->get_h(); x = margin; - add_subwindow(gamma_carrot = new HistogramCarrot(plugin, - this, - canvas->get_x() + - canvas->get_w() / 2 - - low_input_carrot->get_w() / 2 , - y)); - - add_subwindow(high_input_carrot = new HistogramCarrot(plugin, - this, - canvas->get_x() + - canvas->get_w() - - low_input_carrot->get_w() / 2, - y)); - y += low_input_carrot->get_h() + margin; + add_subwindow(gamma_carrot = new HistogramCarrot(plugin, this, + canvas->get_x() + canvas->get_w() / 2 - + low_input_carrot->get_w() / 2 , y)); + add_subwindow(high_input_carrot = new HistogramCarrot(plugin, this, + canvas->get_x() + canvas->get_w() - + low_input_carrot->get_w() / 2, y)); + y += low_input_carrot->get_h() + margin; // add_subwindow(title = new BC_Title(x, y, _("Input:"))); // x += title->get_w() + margin; @@ -271,20 +221,13 @@ int HistogramWindow::resize_event(int w, int h) // Canvas follows window size canvas_w = canvas_w + xdiff; canvas_h = canvas_h + ydiff; - canvas->reposition_window(canvas->get_x(), - canvas->get_y(), - canvas_w, - canvas_h); + canvas->reposition_window(canvas->get_x(), canvas->get_y(), + canvas_w, canvas_h); // Canvas border - draw_3d_border(canvas->get_x() - 2, - canvas->get_y() - 2, - canvas_w + 4, - canvas_h + 4, - get_bg_color(), - BLACK, - MDGREY, - get_bg_color()); + draw_3d_border(canvas->get_x() - 2, canvas->get_y() - 2, + canvas_w + 4, canvas_h + 4, + get_bg_color(), BLACK, MDGREY, get_bg_color()); low_input_carrot->reposition_window(low_input_carrot->get_x(), low_input_carrot->get_y() + ydiff); @@ -307,14 +250,9 @@ int HistogramWindow::resize_event(int w, int h) output->update(); // Output border - draw_3d_border(output->get_x() - 2, - output->get_y() - 2, - output->get_w() + 4, - output->get_h() + 4, - get_bg_color(), - BLACK, - MDGREY, - get_bg_color()); + draw_3d_border(output->get_x() - 2, output->get_y() - 2, + output->get_w() + 4, output->get_h() + 4, + get_bg_color(), BLACK, MDGREY, get_bg_color()); low_output_carrot->reposition_window(low_output_carrot->get_x(), low_output_carrot->get_y() + ydiff); @@ -458,9 +396,11 @@ void HistogramWindow::draw_canvas_mode(int mode, int color, int y, int h) // Draw histogram int max = 0, *accum = plugin->accum[mode]; if( accum ) { - for( int i=0; i 0 && i1 > i0 ? (double)m : 0; + m = v > 0 ? v*lin_scale + log(v)*log_scale : 0; canvas->set_color(BLACK); canvas->draw_line(x, y, x, y+h - m);