Skip to content

Commit

Permalink
Merge branch gtk3-gui-touchup-and-bugfix into gtk3
Browse files Browse the repository at this point in the history
  • Loading branch information
Hombre57 committed Jan 30, 2016
2 parents 3732d7d + 2b41f03 commit 978e9f6
Show file tree
Hide file tree
Showing 13 changed files with 203 additions and 236 deletions.
Binary file modified rtdata/images/Dark/actions/zoom-100-identifier.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified rtdata/images/Light/actions/zoom-100-identifier.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 50 additions & 1 deletion rtdata/themes/RawTherapee.css
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ GtkDrawingArea {
padding: 0;
margin: 0;
background-color: #363636;
border: 1px solid #252525;
}

GtkDrawingArea:selected {
Expand Down Expand Up @@ -183,13 +184,61 @@ GtkMenu {
border-radius: 4px;
}

#ExpanderBox GtkDrawingArea {
background-color: #363636;
}

#ExpanderBox GtkFrame {
background-color: #3B3B3B;
border: 1px solid #313131;
border-radius: 4px;
}

#ExpanderBox GtkFrame GtkDrawingArea {
background-color: #3B3B3B;
}

#ExpanderBox GtkFrame GtkFrame {
background-color: #414141;
border: 1px solid #373737;
border-radius: 4px;
}

#ExpanderBox GtkFrame GtkFrame GtkDrawingArea {
background-color: #414141;
}

/* Sub-tool (MyExpander) background */
#ExpanderBox2 {
background-color: #3B3B3B;
border: 1px solid #505050;
border: 1px solid #2A2A2A;
border-radius: 4px;
}

#ExpanderBox2 GtkDrawingArea {
background-color: #3B3B3B;
}

#ExpanderBox2 GtkFrame {
background-color: #414141;
border: 1px solid #373737;
border-radius: 4px;
}

#ExpanderBox2 GtkFrame GtkDrawingArea {
background-color: #414141;
}

#ExpanderBox2 GtkFrame GtkFrame {
background-color: #474747;
border: 1px solid #3D3D3D;
border-radius: 4px;
}

#ExpanderBox2 GtkFrame GtkFrame GtkDrawingArea {
background-color: #474747;
}

#MyExpanderTitle {
font-size: 120%;
}
Expand Down
4 changes: 3 additions & 1 deletion rtgui/cropwindow.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1057,7 +1057,7 @@ void CropWindow::expose (Cairo::RefPtr<Cairo::Context> cr)
options.bgcolor = backColor;

if (backColor == 0) {
iarea->get_style_context()->render_background(cr, x + imgAreaX, y + imgAreaY, imgAreaW, imgAreaH);
style->render_background(cr, x + imgAreaX, y + imgAreaY, imgAreaW, imgAreaH);
} else {
if (backColor == 1) {
cr->set_source_rgb (0, 0, 0);
Expand Down Expand Up @@ -1661,6 +1661,8 @@ void CropWindow::expose (Cairo::RefPtr<Cairo::Context> cr)
}
}

style->render_frame (cr, x + imgAreaX, y + imgAreaY, imgAreaW, imgAreaH);

//t2.set ();
// printf ("etime --> %d, %d\n", t2.etime (t1), t4.etime (t3));
}
Expand Down
84 changes: 25 additions & 59 deletions rtgui/histogrampanel.cc
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ HistogramPanel::HistogramPanel ()

gfxGrid = Gtk::manage (new Gtk::Grid ());
gfxGrid->set_orientation(Gtk::ORIENTATION_VERTICAL);
gfxGrid->set_row_spacing(1);
gfxGrid->set_column_spacing(1);
histogramRGBArea->setParent(gfxGrid);
gfxGrid->add(*histogramArea);

Expand Down Expand Up @@ -490,14 +492,10 @@ void HistogramRGBArea::updateBackBuffer (int r, int g, int b, Glib::ustring prof
if (surface) {
Cairo::RefPtr<Cairo::Context> cc = Cairo::Context::create(surface);
Glib::RefPtr<Gtk::StyleContext> style = get_style_context();
Gdk::RGBA c;

cc->set_antialias(Cairo::ANTIALIAS_NONE);
cc->set_line_join(Cairo::LINE_JOIN_MITER);
cc->set_source_rgb (mgray.get_red(), mgray.get_green(), mgray.get_blue());
cc->rectangle(0, 0, winw, winh);
cc->fill();
style->render_background (cc, 0, 0, surface->get_width(), surface->get_height());

cc->set_antialias(Cairo::ANTIALIAS_NONE);
cc->set_line_width (1.0);

if ( r != -1 && g != -1 && b != -1 ) {
Expand Down Expand Up @@ -548,6 +546,8 @@ void HistogramRGBArea::updateBackBuffer (int r, int g, int b, Glib::ustring prof
}
}
}

style->render_frame (cc, 0, 0, surface->get_width(), surface->get_height());
}

setDirty(false);
Expand Down Expand Up @@ -780,14 +780,6 @@ void HistogramRGBArea::on_realize ()
Gtk::DrawingArea::on_realize();
Glib::RefPtr<Gdk::Window> window = get_window();
add_events(Gdk::BUTTON_PRESS_MASK);

black = Gdk::RGBA ("black");
red = Gdk::RGBA ("red");
green = Gdk::RGBA ("green");
blue = Gdk::RGBA ("blue");
lgray = Gdk::RGBA ("gray75");
mgray = Gdk::RGBA ("gray50");
dgray = Gdk::RGBA ("gray25");
}

bool HistogramRGBArea::on_draw(const ::Cairo::RefPtr< Cairo::Context> &cr)
Expand Down Expand Up @@ -815,13 +807,6 @@ bool HistogramRGBArea::on_button_press_event (GdkEventButton* event)
return true;
}

void HistogramRGBArea::on_style_updated ()
{

white = get_style_context()->get_color(Gtk::STATE_FLAG_NORMAL);
queue_draw ();
}

//
//
//
Expand All @@ -836,7 +821,7 @@ HistogramArea::HistogramArea (FullModeListener *fml) : //needChroma unactive by
bhist(256);
chist(256);

//set_size_request(100, -1);
Glib::RefPtr<Gtk::StyleContext> style = get_style_context();

haih = new HistogramAreaIdleHelper;
haih->harea = this;
Expand Down Expand Up @@ -968,11 +953,9 @@ void HistogramArea::updateBackBuffer ()
setDrawRectangle(window, 0, 0, winw, winh, true);

Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surface);
const Glib::RefPtr<Gtk::StyleContext> style = get_style_context();

cr->set_antialias(Cairo::ANTIALIAS_NONE);
cr->set_source_rgb (white.get_red(), white.get_green(), white.get_blue());
cr->rectangle(0, 0, w, h);
cr->fill();
style->render_background(cr, 0, 0, surface->get_width(), surface->get_height());

if (valid) {
// For RAW mode use the other hists
Expand Down Expand Up @@ -1079,19 +1062,15 @@ void HistogramArea::updateBackBuffer ()

if (needLuma && !rawMode) {
drawCurve(cr, lhist, realhistheight, w, h);
cr->set_source_rgb (0.75, 0.75, 0.75);
cr->fill_preserve ();
cr->set_source_rgb (0.5, 0.5, 0.5);
cr->stroke ();
cr->set_source_rgb (0.65, 0.65, 0.65);
cr->fill ();

drawMarks(cr, lhist, realhistheight, w, ui, oi);
}

if (needChroma && !rawMode) {
drawCurve(cr, chist, realhistheight, w, h);
cr->set_source_rgb (0.6, 0.6, 0.6);
// cr->fill_preserve ();
// cr->set_source_rgb (0.2, 0.2, 0.1);
cr->set_source_rgb (0., 0., 0.);
cr->stroke ();

drawMarks(cr, chist, realhistheight, w, ui, oi);
Expand Down Expand Up @@ -1122,12 +1101,11 @@ void HistogramArea::updateBackBuffer ()
}
}

cr->set_source_rgba (1., 1., 1., 0.35);
cr->set_line_width (1.0);
cr->set_antialias(Cairo::ANTIALIAS_NONE);
cr->set_line_join(Cairo::LINE_JOIN_BEVEL);
cr->set_source_rgb (mgray.get_red(), mgray.get_green(), mgray.get_blue());
cr->rectangle(0.5, 0.5, w - 1, h - 1);
cr->stroke();

// Draw the content
cr->set_line_join(Cairo::LINE_JOIN_MITER);
std::valarray<double> ch_ds (1);
ch_ds[0] = 4;
Expand All @@ -1142,18 +1120,21 @@ void HistogramArea::updateBackBuffer ()
cr->move_to(3 * w / 4 + 0.5, 1.5);
cr->line_to(3 * w / 4 + 0.5, h - 2);
cr->stroke();
cr->move_to(1.5, w / 4 + 0.5);
cr->line_to(w - 2, w / 4 + 0.5);
cr->move_to(1.5, h / 4 + 0.5);
cr->line_to(w - 2, h / 4 + 0.5);
cr->stroke();
cr->move_to(1.5, 2 * w / 4 + 0.5);
cr->line_to(w - 2, 2 * w / 4 + 0.5);
cr->move_to(1.5, 2 * h / 4 + 0.5);
cr->line_to(w - 2, 2 * h / 4 + 0.5);
cr->stroke();
cr->move_to(1.5, 3 * w / 4 + 0.5);
cr->line_to(w - 2, 3 * w / 4 + 0.5);
cr->move_to(1.5, 3 * h / 4 + 0.5);
cr->line_to(w - 2, 3 * h / 4 + 0.5);
cr->stroke();

cr->unset_dash();

// Draw the frame's border
style->render_frame(cr, 0, 0, surface->get_width(), surface->get_height());

oldwidth = w;
oldheight = h;

Expand All @@ -1166,14 +1147,6 @@ void HistogramArea::on_realize ()
Gtk::DrawingArea::on_realize();
Glib::RefPtr<Gdk::Window> window = get_window();
add_events(Gdk::BUTTON_PRESS_MASK);

black = Gdk::RGBA ("black");
red = Gdk::RGBA ("red");
green = Gdk::RGBA ("green");
blue = Gdk::RGBA ("blue");
lgray = Gdk::RGBA ("gray75");
mgray = Gdk::RGBA ("gray50");
dgray = Gdk::RGBA ("gray25");
}

void HistogramArea::drawCurve(Cairo::RefPtr<Cairo::Context> &cr,
Expand Down Expand Up @@ -1212,13 +1185,6 @@ void HistogramArea::drawMarks(Cairo::RefPtr<Cairo::Context> &cr,
cr->fill();
}

void HistogramArea::on_style_updated ()
{

white = get_style_context()->get_color(Gtk::STATE_FLAG_NORMAL);
queue_draw ();
}

bool HistogramArea::on_draw(const ::Cairo::RefPtr< Cairo::Context> &cr)
{

Expand All @@ -1227,7 +1193,7 @@ bool HistogramArea::on_draw(const ::Cairo::RefPtr< Cairo::Context> &cr)
int winx, winy, winw, winh;
window->get_geometry(winx, winy, winw, winh);

if (winw != oldwidth && winh != oldheight) {
if (winw != oldwidth || winh != oldheight || isDirty ()) {
updateBackBuffer ();
}

Expand Down
19 changes: 0 additions & 19 deletions rtgui/histogrampanel.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,6 @@ class HistogramRGBArea : public Gtk::DrawingArea, public BackBuffer

protected:

Gdk::RGBA black;
Gdk::RGBA white;
Gdk::RGBA red;
Gdk::RGBA green;
Gdk::RGBA blue;
Gdk::RGBA lgray;
Gdk::RGBA mgray;
Gdk::RGBA dgray;

int val;
int r;
int g;
Expand Down Expand Up @@ -100,7 +91,6 @@ class HistogramRGBArea : public Gtk::DrawingArea, public BackBuffer
void on_realize();
bool on_draw(const ::Cairo::RefPtr< Cairo::Context> &cr);
bool on_button_press_event (GdkEventButton* event);
void on_style_updated ();
private:
void rgb2lab (Glib::ustring profile, Glib::ustring profileW, int r, int g, int b, float &LAB_l, float &LAB_a, float &LAB_b);
Gtk::SizeRequestMode get_request_mode_vfunc () const;
Expand All @@ -124,14 +114,6 @@ class HistogramArea : public Gtk::DrawingArea, public BackBuffer

protected:

Gdk::RGBA black;
Gdk::RGBA white;
Gdk::RGBA red;
Gdk::RGBA green;
Gdk::RGBA blue;
Gdk::RGBA lgray;
Gdk::RGBA mgray;
Gdk::RGBA dgray;
LUTu lhist, rhist, ghist, bhist, chist;
LUTu lhistRaw, rhistRaw, ghistRaw, bhistRaw;

Expand All @@ -155,7 +137,6 @@ class HistogramArea : public Gtk::DrawingArea, public BackBuffer
void on_realize();
bool on_draw(const ::Cairo::RefPtr< Cairo::Context> &cr);
bool on_button_press_event (GdkEventButton* event);
void on_style_updated ();

private:
void drawCurve(Cairo::RefPtr<Cairo::Context> &cr, LUTu & data, double scale, int hsize, int vsize);
Expand Down
10 changes: 5 additions & 5 deletions rtgui/icmpanel.cc
Original file line number Diff line number Diff line change
Expand Up @@ -132,11 +132,11 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch
ckbApplyBaselineExposureOffset->set_tooltip_text (M("TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP"));
setExpandAlignProperties(ckbApplyBaselineExposureOffset, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER);

dcpGrid->attach_next_to(*ckbToneCurve, Gtk::POS_LEFT, 1, 1);
dcpGrid->attach_next_to(*ckbApplyLookTable, *ckbToneCurve, Gtk::POS_RIGHT, 1, 1);
dcpGrid->attach_next_to(*ckbApplyHueSatMap, *ckbToneCurve, Gtk::POS_BOTTOM, 1, 1);
dcpGrid->attach_next_to(*ckbApplyBaselineExposureOffset, *ckbApplyHueSatMap, Gtk::POS_RIGHT, 1, 1);
dcpGrid->attach_next_to(*dcpIllGrid, *ckbToneCurve, Gtk::POS_TOP, 2, 1);
dcpGrid->attach_next_to(*dcpIllGrid, Gtk::POS_BOTTOM, 1, 1);
dcpGrid->attach_next_to(*ckbToneCurve, Gtk::POS_BOTTOM, 1, 1);
dcpGrid->attach_next_to(*ckbApplyHueSatMap, Gtk::POS_BOTTOM, 1, 1);
dcpGrid->attach_next_to(*ckbApplyLookTable, Gtk::POS_BOTTOM, 1, 1);
dcpGrid->attach_next_to(*ckbApplyBaselineExposureOffset, Gtk::POS_BOTTOM, 1, 1);

dcpFrame->add(*dcpGrid);
dcpFrame->set_sensitive(false);
Expand Down
13 changes: 1 addition & 12 deletions rtgui/mycurve.cc
Original file line number Diff line number Diff line change
Expand Up @@ -38,23 +38,12 @@ MyCurve::MyCurve () : pipetteR(-1.f), pipetteG(-1.f), pipetteB(-1.f), pipetteVal
curveIsDirty = true;
edited_point = -1;

//#if defined (__APPLE__)
// Workaround: disabling POINTER_MOTION_HINT_MASK as for gtk 2.24.22 the get_pointer() function is buggy for quartz and modifier mask is not updated correctly.
// This workaround should be removed when bug is fixed in GTK2 or when migrating to GTK3
//add_events(Gdk::POINTER_MOTION_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK | Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::BUTTON1_MOTION_MASK);
//#else
add_events(Gdk::POINTER_MOTION_MASK | Gdk::POINTER_MOTION_HINT_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK | Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::BUTTON1_MOTION_MASK);
//#endif
add_events(Gdk::POINTER_MOTION_MASK | Gdk::POINTER_MOTION_HINT_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK | Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::BUTTON1_MOTION_MASK);

mcih = new MyCurveIdleHelper;
mcih->myCurve = this;
mcih->destroyed = false;
mcih->pending = 0;

Glib::RefPtr<Gtk::StyleContext> style = get_style_context();
style->add_class(GTK_STYLE_CLASS_BACKGROUND);
style->add_class(GTK_STYLE_CLASS_FLAT);
style->add_class(GTK_STYLE_CLASS_NOTEBOOK);
}

MyCurve::~MyCurve ()
Expand Down
5 changes: 0 additions & 5 deletions rtgui/mydiagonalcurve.cc
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,6 @@ MyDiagonalCurve::MyDiagonalCurve () : activeParam(-1), bghistvalid(false)
editedPos.resize(2);
editedPos.at(0) = editedPos.at(1) = 0.0;

Glib::RefPtr<Gtk::StyleContext> style = get_style_context();
style->add_class(GTK_STYLE_CLASS_FRAME);
//style->add_class(GTK_STYLE_CLASS_NOTEBOOK);
//style->add_class(GTK_STYLE_CLASS_FLAT);

signal_event().connect( sigc::mem_fun(*this, &MyDiagonalCurve::handleEvents) );

curve.type = DCT_Spline;
Expand Down
5 changes: 0 additions & 5 deletions rtgui/myflatcurve.cc
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,6 @@ MyFlatCurve::MyFlatCurve ()
editedPos.resize(4);
editedPos.at(0) = editedPos.at(1) = editedPos.at(2) = editedPos.at(3) = 0.0;

Glib::RefPtr<Gtk::StyleContext> style = get_style_context();
style->add_class(GTK_STYLE_CLASS_FRAME);
//style->add_class(GTK_STYLE_CLASS_NOTEBOOK);
//style->add_class(GTK_STYLE_CLASS_FLAT);

signal_event().connect( sigc::mem_fun(*this, &MyFlatCurve::handleEvents) );

// By default, we create a curve with 8 control points
Expand Down
Loading

0 comments on commit 978e9f6

Please sign in to comment.