diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2007-09-15 16:37:27 +0000 |
|---|---|---|
| committer | joncruz <joncruz@users.sourceforge.net> | 2007-09-15 16:37:27 +0000 |
| commit | c13edab979886a7dc0a23e8bf8b5da77fb5676de (patch) | |
| tree | d0af3cb43043747680e49269441978694656e6f8 /src/widgets | |
| parent | avoid code duplication, i.e. use sp_item_snappoints in the object-snapper.cpp (diff) | |
| download | inkscape-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.cpp | 10 | ||||
| -rw-r--r-- | src/widgets/paint-selector.cpp | 10 | ||||
| -rw-r--r-- | src/widgets/sp-color-gtkselector.cpp | 14 | ||||
| -rw-r--r-- | src/widgets/sp-color-gtkselector.h | 2 | ||||
| -rw-r--r-- | src/widgets/sp-color-notebook.cpp | 46 | ||||
| -rw-r--r-- | src/widgets/sp-color-scales.cpp | 23 | ||||
| -rw-r--r-- | src/widgets/sp-color-selector.cpp | 60 | ||||
| -rw-r--r-- | src/widgets/sp-color-selector.h | 5 | ||||
| -rw-r--r-- | src/widgets/sp-color-wheel-selector.cpp | 18 | ||||
| -rw-r--r-- | src/widgets/sp-color-wheel.cpp | 44 |
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)); |
