X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fwidget_coloredit.cpp;h=2d7940ef6402e9bfadbcc1e53fef6598037f362f;hb=515a022ac91401cac968ddf1530938773a9b9624;hp=dd1bb9eb2978ae5d9369ae377da9c986260fd4ad;hpb=9acb5bc09cfde3943739876154ddedd6f43cfc7a;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/widget_coloredit.cpp b/synfig-studio/trunk/src/gtkmm/widget_coloredit.cpp index dd1bb9e..2d7940e 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_coloredit.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_coloredit.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -50,11 +51,6 @@ using namespace studio; /* === M A C R O S ========================================================= */ -#define use_colorspace_gamma() App::use_colorspace_gamma -#define colorspace_gamma() (2.2f) -#define gamma_in(x) ((x>=0)?pow((float)x,1.0f/colorspace_gamma()):-pow((float)-x,1.0f/colorspace_gamma())) -#define gamma_out(x) ((x>=0)?pow((float)x,colorspace_gamma()):-pow((float)-x,colorspace_gamma())) - /* === G L O B A L S ======================================================= */ /* === P R O C E D U R E S ================================================= */ @@ -114,7 +110,7 @@ ColorSlider::adjust_color(Type type, Color &color, float amount) } bool -ColorSlider::redraw(GdkEventExpose*bleh) +ColorSlider::redraw(GdkEventExpose */*bleh*/) { Color color(color_); @@ -158,61 +154,32 @@ ColorSlider::redraw(GdkEventExpose*bleh) Glib::RefPtr gc(Gdk::GC::create(get_window())); const Color bg1(0.75, 0.75, 0.75); const Color bg2(0.5, 0.5, 0.5); - Gdk::Color gdk_c; int i; for(i=width-1;i>=0;i--) { - color_func(color,float(i)/float(width)); + color_func(color, + (use_colorspace_gamma() && typeset_rgb_fg_color(gdk_c); + gc->set_rgb_fg_color(colorconv_synfig2gdk(c1)); get_window()->draw_rectangle(gc, true, ca.get_x()+i, ca.get_y(), 1, height/2); - gdk_c.set_rgb(r2,g2,b2); - gc->set_rgb_fg_color(gdk_c); + gc->set_rgb_fg_color(colorconv_synfig2gdk(c2)); get_window()->draw_rectangle(gc, true, ca.get_x()+i, ca.get_y()+height/2, 1, height/2); } else { - gdk_c.set_rgb(r2,g2,b2); - gc->set_rgb_fg_color(gdk_c); + gc->set_rgb_fg_color(colorconv_synfig2gdk(c2)); get_window()->draw_rectangle(gc, true, ca.get_x()+i, ca.get_y(), 1, height/2); - gdk_c.set_rgb(r1,g1,b1); - gc->set_rgb_fg_color(gdk_c); + gc->set_rgb_fg_color(colorconv_synfig2gdk(c1)); get_window()->draw_rectangle(gc, true, ca.get_x()+i, ca.get_y()+height/2, 1, height/2); } }