index 3c0ec17c646869ec7f587285459a982e34eedd2e..10254321a54c8ba1a14f5b1d4b29ee8515fabcae 100644 (file)
}
GtkWidget *
-sp_color_gtkselector_new (GType, SPColorSpaceType colorspace)
+sp_color_gtkselector_new( GType )
{
SPColorGtkselector *csel;
{
}
-void ColorGtkselector::_colorChanged( const SPColor& color, gfloat alpha )
+void ColorGtkselector::_colorChanged()
{
GdkColor gcolor;
- float rgb[3];
- g_return_if_fail (_csel != NULL);
- g_return_if_fail (SP_IS_COLOR_GTKSELECTOR (_csel));
- g_return_if_fail( ( 0.0 <= alpha ) && ( alpha <= 1.0 ) );
- sp_color_copy (&_color, &color);
- _alpha = alpha;
-
- sp_color_get_rgb_floatv( &color, rgb );
gcolor.pixel = 0;
- gcolor.red = static_cast< guint16 > (rgb[0] * 65535);
- gcolor.green = static_cast< guint16 > (rgb[1] * 65535);
- gcolor.blue = static_cast< guint16 > (rgb[2] * 65535);
+ gcolor.red = static_cast< guint16 >(_color.v.c[0] * 65535);
+ gcolor.green = static_cast< guint16 >(_color.v.c[1] * 65535);
+ gcolor.blue = static_cast< guint16 >(_color.v.c[2] * 65535);
// g_message( "***** _colorChanged %04x %04x %04x", gcolor.red, gcolor.green, gcolor.blue );
g_signal_handler_block( _gtkThing, _sigId );
- gtk_color_selection_set_current_alpha (_gtkThing, (guint16)(65535 * alpha));
- gtk_color_selection_set_current_color (_gtkThing, &gcolor);
+ gtk_color_selection_set_current_alpha( _gtkThing, static_cast<guint16>(65535 * _alpha) );
+ gtk_color_selection_set_current_color( _gtkThing, &gcolor );
g_signal_handler_unblock(_gtkThing, _sigId );
}
void ColorGtkselector::_gtkChanged( GtkColorSelection *colorselection, SPColorGtkselector *gtksel )
{
- ColorGtkselector* gtkInst = (ColorGtkselector*)(SP_COLOR_SELECTOR(gtksel)->base);
- SPColor ourColor;
GdkColor color;
- guint16 alpha;
-
gtk_color_selection_get_current_color (colorselection, &color);
- alpha = gtk_color_selection_get_current_alpha (colorselection);
- sp_color_set_rgb_float (&ourColor, (color.red / 65535.0), (color.green / 65535.0), (color.blue / 65535.0));
+ guint16 alpha = gtk_color_selection_get_current_alpha (colorselection);
+
+ SPColor ourColor( (color.red / 65535.0), (color.green / 65535.0), (color.blue / 65535.0) );
// g_message( "***** _gtkChanged %04x %04x %04x", color.red, color.green, color.blue );
+ ColorGtkselector* gtkInst = (ColorGtkselector*)(SP_COLOR_SELECTOR(gtksel)->base);
gtkInst->_updateInternals( ourColor, static_cast< gfloat > (alpha) / 65535.0, gtk_color_selection_is_adjusting(colorselection) );
}