diff --git a/synfig-studio/src/gui/widgets/widget_coloredit.cpp b/synfig-studio/src/gui/widgets/widget_coloredit.cpp index 3657052..72b0656 100644 --- a/synfig-studio/src/gui/widgets/widget_coloredit.cpp +++ b/synfig-studio/src/gui/widgets/widget_coloredit.cpp @@ -55,6 +55,7 @@ using namespace studio; /* === M A C R O S ========================================================= */ #define SPINBUTTON_WIDTH 100 +#define ARROW_NEGATIVE_THRESHOLD 0.4 /* === G L O B A L S ======================================================= */ @@ -75,7 +76,7 @@ void ColorSlider::set_type(Type x) { type=x; queue_draw(); } void -ColorSlider::set_color(synfig::Color x) { color_=x; queue_draw(); } +ColorSlider::set_color(synfig::Color x) { orig_color=x; color_=x; queue_draw(); } void ColorSlider::slider_color_TYPE_R(synfig::Color &color, float amount) { color.set_r(amount); } @@ -191,7 +192,8 @@ ColorSlider::redraw(GdkEventExpose */*bleh*/) get_style()->paint_arrow( get_window(), - Gtk::STATE_SELECTED, + (orig_color.get_y() signal_activated_; Type type; - synfig::Color color_; + synfig::Color color_, orig_color; public: diff --git a/synfig-studio/src/gui/widgets/widget_gradient.cpp b/synfig-studio/src/gui/widgets/widget_gradient.cpp index ccbc94e..a3a5ad1 100644 --- a/synfig-studio/src/gui/widgets/widget_gradient.cpp +++ b/synfig-studio/src/gui/widgets/widget_gradient.cpp @@ -49,6 +49,8 @@ using namespace studio; /* === M A C R O S ========================================================= */ +#define ARROW_NEGATIVE_THRESHOLD 0.4 + /* === G L O B A L S ======================================================= */ /* === P R O C E D U R E S ================================================= */ @@ -135,11 +137,9 @@ Widget_Gradient::redraw(GdkEventExpose */*bleh*/) return true; } - render_gradient_to_window(get_window(),Gdk::Rectangle(0,0,w,h-CONTROL_HEIGHT),gradient_); + render_gradient_to_window(get_window(),Gdk::Rectangle(0,0,w,h),gradient_); gc->set_rgb_fg_color(Gdk::Color("#7f7f7f")); - get_window()->draw_rectangle(gc, false, 0, h-CONTROL_HEIGHT, w, CONTROL_HEIGHT); - Gradient::iterator iter,selected_iter; bool show_selected(false); for(iter=gradient_.begin();iter!=gradient_.end();iter++) @@ -147,7 +147,7 @@ Widget_Gradient::redraw(GdkEventExpose */*bleh*/) if(*iter!=selected_cpoint) get_style()->paint_arrow( get_window(), - (*iter==selected_cpoint)?Gtk::STATE_SELECTED:Gtk::STATE_ACTIVE, + (iter->color.get_y()paint_arrow( get_window(), - Gtk::STATE_SELECTED, + (selected_iter->color.get_y()paint_arrow( + get_window(), + (selected_iter->color.get_y()pos*w)-CONTROL_HEIGHT/2+1, + h-CONTROL_HEIGHT*1.3, + CONTROL_HEIGHT, + CONTROL_HEIGHT ); }