void Widget_ColorEdit::setHVSColor(synfig::Color color) { Gdk::Color gtkColor; float r = hvs_gamma.r_F32_to_F32(CLIP_VALUE(color.get_r(),0.0,1.0)); float g = hvs_gamma.g_F32_to_F32(CLIP_VALUE(color.get_g(),0.0,1.0)); float b = hvs_gamma.b_F32_to_F32(CLIP_VALUE(color.get_b(),0.0,1.0)); gtkColor.set_red((unsigned short)(r * USHRT_MAX)); gtkColor.set_green((unsigned short)(g * USHRT_MAX)); gtkColor.set_blue((unsigned short)(b * USHRT_MAX)); colorHVSChanged = true; hvsColorWidget->set_previous_color (gtkColor); //We can't use it there, cause color changes in realtime. hvsColorWidget->set_current_color (gtkColor); colorHVSChanged = false; }