From 5d008fdcf717b529d0e2cbcef453537c9d0e2f60 Mon Sep 17 00:00:00 2001 From: Emil Martinec Date: Sun, 3 Apr 2011 12:14:07 -0500 Subject: [PATCH] Changed S/H warning to use luminance rather than individual color channels (see issue 506). --- rtgui/cropwindow.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rtgui/cropwindow.cc b/rtgui/cropwindow.cc index 8359d7ac8..f36d126cd 100644 --- a/rtgui/cropwindow.cc +++ b/rtgui/cropwindow.cc @@ -661,9 +661,13 @@ void CropWindow::expose (Cairo::RefPtr cr) { for (int i=0; iget_height(); i++) for (int j=0; jget_width(); j++) { guint8* curr = pix + i*tmp->get_rowstride () + j*3; - if (showch && (curr[0]>=options.highlightThreshold || curr[1]>=options.highlightThreshold || curr[2]>=options.highlightThreshold)) + /*if (showch && (curr[0]>=options.highlightThreshold || curr[1]>=options.highlightThreshold || curr[2]>=options.highlightThreshold)) curr[0] = curr[1] = curr[2] = 0; else if (showcs && (curr[0]<=options.shadowThreshold || curr[1]<=options.shadowThreshold || curr[2]<=options.shadowThreshold)) + curr[0] = curr[1] = curr[2] = 255;*/ + if (showch && ((0.299*curr[0]+0.587*curr[1]+0.114*curr[2])>=options.highlightThreshold)) + curr[0] = curr[1] = curr[2] = 0; + else if (showcs && ((0.299*curr[0]+0.587*curr[1]+0.114*curr[2])<=options.shadowThreshold)) curr[0] = curr[1] = curr[2] = 255; } iarea->get_window()->draw_pixbuf (iarea->get_style()->get_base_gc(Gtk::STATE_NORMAL), tmp, 0, 0, x+imgX, y+imgY, -1, -1, Gdk::RGB_DITHER_NONE, 0, 0);