index ddfb40a8fd49112285b4c140803d864e63cbabe0..2cc4915b8c9ce86fe96748eb7d76bc49b4a4dac6 100644 (file)
_updating( FALSE ),
_dragging( FALSE )
{
- gint i = 0;
-
- for (i = 0; i < 5; i++) {
+ for (gint i = 0; i < 5; i++) {
_l[i] = 0;
_a[i] = 0;
_s[i] = 0;
ColorScales::~ColorScales()
{
- gint i = 0;
-
- for (i = 0; i < 5; i++) {
+ for (gint i = 0; i < 5; i++) {
_l[i] = 0;
_a[i] = 0;
_s[i] = 0;
return GTK_WIDGET (csel);
}
-void ColorScales::_recalcColor( bool changing )
+void ColorScales::_recalcColor( gboolean changing )
{
if ( changing )
{
case SP_COLOR_SCALES_MODE_RGB:
case SP_COLOR_SCALES_MODE_HSV:
_getRgbaFloatv(c);
- sp_color_set_rgb_float (&color, c[0], c[1], c[2]);
+ color.set( c[0], c[1], c[2] );
alpha = c[3];
break;
case SP_COLOR_SCALES_MODE_CMYK:
+ {
_getCmykaFloatv( c );
- sp_color_set_cmyk_float (&color, c[0], c[1], c[2], c[3]);
+
+ float rgb[3];
+ sp_color_cmyk_to_rgb_floatv( rgb, c[0], c[1], c[2], c[3] );
+ color.set( rgb[0], rgb[1], rgb[2] );
alpha = c[4];
break;
+ }
default:
g_warning ("file %s: line %d: Illegal color selector mode %d", __FILE__, __LINE__, _mode);
break;
}
}
-void ColorScales::_colorChanged( const SPColor& color, gfloat alpha )
+void ColorScales::_colorChanged()
{
- gfloat tmp[3];
- gfloat c[5] = {0.0, 0.0, 0.0, 0.0};
-
- switch (_mode) {
- case SP_COLOR_SCALES_MODE_RGB:
- sp_color_get_rgb_floatv (&color, c);
- c[3] = alpha;
- c[4] = 0.0;
- break;
- case SP_COLOR_SCALES_MODE_HSV:
- sp_color_get_rgb_floatv (&color, tmp);
- c[0] = getScaled( _a[0] );
- sp_color_rgb_to_hsl_floatv (c, tmp[0], tmp[1], tmp[2]);
- c[3] = alpha;
- c[4] = 0.0;
- break;
- case SP_COLOR_SCALES_MODE_CMYK:
- sp_color_get_cmyk_floatv (&color, c);
- c[4] = alpha;
- break;
- default:
- g_warning ("file %s: line %d: Illegal color selector mode %d", __FILE__, __LINE__, _mode);
- break;
- }
+#ifdef DUMP_CHANGE_INFO
+ g_message("ColorScales::_colorChanged( this=%p, %f, %f, %f, %f)", this, color.v.c[0], color.v.c[1], color.v.c[2], alpha );
+#endif
+ gfloat tmp[3];
+ gfloat c[5] = {0.0, 0.0, 0.0, 0.0};
+
+ switch (_mode) {
+ case SP_COLOR_SCALES_MODE_RGB:
+ sp_color_get_rgb_floatv( &_color, c );
+ c[3] = _alpha;
+ c[4] = 0.0;
+ break;
+ case SP_COLOR_SCALES_MODE_HSV:
+ sp_color_get_rgb_floatv( &_color, tmp );
+ sp_color_rgb_to_hsl_floatv (c, tmp[0], tmp[1], tmp[2]);
+ c[3] = _alpha;
+ c[4] = 0.0;
+ break;
+ case SP_COLOR_SCALES_MODE_CMYK:
+ sp_color_get_cmyk_floatv( &_color, c );
+ c[4] = _alpha;
+ break;
+ default:
+ g_warning ("file %s: line %d: Illegal color selector mode %d", __FILE__, __LINE__, _mode);
+ break;
+ }
- _updating = TRUE;
- setScaled( _a[0], c[0] );
- setScaled( _a[1], c[1] );
- setScaled( _a[2], c[2] );
- setScaled( _a[3], c[3] );
- setScaled( _a[4], c[4] );
- _updateSliders( CSC_CHANNELS_ALL );
- _updating = FALSE;
+ _updating = TRUE;
+ setScaled( _a[0], c[0] );
+ setScaled( _a[1], c[1] );
+ setScaled( _a[2], c[2] );
+ setScaled( _a[3], c[3] );
+ setScaled( _a[4], c[4] );
+ _updateSliders( CSC_CHANNELS_ALL );
+ _updating = FALSE;
}
void ColorScales::_getRgbaFloatv( gfloat *rgba )
void ColorScales::_adjustmentAnyChanged( GtkAdjustment *adjustment, SPColorScales *cs )
{
-// TODO check this. It looks questionable:
- // if a value is entered between 0 and 1 exclusive, normalize it to (int) 0..255 or 0..100
- if (adjustment->value > 0.0 && adjustment->value < 1.0) {
- gtk_adjustment_set_value( adjustment, floor ((adjustment->value) * adjustment->upper + 0.5) );
- }
-
gint channel = GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT (adjustment), "channel"));
_adjustmentChanged(cs, channel);
@@ -541,6 +538,7 @@ void ColorScales::_adjustmentAnyChanged( GtkAdjustment *adjustment, SPColorScale
void ColorScales::_sliderAnyGrabbed( SPColorSlider *slider, SPColorScales *cs )
{
+ (void)slider;
ColorScales* scales = (ColorScales*)(SP_COLOR_SELECTOR(cs)->base);
if (!scales->_dragging) {
scales->_dragging = TRUE;
void ColorScales::_sliderAnyReleased( SPColorSlider *slider, SPColorScales *cs )
{
+ (void)slider;
ColorScales* scales = (ColorScales*)(SP_COLOR_SELECTOR(cs)->base);
if (scales->_dragging) {
scales->_dragging = FALSE;
@@ -561,6 +560,7 @@ void ColorScales::_sliderAnyReleased( SPColorSlider *slider, SPColorScales *cs )
void ColorScales::_sliderAnyChanged( SPColorSlider *slider, SPColorScales *cs )
{
+ (void)slider;
ColorScales* scales = (ColorScales*)(SP_COLOR_SELECTOR(cs)->base);
scales->_recalcColor( TRUE );