summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2007-09-15 16:37:27 +0000
committerjoncruz <joncruz@users.sourceforge.net>2007-09-15 16:37:27 +0000
commitc13edab979886a7dc0a23e8bf8b5da77fb5676de (patch)
treed0af3cb43043747680e49269441978694656e6f8 /src/widgets
parentavoid code duplication, i.e. use sp_item_snappoints in the object-snapper.cpp (diff)
downloadinkscape-c13edab979886a7dc0a23e8bf8b5da77fb5676de.tar.gz
inkscape-c13edab979886a7dc0a23e8bf8b5da77fb5676de.zip
Refactoring SPColor to C++ and removing legacy CMYK implementation
(bzr r3753)
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/gradient-vector.cpp10
-rw-r--r--src/widgets/paint-selector.cpp10
-rw-r--r--src/widgets/sp-color-gtkselector.cpp14
-rw-r--r--src/widgets/sp-color-gtkselector.h2
-rw-r--r--src/widgets/sp-color-notebook.cpp46
-rw-r--r--src/widgets/sp-color-scales.cpp23
-rw-r--r--src/widgets/sp-color-selector.cpp60
-rw-r--r--src/widgets/sp-color-selector.h5
-rw-r--r--src/widgets/sp-color-wheel-selector.cpp18
-rw-r--r--src/widgets/sp-color-wheel.cpp44
10 files changed, 140 insertions, 92 deletions
diff --git a/src/widgets/gradient-vector.cpp b/src/widgets/gradient-vector.cpp
index f1c4e3500..f7a22cc43 100644
--- a/src/widgets/gradient-vector.cpp
+++ b/src/widgets/gradient-vector.cpp
@@ -595,8 +595,7 @@ sp_grad_edit_select (GtkOptionMenu *mnu, GtkWidget *tbl)
SPColorSelector *csel = (SPColorSelector*)g_object_get_data (G_OBJECT (tbl), "cselector");
guint32 const c = sp_stop_get_rgba32(stop);
csel->base->setAlpha(SP_RGBA32_A_F (c));
- SPColor color;
- sp_color_set_rgb_float (&color, SP_RGBA32_R_F (c), SP_RGBA32_G_F (c), SP_RGBA32_B_F (c));
+ SPColor color( SP_RGBA32_R_F (c), SP_RGBA32_G_F (c), SP_RGBA32_B_F (c) );
// set its color, from the stored array
csel->base->setColor( color );
GtkWidget *offspin = GTK_WIDGET (g_object_get_data (G_OBJECT (tbl), "offspn"));
@@ -868,7 +867,7 @@ sp_gradient_vector_widget_new (SPGradient *gradient, SPStop *select_stop)
f = gtk_frame_new (_("Stop Color"));
gtk_widget_show (f);
gtk_box_pack_start (GTK_BOX (vb), f, TRUE, TRUE, PAD);
- csel = (GtkWidget*)sp_color_selector_new (SP_TYPE_COLOR_NOTEBOOK, SP_COLORSPACE_TYPE_NONE);
+ csel = (GtkWidget*)sp_color_selector_new (SP_TYPE_COLOR_NOTEBOOK);
g_object_set_data (G_OBJECT (vb), "cselector", csel);
gtk_widget_show (csel);
gtk_container_add (GTK_CONTAINER (f), csel);
@@ -1014,8 +1013,7 @@ sp_gradient_vector_widget_load_gradient (GtkWidget *widget, SPGradient *gradient
SPColorSelector *csel = SP_COLOR_SELECTOR(g_object_get_data (G_OBJECT (widget), "cselector"));
// set alpha
csel->base->setAlpha(SP_RGBA32_A_F (c));
- SPColor color;
- sp_color_set_rgb_float (&color, SP_RGBA32_R_F (c), SP_RGBA32_G_F (c), SP_RGBA32_B_F (c));
+ SPColor color( SP_RGBA32_R_F (c), SP_RGBA32_G_F (c), SP_RGBA32_B_F (c) );
// set color
csel->base->setColor( color );
}
@@ -1158,7 +1156,7 @@ sp_gradient_vector_color_changed (SPColorSelector *csel, GtkObject *object)
csel = (SPColorSelector*)g_object_get_data (G_OBJECT (object), "cselector");
csel->base->getColorAlpha( color, &alpha );
- rgb = sp_color_get_rgba32_ualpha (&color, 0x00);
+ rgb = color.toRGBA32( 0x00 );
sp_repr_set_css_double (SP_OBJECT_REPR (stop), "offset", stop->offset);
Inkscape::CSSOStringStream os;
diff --git a/src/widgets/paint-selector.cpp b/src/widgets/paint-selector.cpp
index b16a62168..3c103afb0 100644
--- a/src/widgets/paint-selector.cpp
+++ b/src/widgets/paint-selector.cpp
@@ -213,7 +213,7 @@ sp_paint_selector_init(SPPaintSelector *psel)
gtk_box_pack_start(GTK_BOX(psel), psel->frame, TRUE, TRUE, 0);
/* Last used color */
- sp_color_set_rgb_float(&psel->color, 0.0, 0.0, 0.0);
+ psel->color.set( 0.0, 0.0, 0.0 );
psel->alpha = 1.0;
}
@@ -363,6 +363,7 @@ sp_paint_selector_set_color_alpha(SPPaintSelector *psel, SPColor const *color, f
SPColorSelector *csel;
guint32 rgba;
+/*
if ( sp_color_get_colorspace_type(color) == SP_COLORSPACE_TYPE_CMYK )
{
#ifdef SP_PS_VERBOSE
@@ -371,6 +372,7 @@ sp_paint_selector_set_color_alpha(SPPaintSelector *psel, SPColor const *color, f
sp_paint_selector_set_mode(psel, SP_PAINT_SELECTOR_MODE_COLOR_CMYK);
}
else
+*/
{
#ifdef SP_PS_VERBOSE
g_print("PaintSelector set RGBA\n");
@@ -379,7 +381,7 @@ sp_paint_selector_set_color_alpha(SPPaintSelector *psel, SPColor const *color, f
}
csel = (SPColorSelector*)gtk_object_get_data(GTK_OBJECT(psel->selector), "color-selector");
- rgba = sp_color_get_rgba32_falpha( &*color, alpha );
+ rgba = color->toRGBA32( alpha );
csel->base->setColorAlpha( *color, alpha );
}
@@ -597,7 +599,7 @@ sp_paint_selector_set_mode_color(SPPaintSelector *psel, SPPaintSelectorMode mode
gtk_widget_show(vb);
/* Color selector */
- csel = sp_color_selector_new(SP_TYPE_COLOR_NOTEBOOK, SP_COLORSPACE_TYPE_NONE);
+ csel = sp_color_selector_new( SP_TYPE_COLOR_NOTEBOOK );
gtk_widget_show(csel);
gtk_object_set_data(GTK_OBJECT(vb), "color-selector", csel);
gtk_box_pack_start(GTK_BOX(vb), csel, TRUE, TRUE, 0);
@@ -902,7 +904,7 @@ sp_paint_selector_set_flat_color(SPPaintSelector *psel, SPDesktop *desktop, gcha
SPColor color;
gfloat alpha;
sp_paint_selector_get_color_alpha(psel, &color, &alpha);
- guint32 rgba = sp_color_get_rgba32_falpha(&color, alpha);
+ guint32 rgba = color.toRGBA32( alpha );
gchar b[64];
sp_svg_write_color(b, 64, rgba);
diff --git a/src/widgets/sp-color-gtkselector.cpp b/src/widgets/sp-color-gtkselector.cpp
index 3c0ec17c6..b583903e3 100644
--- a/src/widgets/sp-color-gtkselector.cpp
+++ b/src/widgets/sp-color-gtkselector.cpp
@@ -109,7 +109,7 @@ sp_color_gtkselector_hide_all (GtkWidget *widget)
}
GtkWidget *
-sp_color_gtkselector_new (GType, SPColorSpaceType colorspace)
+sp_color_gtkselector_new( GType )
{
SPColorGtkselector *csel;
@@ -136,7 +136,7 @@ void ColorGtkselector::_colorChanged( const SPColor& color, gfloat alpha )
g_return_if_fail (SP_IS_COLOR_GTKSELECTOR (_csel));
g_return_if_fail( ( 0.0 <= alpha ) && ( alpha <= 1.0 ) );
- sp_color_copy (&_color, &color);
+ _color = color;
_alpha = alpha;
sp_color_get_rgb_floatv( &color, rgb );
@@ -154,17 +154,15 @@ void ColorGtkselector::_colorChanged( const SPColor& color, gfloat alpha )
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) );
}
diff --git a/src/widgets/sp-color-gtkselector.h b/src/widgets/sp-color-gtkselector.h
index e3b780f25..75a28ee1a 100644
--- a/src/widgets/sp-color-gtkselector.h
+++ b/src/widgets/sp-color-gtkselector.h
@@ -48,7 +48,7 @@ struct SPColorGtkselectorClass {
GType sp_color_gtkselector_get_type (void);
-GtkWidget *sp_color_gtkselector_new (GType selector_type, SPColorSpaceType colorspace);
+GtkWidget *sp_color_gtkselector_new( GType selector_type );
diff --git a/src/widgets/sp-color-notebook.cpp b/src/widgets/sp-color-notebook.cpp
index c14d89f11..60617b849 100644
--- a/src/widgets/sp-color-notebook.cpp
+++ b/src/widgets/sp-color-notebook.cpp
@@ -437,29 +437,25 @@ void ColorNotebook::_rgbaEntryChangedHook(GtkEntry *entry, SPColorNotebook *colo
void ColorNotebook::_rgbaEntryChanged(GtkEntry* entry)
{
- const gchar *t;
- gchar *e;
- SPColor color;
- guint rgba;
-
- if (_updating) return;
- if (_updatingrgba) return;
-
- t = gtk_entry_get_text (entry);
-
- if (t) {
- rgba = strtoul (t, &e, 16);
- if ( e != t ) {
- ptrdiff_t len=e-t;
- if ( len < 8 ) {
- rgba = rgba << ( 4 * ( 8 - len ) );
- }
- _updatingrgba = TRUE;
- sp_color_set_rgb_rgba32 (&color, rgba);
- setColorAlpha( color, SP_RGBA32_A_F(rgba), true);
- _updatingrgba = FALSE;
- }
- }
+ if (_updating) return;
+ if (_updatingrgba) return;
+
+ const gchar *t = gtk_entry_get_text( entry );
+
+ if (t) {
+ gchar *e = 0;
+ guint rgba = strtoul (t, &e, 16);
+ if ( e != t ) {
+ ptrdiff_t len=e-t;
+ if ( len < 8 ) {
+ rgba = rgba << ( 4 * ( 8 - len ) );
+ }
+ _updatingrgba = TRUE;
+ SPColor color( rgba );
+ setColorAlpha( color, SP_RGBA32_A_F(rgba), true );
+ _updatingrgba = FALSE;
+ }
+ }
}
void ColorNotebook::_updateRgbaEntry( const SPColor& color, gfloat alpha )
@@ -472,7 +468,7 @@ void ColorNotebook::_updateRgbaEntry( const SPColor& color, gfloat alpha )
guint32 rgba;
/* Update RGBA entry */
- rgba = sp_color_get_rgba32_falpha (&color, alpha);
+ rgba = color.toRGBA32( alpha );
g_snprintf (s, 32, "%08x", rgba);
const gchar* oldText = gtk_entry_get_text( GTK_ENTRY( _rgbae ) );
@@ -543,7 +539,7 @@ GtkWidget* ColorNotebook::addPage(GType page_type, guint submode)
{
GtkWidget *page;
- page = sp_color_selector_new ( page_type, SP_COLORSPACE_TYPE_NONE);
+ page = sp_color_selector_new( page_type );
if ( page )
{
GtkWidget* tab_label = 0;
diff --git a/src/widgets/sp-color-scales.cpp b/src/widgets/sp-color-scales.cpp
index 8acd96bbb..4a232c82c 100644
--- a/src/widgets/sp-color-scales.cpp
+++ b/src/widgets/sp-color-scales.cpp
@@ -101,9 +101,7 @@ ColorScales::ColorScales( SPColorSelector* csel )
_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;
@@ -113,9 +111,7 @@ ColorScales::ColorScales( SPColorSelector* csel )
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;
@@ -226,14 +222,19 @@ void ColorScales::_recalcColor( gboolean 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;
@@ -270,6 +271,9 @@ void ColorScales::_setRangeLimit( gdouble upper )
void ColorScales::_colorChanged( const SPColor& color, gfloat alpha )
{
+#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};
@@ -541,6 +545,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;
@@ -551,6 +556,7 @@ void ColorScales::_sliderAnyGrabbed( SPColorSlider *slider, SPColorScales *cs )
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 +567,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 );
diff --git a/src/widgets/sp-color-selector.cpp b/src/widgets/sp-color-selector.cpp
index 1532eddd7..ec80eff3e 100644
--- a/src/widgets/sp-color-selector.cpp
+++ b/src/widgets/sp-color-selector.cpp
@@ -142,7 +142,7 @@ sp_color_selector_hide_all (GtkWidget *widget)
}
GtkWidget *
-sp_color_selector_new (GType selector_type, SPColorSpaceType colorspace)
+sp_color_selector_new( GType selector_type )
{
SPColorSelector *csel;
g_return_val_if_fail (g_type_is_a (selector_type, SP_TYPE_COLOR_SELECTOR), NULL);
@@ -156,6 +156,7 @@ double ColorSelector::_epsilon = 1e-4;
void ColorSelector::setSubmode( guint submode )
{
+ (void)submode;
}
guint ColorSelector::getSubmode() const
@@ -164,26 +165,13 @@ guint ColorSelector::getSubmode() const
return mode;
}
-SPColorSpaceType ColorSelector::getColorspace() const
-{
- SPColorSpaceType type = SP_COLORSPACE_TYPE_UNKNOWN;
-
- return type;
-}
-
-gboolean ColorSelector::setColorspace( SPColorSpaceType colorspace )
-{
- return false;
-}
-
ColorSelector::ColorSelector( SPColorSelector* csel )
: _csel(csel),
+ _color( 0 ),
_alpha(1.0),
- _held(FALSE)
+ _held(FALSE),
+ virgin(true)
{
- sp_color_set_rgb_rgba32( &_color, 0 );
-
- virgin = true;
}
ColorSelector::~ColorSelector()
@@ -222,19 +210,35 @@ downstream, e.g. the RGBA value field, but not from the rest of the program)
*/
void ColorSelector::setColorAlpha( const SPColor& color, gfloat alpha, bool emit )
{
+#ifdef DUMP_CHANGE_INFO
+ g_message("ColorSelector::setColorAlpha( this=%p, %f, %f, %f, %f, %s)", this, color.v.c[0], color.v.c[1], color.v.c[2], alpha, (emit?"YES":"no"));
+#endif
g_return_if_fail( ( 0.0 <= alpha ) && ( alpha <= 1.0 ) );
- if ( virgin || !sp_color_is_close( &color, &_color, _epsilon ) ||
+#ifdef DUMP_CHANGE_INFO
+ g_message("---- ColorSelector::setColorAlpha virgin:%s !close:%s alpha is:%s",
+ (virgin?"YES":"no"),
+ (!color.isClose( _color, _epsilon )?"YES":"no"),
+ ((fabs ((_alpha) - (alpha)) >= _epsilon )?"YES":"no")
+ );
+#endif
+
+ if ( virgin || !color.isClose( _color, _epsilon ) ||
(fabs ((_alpha) - (alpha)) >= _epsilon )) {
virgin = false;
- sp_color_copy (&_color, &color);
+ _color = color;
_alpha = alpha;
_colorChanged( color, alpha );
if (emit)
gtk_signal_emit (GTK_OBJECT (_csel), csel_signals[CHANGED]);
+#ifdef DUMP_CHANGE_INFO
+ } else {
+ g_message("++++ ColorSelector::setColorAlpha color:%08x ==> _color:%08X isClose", color.toRGBA32(alpha), _color.toRGBA32(_alpha),
+ (color.isClose( _color, _epsilon )?"YES":"no"));
+#endif
}
}
@@ -265,7 +269,7 @@ void ColorSelector::_released()
void ColorSelector::_updateInternals( const SPColor& color, gfloat alpha, gboolean held )
{
g_return_if_fail( ( 0.0 <= alpha ) && ( alpha <= 1.0 ) );
- gboolean colorDifferent = ( !sp_color_is_close( &color, &_color, _epsilon )
+ gboolean colorDifferent = ( !color.isClose( _color, _epsilon )
|| ( fabs((_alpha) - (alpha)) >= _epsilon ) );
gboolean grabbed = held && !_held;
@@ -275,7 +279,7 @@ void ColorSelector::_updateInternals( const SPColor& color, gfloat alpha, gboole
_held = held;
if ( colorDifferent )
{
- sp_color_copy (&_color, &color);
+ _color = color;
_alpha = alpha;
}
@@ -284,7 +288,7 @@ void ColorSelector::_updateInternals( const SPColor& color, gfloat alpha, gboole
#ifdef DUMP_CHANGE_INFO
g_message ("%s:%d: About to signal %s to color %08x in %s", __FILE__, __LINE__,
"GRABBED",
- sp_color_get_rgba32_falpha(&color,alpha), FOO_NAME(_csel));
+ color.toRGBA32( alpha ), FOO_NAME(_csel));
#endif
gtk_signal_emit (GTK_OBJECT (_csel), csel_signals[GRABBED]);
}
@@ -293,7 +297,7 @@ void ColorSelector::_updateInternals( const SPColor& color, gfloat alpha, gboole
#ifdef DUMP_CHANGE_INFO
g_message ("%s:%d: About to signal %s to color %08x in %s", __FILE__, __LINE__,
"RELEASED",
- sp_color_get_rgba32_falpha(&color,alpha), FOO_NAME(_csel));
+ color.toRGBA32( alpha ), FOO_NAME(_csel));
#endif
gtk_signal_emit (GTK_OBJECT (_csel), csel_signals[RELEASED]);
}
@@ -303,7 +307,7 @@ void ColorSelector::_updateInternals( const SPColor& color, gfloat alpha, gboole
#ifdef DUMP_CHANGE_INFO
g_message ("%s:%d: About to signal %s to color %08x in %s", __FILE__, __LINE__,
(_held ? "CHANGED" : "DRAGGED" ),
- sp_color_get_rgba32_falpha(&color,alpha), FOO_NAME(_csel));
+ color.toRGBA32( alpha ), FOO_NAME(_csel));
#endif
gtk_signal_emit (GTK_OBJECT (_csel), csel_signals[_held ? CHANGED : DRAGGED]);
}
@@ -311,23 +315,21 @@ void ColorSelector::_updateInternals( const SPColor& color, gfloat alpha, gboole
void ColorSelector::_colorChanged( const SPColor& color, gfloat alpha )
{
+ (void)color;
+ (void)alpha;
}
void ColorSelector::getColorAlpha( SPColor& color, gfloat* alpha ) const
{
gint i = 0;
- sp_color_copy (&color, &_color);
+ color = _color;
if ( alpha )
{
*alpha = _alpha;
}
// Try to catch uninitialized value usage
- if ( color.colorspace )
- {
- i++;
- }
if ( color.v.c[0] )
{
i++;
diff --git a/src/widgets/sp-color-selector.h b/src/widgets/sp-color-selector.h
index b2fd62b1e..43090b158 100644
--- a/src/widgets/sp-color-selector.h
+++ b/src/widgets/sp-color-selector.h
@@ -31,9 +31,6 @@ public:
virtual void setSubmode( guint submode );
virtual guint getSubmode() const;
- virtual SPColorSpaceType getColorspace() const;
- virtual gboolean setColorspace( SPColorSpaceType colorspace );
-
protected:
void _grabbed();
void _released();
@@ -88,7 +85,7 @@ struct SPColorSelectorClass {
GType sp_color_selector_get_type (void);
-GtkWidget *sp_color_selector_new (GType selector_type, SPColorSpaceType colorspace);
+GtkWidget *sp_color_selector_new( GType selector_type );
diff --git a/src/widgets/sp-color-wheel-selector.cpp b/src/widgets/sp-color-wheel-selector.cpp
index 584a75dd0..854f6303d 100644
--- a/src/widgets/sp-color-wheel-selector.cpp
+++ b/src/widgets/sp-color-wheel-selector.cpp
@@ -207,12 +207,15 @@ sp_color_wheel_selector_new (void)
void ColorWheelSelector::_colorChanged( const SPColor& color, gfloat alpha )
{
+#ifdef DUMP_CHANGE_INFO
+ g_message("ColorWheelSelector::_colorChanged( this=%p, %f, %f, %f, %f)", this, color.v.c[0], color.v.c[1], color.v.c[2], alpha );
+#endif
_updating = TRUE;
sp_color_wheel_set_color( SP_COLOR_WHEEL( _wheel ), &color );
- guint32 start = sp_color_get_rgba32_ualpha( &color, 0x00 );
- guint32 mid = sp_color_get_rgba32_ualpha( &color, 0x7f );
- guint32 end = sp_color_get_rgba32_ualpha( &color, 0xff );
+ guint32 start = color.toRGBA32( 0x00 );
+ guint32 mid = color.toRGBA32( 0x7f );
+ guint32 end = color.toRGBA32( 0xff );
sp_color_slider_set_colors (SP_COLOR_SLIDER(_slider), start, mid, end);
@@ -241,6 +244,7 @@ void ColorWheelSelector::_adjustmentChanged( GtkAdjustment *adjustment, SPColorW
void ColorWheelSelector::_sliderGrabbed( SPColorSlider *slider, SPColorWheelSelector *cs )
{
+ (void)slider;
ColorWheelSelector* wheelSelector = (ColorWheelSelector*)(SP_COLOR_SELECTOR(cs)->base);
if (!wheelSelector->_dragging) {
wheelSelector->_dragging = TRUE;
@@ -251,6 +255,7 @@ void ColorWheelSelector::_sliderGrabbed( SPColorSlider *slider, SPColorWheelSele
void ColorWheelSelector::_sliderReleased( SPColorSlider *slider, SPColorWheelSelector *cs )
{
+ (void)slider;
ColorWheelSelector* wheelSelector = (ColorWheelSelector*)(SP_COLOR_SELECTOR(cs)->base);
if (wheelSelector->_dragging) {
wheelSelector->_dragging = FALSE;
@@ -261,6 +266,7 @@ void ColorWheelSelector::_sliderReleased( SPColorSlider *slider, SPColorWheelSel
void ColorWheelSelector::_sliderChanged( SPColorSlider *slider, SPColorWheelSelector *cs )
{
+ (void)slider;
ColorWheelSelector* wheelSelector = (ColorWheelSelector*)(SP_COLOR_SELECTOR(cs)->base);
wheelSelector->_updateInternals( wheelSelector->_color, ColorScales::getScaled( wheelSelector->_adj ), wheelSelector->_dragging );
@@ -273,9 +279,9 @@ void ColorWheelSelector::_wheelChanged( SPColorWheel *wheel, SPColorWheelSelecto
sp_color_wheel_get_color( wheel, &color );
- guint32 start = sp_color_get_rgba32_ualpha( &color, 0x00 );
- guint32 mid = sp_color_get_rgba32_ualpha( &color, 0x7f );
- guint32 end = sp_color_get_rgba32_ualpha( &color, 0xff );
+ guint32 start = color.toRGBA32( 0x00 );
+ guint32 mid = color.toRGBA32( 0x7f );
+ guint32 end = color.toRGBA32( 0xff );
sp_color_slider_set_colors (SP_COLOR_SLIDER(wheelSelector->_slider), start, mid, end);
diff --git a/src/widgets/sp-color-wheel.cpp b/src/widgets/sp-color-wheel.cpp
index 9038b6d38..e59cce4d3 100644
--- a/src/widgets/sp-color-wheel.cpp
+++ b/src/widgets/sp-color-wheel.cpp
@@ -25,6 +25,9 @@ enum {
LAST_SIGNAL
};
+#define noDUMP_CHANGE_INFO
+#define FOO_NAME(x) g_type_name( G_TYPE_FROM_INSTANCE(x) )
+
static void sp_color_wheel_class_init (SPColorWheelClass *klass);
static void sp_color_wheel_init (SPColorWheel *wheel);
static void sp_color_wheel_destroy (GtkObject *object);
@@ -185,11 +188,14 @@ void sp_color_wheel_get_color( SPColorWheel *wheel, SPColor* color )
rgb[i] = (rgb[i] * wheel->_sat) + (wheel->_value * (1.0 - wheel->_sat));
}
- sp_color_set_rgb_float (color, rgb[0], rgb[1], rgb[2]);
+ color->set( rgb[0], rgb[1], rgb[2] );
}
void sp_color_wheel_set_color( SPColorWheel *wheel, const SPColor* color )
{
+#ifdef DUMP_CHANGE_INFO
+ g_message("sp_color_wheel_set_color( wheel=%p, %f, %f, %f)", wheel, color->v.c[0], color->v.c[1], color->v.c[2] );
+#endif
g_return_if_fail (SP_IS_COLOR_WHEEL (wheel));
g_return_if_fail (wheel != NULL);
g_return_if_fail (color != NULL);
@@ -366,6 +372,15 @@ sp_color_wheel_button_press (GtkWidget *widget, GdkEventButton *event)
gtk_widget_grab_focus( widget );
wheel->dragging = TRUE;
+#ifdef DUMP_CHANGE_INFO
+ {
+ SPColor color;
+ sp_color_wheel_get_color( wheel, &color );
+ g_message( "%s:%d: About to signal %s to color %08x in %s", __FILE__, __LINE__,
+ "CHANGED",
+ color.toRGBA32( 0 ), FOO_NAME(wheel));
+ }
+#endif
gtk_signal_emit (GTK_OBJECT (wheel), wheel_signals[CHANGED]);
gdk_pointer_grab (widget->window, FALSE,
(GdkEventMask)(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK),
@@ -387,6 +402,15 @@ sp_color_wheel_button_release (GtkWidget *widget, GdkEventButton *event)
gdk_pointer_ungrab (event->time);
wheel->dragging = FALSE;
+#ifdef DUMP_CHANGE_INFO
+ {
+ SPColor color;
+ sp_color_wheel_get_color( wheel, &color );
+ g_message( "%s:%d: About to signal %s to color %08x in %s", __FILE__, __LINE__,
+ "CHANGED",
+ color.toRGBA32( 0 ), FOO_NAME(wheel));
+ }
+#endif
gtk_signal_emit (GTK_OBJECT (wheel), wheel_signals[CHANGED]);
}
@@ -413,6 +437,15 @@ sp_color_wheel_motion_notify (GtkWidget *widget, GdkEventMotion *event)
sp_color_wheel_process_in_triangle( wheel, event->x, event->y );
}
+#ifdef DUMP_CHANGE_INFO
+ {
+ SPColor color;
+ sp_color_wheel_get_color( wheel, &color );
+ g_message( "%s:%d: About to signal %s to color %08x in %s", __FILE__, __LINE__,
+ "CHANGED",
+ color.toRGBA32( 0 ), FOO_NAME(wheel));
+ }
+#endif
gtk_signal_emit (GTK_OBJECT (wheel), wheel_signals[CHANGED]);
}
@@ -476,6 +509,15 @@ static void sp_color_wheel_set_sv( SPColorWheel *wheel, gdouble sat, gdouble val
wheel->_spotValue = ( (0.299 * rgb[0]) + (0.587 * rgb[1]) + (0.114 * rgb[2]) );
+#ifdef DUMP_CHANGE_INFO
+ {
+ SPColor color;
+ sp_color_wheel_get_color( wheel, &color );
+ g_message( "%s:%d: About to signal %s to color %08x in %s", __FILE__, __LINE__,
+ "CHANGED",
+ color.toRGBA32( 0 ), FOO_NAME(wheel));
+ }
+#endif
gtk_signal_emit (GTK_OBJECT (wheel), wheel_signals[CHANGED]);
}
gtk_widget_queue_draw (GTK_WIDGET (wheel));