diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2010-03-09 10:12:09 +0000 |
|---|---|---|
| committer | Jon A. Cruz <jon@joncruz.org> | 2010-03-09 10:12:09 +0000 |
| commit | be18b3457f1b5c1205cdd45eae0a8a19b9c3e7b3 (patch) | |
| tree | 30c0b9ea788d40e0011f36a06d776eef258fda22 /src/widgets | |
| parent | Fixed the Win32 uninstaller. (diff) | |
| download | inkscape-be18b3457f1b5c1205cdd45eae0a8a19b9c3e7b3.tar.gz inkscape-be18b3457f1b5c1205cdd45eae0a8a19b9c3e7b3.zip | |
Initial F&S dialog setting of swatch colors.
(bzr r9169)
Diffstat (limited to 'src/widgets')
| -rw-r--r-- | src/widgets/fill-style.cpp | 16 | ||||
| -rw-r--r-- | src/widgets/gradient-selector.cpp | 32 | ||||
| -rw-r--r-- | src/widgets/gradient-selector.h | 4 | ||||
| -rw-r--r-- | src/widgets/gradient-toolbar.cpp | 4 | ||||
| -rw-r--r-- | src/widgets/gradient-vector.cpp | 10 | ||||
| -rw-r--r-- | src/widgets/gradient-vector.h | 7 | ||||
| -rw-r--r-- | src/widgets/paint-selector.cpp | 133 | ||||
| -rw-r--r-- | src/widgets/paint-selector.h | 2 | ||||
| -rw-r--r-- | src/widgets/stroke-style.cpp | 7 |
9 files changed, 140 insertions, 75 deletions
diff --git a/src/widgets/fill-style.cpp b/src/widgets/fill-style.cpp index 0b08f36b5..87cd238a7 100644 --- a/src/widgets/fill-style.cpp +++ b/src/widgets/fill-style.cpp @@ -210,10 +210,11 @@ sp_fill_style_widget_update (SPWidget *spw) SPPaintServer *server = SP_STYLE_FILL_SERVER (query); - if (server && server->isSwatch()) { - sp_paint_selector_set_swatch( psel, server ); + if (server && SP_IS_GRADIENT(server) && SP_GRADIENT(server)->getVector()->isSwatch()) { + SPGradient *vector = SP_GRADIENT(server)->getVector(); + sp_paint_selector_set_swatch( psel, vector ); } else if (SP_IS_LINEARGRADIENT (server)) { - SPGradient *vector = sp_gradient_get_vector (SP_GRADIENT (server), FALSE); + SPGradient *vector = SP_GRADIENT(server)->getVector(); sp_paint_selector_set_gradient_linear (psel, vector); SPLinearGradient *lg = SP_LINEARGRADIENT (server); @@ -221,7 +222,7 @@ sp_fill_style_widget_update (SPWidget *spw) SP_GRADIENT_UNITS (lg), SP_GRADIENT_SPREAD (lg)); } else if (SP_IS_RADIALGRADIENT (server)) { - SPGradient *vector = sp_gradient_get_vector (SP_GRADIENT (server), FALSE); + SPGradient *vector = SP_GRADIENT(server)->getVector(); sp_paint_selector_set_gradient_radial (psel, vector); SPRadialGradient *rg = SP_RADIALGRADIENT (server); @@ -411,8 +412,9 @@ sp_fill_style_widget_paint_changed ( SPPaintSelector *psel, case SP_PAINT_SELECTOR_MODE_GRADIENT_LINEAR: case SP_PAINT_SELECTOR_MODE_GRADIENT_RADIAL: + case SP_PAINT_SELECTOR_MODE_SWATCH: if (items) { - SPGradientType const gradient_type = ( psel->mode == SP_PAINT_SELECTOR_MODE_GRADIENT_LINEAR + SPGradientType const gradient_type = ( psel->mode != SP_PAINT_SELECTOR_MODE_GRADIENT_RADIAL ? SP_GRADIENT_TYPE_LINEAR : SP_GRADIENT_TYPE_RADIAL ); @@ -518,10 +520,6 @@ sp_fill_style_widget_paint_changed ( SPPaintSelector *psel, break; - case SP_PAINT_SELECTOR_MODE_SWATCH: - // TODO - break; - case SP_PAINT_SELECTOR_MODE_UNSET: if (items) { SPCSSAttr *css = sp_repr_css_attr_new (); diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index ada9b2f09..bc2413730 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -120,7 +120,7 @@ sp_gradient_selector_class_init (SPGradientSelectorClass *klass) static void sp_gradient_selector_init (SPGradientSelector *sel) { - GtkWidget *hb, *l, *m, *mi; + GtkWidget *hb, *m, *mi; sel->mode = SPGradientSelector::MODE_LINEAR; @@ -182,9 +182,9 @@ sp_gradient_selector_init (SPGradientSelector *sel) gtk_option_menu_set_menu (GTK_OPTION_MENU (sel->spread), m); - l = gtk_label_new (_("Repeat:")); - gtk_widget_show (l); - gtk_box_pack_end (GTK_BOX (hb), l, FALSE, FALSE, 4); + sel->spreadLbl = gtk_label_new (_("Repeat:")); + gtk_widget_show(sel->spreadLbl); + gtk_box_pack_end(GTK_BOX(hb), sel->spreadLbl, FALSE, FALSE, 4); } static void @@ -210,7 +210,28 @@ sp_gradient_selector_new (void) void SPGradientSelector::setMode(SelectorMode mode) { - this->mode = mode; + if (mode != this->mode) { + this->mode = mode; + if (mode == MODE_SWATCH) { + if (spread) { + GtkWidget *parent = gtk_widget_get_parent(spread); + if (parent) { + gtk_container_remove(GTK_CONTAINER(parent), spread); + spread = 0; + } + } + if (spreadLbl) { + GtkWidget *parent = gtk_widget_get_parent(spreadLbl); + if (parent) { + gtk_container_remove(GTK_CONTAINER(parent), spreadLbl); + spreadLbl = 0; + } + } + + SPGradientVectorSelector* vs = SP_GRADIENT_VECTOR_SELECTOR(vectors); + vs->setSwatched(); + } + } } void SPGradientSelector::setUnits(SPGradientUnits units) @@ -227,7 +248,6 @@ void SPGradientSelector::setSpread(SPGradientSpread spread) SPGradientUnits SPGradientSelector::getUnits() { - //return (SPGradientUnits) sel->gradientUnits; return gradientUnits; } diff --git a/src/widgets/gradient-selector.h b/src/widgets/gradient-selector.h index 85674b4a9..25f561a6e 100644 --- a/src/widgets/gradient-selector.h +++ b/src/widgets/gradient-selector.h @@ -36,7 +36,8 @@ struct SPGradientSelector { enum SelectorMode { MODE_LINEAR, - MODE_RADIAL + MODE_RADIAL, + MODE_SWATCH }; SelectorMode mode; @@ -56,6 +57,7 @@ struct SPGradientSelector { /* Spread selector */ GtkWidget *spread; + GtkWidget *spreadLbl; void setMode(SelectorMode mode); void setUnits(SPGradientUnits units); diff --git a/src/widgets/gradient-toolbar.cpp b/src/widgets/gradient-toolbar.cpp index 784e3f20f..077e038e7 100644 --- a/src/widgets/gradient-toolbar.cpp +++ b/src/widgets/gradient-toolbar.cpp @@ -315,7 +315,7 @@ void gr_read_selection( Inkscape::Selection *selection, if (style && (style->fill.isPaintserver())) { SPObject *server = SP_OBJECT_STYLE_FILL_SERVER (item); if (SP_IS_GRADIENT(server)) { - SPGradient *gradient = sp_gradient_get_vector (SP_GRADIENT (server), false); + SPGradient *gradient = SP_GRADIENT(server)->getVector(); SPGradientSpread spread = sp_gradient_get_spread (SP_GRADIENT (server)); if (gradient && gradient->isSolid()) { @@ -341,7 +341,7 @@ void gr_read_selection( Inkscape::Selection *selection, if (style && (style->stroke.isPaintserver())) { SPObject *server = SP_OBJECT_STYLE_STROKE_SERVER (item); if (SP_IS_GRADIENT(server)) { - SPGradient *gradient = sp_gradient_get_vector (SP_GRADIENT (server), false); + SPGradient *gradient = SP_GRADIENT(server)->getVector(); SPGradientSpread spread = sp_gradient_get_spread (SP_GRADIENT (server)); if (gradient && gradient->isSolid()) { diff --git a/src/widgets/gradient-vector.cpp b/src/widgets/gradient-vector.cpp index 751898f4f..147077f44 100644 --- a/src/widgets/gradient-vector.cpp +++ b/src/widgets/gradient-vector.cpp @@ -116,6 +116,8 @@ static void sp_gradient_vector_selector_init(SPGradientVectorSelector *gvs) { gvs->idlabel = TRUE; + gvs->swatched = false; + gvs->doc = NULL; gvs->gr = NULL; @@ -250,7 +252,7 @@ static void sp_gvs_rebuild_gui_full(SPGradientVectorSelector *gvs) const GSList *gradients = sp_document_get_resource_list(SP_OBJECT_DOCUMENT(gvs->gr), "gradient"); for (const GSList *curr = gradients; curr; curr = curr->next) { SPGradient* grad = SP_GRADIENT(curr->data); - if (SP_GRADIENT_HAS_STOPS(grad) && !grad->isSwatch()) { + if (SP_GRADIENT_HAS_STOPS(grad) && (grad->isSwatch() == gvs->swatched)) { gl = g_slist_prepend(gl, curr->data); } } @@ -402,6 +404,12 @@ static void sp_gvs_defs_modified(SPObject */*defs*/, guint /*flags*/, SPGradient sp_gvs_rebuild_gui_full(gvs); } +void SPGradientVectorSelector::setSwatched() +{ + swatched = true; + sp_gvs_rebuild_gui_full(this); +} + /*################################################################## ### Vector Editing Widget ##################################################################*/ diff --git a/src/widgets/gradient-vector.h b/src/widgets/gradient-vector.h index ea1f5159f..ceca9158c 100644 --- a/src/widgets/gradient-vector.h +++ b/src/widgets/gradient-vector.h @@ -6,7 +6,9 @@ * * Author: * Lauris Kaplinski <lauris@kaplinski.com> + * Jon A. Cruz <jon@joncruz.org> * + * Copyright (C) 2010 Jon A. Cruz * Copyright (C) 2001-2002 Lauris Kaplinski * Copyright (C) 2001 Ximian, Inc. * @@ -31,6 +33,8 @@ struct SPGradientVectorSelector { guint idlabel : 1; + bool swatched; + SPDocument *doc; SPGradient *gr; @@ -40,6 +44,9 @@ struct SPGradientVectorSelector { sigc::connection gradient_release_connection; sigc::connection defs_release_connection; sigc::connection defs_modified_connection; + + + void setSwatched(); }; struct SPGradientVectorSelectorClass { diff --git a/src/widgets/paint-selector.cpp b/src/widgets/paint-selector.cpp index 59312b0d2..5898563a5 100644 --- a/src/widgets/paint-selector.cpp +++ b/src/widgets/paint-selector.cpp @@ -92,6 +92,40 @@ static void sp_paint_selector_set_style_buttons(SPPaintSelector *psel, GtkWidget static GtkVBoxClass *parent_class; static guint psel_signals[LAST_SIGNAL] = {0}; +#ifdef SP_PS_VERBOSE +static gchar const* modeStrings[] = { + "MODE_EMPTY", + "MODE_MULTIPLE", + "MODE_NONE", + "MODE_COLOR_RGB", + "MODE_COLOR_CMYK", + "MODE_GRADIENT_LINEAR", + "MODE_GRADIENT_RADIAL", + "MODE_PATTERN", + "MODE_SWATCH", + "MODE_UNSET", + ".", + ".", + ".", +}; +#endif + +static bool isPaintModeGradient( SPPaintSelectorMode mode ) +{ + bool isGrad = (mode == SP_PAINT_SELECTOR_MODE_GRADIENT_LINEAR) || + (mode == SP_PAINT_SELECTOR_MODE_GRADIENT_RADIAL) || + (mode == SP_PAINT_SELECTOR_MODE_SWATCH); + + return isGrad; +} + +static SPGradientSelector *getGradientFromData(SPPaintSelector *psel) +{ + gchar const* key = (psel->mode == SP_PAINT_SELECTOR_MODE_SWATCH) ? "swatch-selector" : "gradient-selector"; + SPGradientSelector *grad = reinterpret_cast<SPGradientSelector*>(gtk_object_get_data(GTK_OBJECT(psel->selector), key)); + return grad; +} + GType sp_paint_selector_get_type(void) { static GtkType type = 0; @@ -330,7 +364,7 @@ sp_paint_selector_set_mode(SPPaintSelector *psel, SPPaintSelectorMode mode) if (psel->mode != mode) { psel->update = TRUE; #ifdef SP_PS_VERBOSE - g_print("Mode change %d -> %d\n", psel->mode, mode); + g_print("Mode change %d -> %d %s -> %s\n", psel->mode, mode, modeStrings[psel->mode], modeStrings[mode]); #endif switch (mode) { case SP_PAINT_SELECTOR_MODE_EMPTY: @@ -407,24 +441,27 @@ sp_paint_selector_set_color_alpha(SPPaintSelector *psel, SPColor const *color, f csel->base->setColorAlpha( *color, alpha ); } -void sp_paint_selector_set_swatch(SPPaintSelector *psel, SPPaintServer */*server*/ ) +void sp_paint_selector_set_swatch(SPPaintSelector *psel, SPGradient *vector ) { #ifdef SP_PS_VERBOSE g_print("PaintSelector set SWATCH\n"); #endif sp_paint_selector_set_mode(psel, SP_PAINT_SELECTOR_MODE_SWATCH); + + SPGradientSelector *gsel = static_cast<SPGradientSelector*>(gtk_object_get_data(GTK_OBJECT(psel->selector), "swatch-selector")); + + gsel->setVector((vector) ? SP_OBJECT_DOCUMENT(vector) : 0, vector); } void sp_paint_selector_set_gradient_linear(SPPaintSelector *psel, SPGradient *vector) { - SPGradientSelector *gsel; #ifdef SP_PS_VERBOSE g_print("PaintSelector set GRADIENT LINEAR\n"); #endif sp_paint_selector_set_mode(psel, SP_PAINT_SELECTOR_MODE_GRADIENT_LINEAR); - gsel = (SPGradientSelector*)gtk_object_get_data(GTK_OBJECT(psel->selector), "gradient-selector"); + SPGradientSelector *gsel = getGradientFromData(psel); gsel->setMode(SPGradientSelector::MODE_LINEAR); gsel->setVector((vector) ? SP_OBJECT_DOCUMENT(vector) : 0, vector); @@ -433,39 +470,34 @@ sp_paint_selector_set_gradient_linear(SPPaintSelector *psel, SPGradient *vector) void sp_paint_selector_set_gradient_radial(SPPaintSelector *psel, SPGradient *vector) { - SPGradientSelector *gsel; #ifdef SP_PS_VERBOSE g_print("PaintSelector set GRADIENT RADIAL\n"); #endif sp_paint_selector_set_mode(psel, SP_PAINT_SELECTOR_MODE_GRADIENT_RADIAL); - gsel = (SPGradientSelector*)gtk_object_get_data(GTK_OBJECT(psel->selector), "gradient-selector"); + SPGradientSelector *gsel = getGradientFromData(psel); gsel->setMode(SPGradientSelector::MODE_RADIAL); gsel->setVector((vector) ? SP_OBJECT_DOCUMENT(vector) : 0, vector); } -void -sp_paint_selector_set_gradient_properties(SPPaintSelector *psel, SPGradientUnits units, SPGradientSpread spread) +void sp_paint_selector_set_gradient_properties(SPPaintSelector *psel, SPGradientUnits units, SPGradientSpread spread) { - SPGradientSelector *gsel; g_return_if_fail(SP_IS_PAINT_SELECTOR(psel)); - g_return_if_fail((psel->mode == SP_PAINT_SELECTOR_MODE_GRADIENT_LINEAR) || - (psel->mode == SP_PAINT_SELECTOR_MODE_GRADIENT_RADIAL)); - gsel = (SPGradientSelector*)gtk_object_get_data(GTK_OBJECT(psel->selector), "gradient-selector"); + g_return_if_fail(isPaintModeGradient(psel->mode)); + + SPGradientSelector *gsel = getGradientFromData(psel); gsel->setUnits(units); gsel->setSpread(spread); } -void -sp_paint_selector_get_gradient_properties(SPPaintSelector *psel, SPGradientUnits *units, SPGradientSpread *spread) +void sp_paint_selector_get_gradient_properties(SPPaintSelector *psel, SPGradientUnits *units, SPGradientSpread *spread) { - SPGradientSelector *gsel; g_return_if_fail(SP_IS_PAINT_SELECTOR(psel)); - g_return_if_fail((psel->mode == SP_PAINT_SELECTOR_MODE_GRADIENT_LINEAR) || - (psel->mode == SP_PAINT_SELECTOR_MODE_GRADIENT_RADIAL)); - gsel = (SPGradientSelector*)gtk_object_get_data(GTK_OBJECT(psel->selector), "gradient-selector"); + g_return_if_fail(isPaintModeGradient(psel->mode)); + + SPGradientSelector *gsel = getGradientFromData(psel); if (units) { *units = gsel->getUnits(); } @@ -491,24 +523,23 @@ sp_paint_selector_get_color_alpha(SPPaintSelector *psel, SPColor *color, gfloat && ( *alpha <= 1.0 ) ) ); } -SPGradient * -sp_paint_selector_get_gradient_vector(SPPaintSelector *psel) +SPGradient *sp_paint_selector_get_gradient_vector(SPPaintSelector *psel) { - SPGradientSelector *gsel; - - g_return_val_if_fail((psel->mode == SP_PAINT_SELECTOR_MODE_GRADIENT_LINEAR) || - (psel->mode == SP_PAINT_SELECTOR_MODE_GRADIENT_RADIAL), NULL); + SPGradient* vect = 0; - gsel = (SPGradientSelector*)gtk_object_get_data(GTK_OBJECT(psel->selector), "gradient-selector"); + if (isPaintModeGradient(psel->mode)) { + SPGradientSelector *gsel = getGradientFromData(psel); + vect = gsel->getVector(); + } - return gsel->getVector(); + return vect; } void sp_gradient_selector_attrs_to_gradient(SPGradient *gr, SPPaintSelector *psel) { - SPGradientUnits units; - SPGradientSpread spread; + SPGradientUnits units = SP_GRADIENT_UNITS_OBJECTBOUNDINGBOX; + SPGradientSpread spread = SP_GRADIENT_SPREAD_PAD; sp_paint_selector_get_gradient_properties(psel, &units, &spread); sp_gradient_set_units(gr, units); sp_gradient_set_spread(gr, spread); @@ -1066,38 +1097,30 @@ sp_paint_selector_get_pattern(SPPaintSelector *psel) static void sp_paint_selector_set_mode_swatch(SPPaintSelector *psel, SPPaintSelectorMode mode) { if (mode == SP_PAINT_SELECTOR_MODE_SWATCH) { - sp_paint_selector_set_style_buttons(psel, psel->swatch); // TODO swatch + sp_paint_selector_set_style_buttons(psel, psel->swatch); } gtk_widget_set_sensitive(psel->style, TRUE); - GtkWidget *tbl = NULL; + GtkWidget *tbl = 0; if (psel->mode == SP_PAINT_SELECTOR_MODE_SWATCH){ /* Already have pattern menu */ - tbl = (GtkWidget*)gtk_object_get_data(GTK_OBJECT(psel->selector), "swatch-selector"); + tbl = static_cast<GtkWidget*>(gtk_object_get_data(GTK_OBJECT(psel->selector), "swatch-selector")); } else { sp_paint_selector_clear_frame(psel); - - /* Create vbox */ - tbl = gtk_vbox_new(FALSE, 4); - gtk_widget_show(tbl); - - { - GtkWidget *hb = gtk_hbox_new(FALSE, 0); - GtkWidget *l = gtk_label_new(NULL); - gtk_label_set_markup(GTK_LABEL(l), _("Represents a swatch fill.")); - gtk_label_set_line_wrap(GTK_LABEL(l), true); - gtk_widget_set_size_request(l, 180, -1); - gtk_box_pack_start(GTK_BOX(hb), l, TRUE, TRUE, AUX_BETWEEN_BUTTON_GROUPS); - gtk_box_pack_start(GTK_BOX(tbl), hb, FALSE, FALSE, AUX_BETWEEN_BUTTON_GROUPS); - } - - gtk_widget_show_all(tbl); - - gtk_container_add(GTK_CONTAINER(psel->frame), tbl); - psel->selector = tbl; - gtk_object_set_data(GTK_OBJECT(psel->selector), "swatch-selector", tbl); + /* Create new gradient selector */ + GtkWidget *gsel = sp_gradient_selector_new(); + SP_GRADIENT_SELECTOR(gsel)->setMode(SPGradientSelector::MODE_SWATCH); + gtk_widget_show(gsel); + gtk_signal_connect(GTK_OBJECT(gsel), "grabbed", GTK_SIGNAL_FUNC(sp_paint_selector_gradient_grabbed), psel); + gtk_signal_connect(GTK_OBJECT(gsel), "dragged", GTK_SIGNAL_FUNC(sp_paint_selector_gradient_dragged), psel); + gtk_signal_connect(GTK_OBJECT(gsel), "released", GTK_SIGNAL_FUNC(sp_paint_selector_gradient_released), psel); + gtk_signal_connect(GTK_OBJECT(gsel), "changed", GTK_SIGNAL_FUNC(sp_paint_selector_gradient_changed), psel); + // Pack everything to frame + gtk_container_add(GTK_CONTAINER(psel->frame), gsel); + psel->selector = gsel; + gtk_object_set_data(GTK_OBJECT(psel->selector), "swatch-selector", gsel); gtk_frame_set_label(GTK_FRAME(psel->frame), _("Swatch fill")); } @@ -1145,7 +1168,13 @@ SPPaintSelectorMode sp_style_determine_paint_selector_mode(SPStyle *style, bool } else if ( target.isPaintserver() ) { SPPaintServer *server = isfill? SP_STYLE_FILL_SERVER(style) : SP_STYLE_STROKE_SERVER(style); - if (server && server->isSwatch()) { + +#ifdef SP_PS_VERBOSE + g_message("==== server:%p %s grad:%s swatch:%s", server, server->getId(), (SP_IS_GRADIENT(server)?"Y":"n"), (SP_IS_GRADIENT(server) && SP_GRADIENT(server)->getVector()->isSwatch()?"Y":"n")); +#endif // SP_PS_VERBOSE + + + if (server && SP_IS_GRADIENT(server) && SP_GRADIENT(server)->getVector()->isSwatch()) { mode = SP_PAINT_SELECTOR_MODE_SWATCH; } else if (SP_IS_LINEARGRADIENT(server)) { mode = SP_PAINT_SELECTOR_MODE_GRADIENT_LINEAR; diff --git a/src/widgets/paint-selector.h b/src/widgets/paint-selector.h index 82dee4d16..2d7ac3011 100644 --- a/src/widgets/paint-selector.h +++ b/src/widgets/paint-selector.h @@ -101,7 +101,7 @@ void sp_paint_selector_set_gradient_linear (SPPaintSelector *psel, SPGradient *v void sp_paint_selector_set_gradient_radial (SPPaintSelector *psel, SPGradient *vector); -void sp_paint_selector_set_swatch(SPPaintSelector *psel, SPPaintServer *server ); +void sp_paint_selector_set_swatch(SPPaintSelector *psel, SPGradient *vector ); void sp_paint_selector_set_gradient_properties (SPPaintSelector *psel, SPGradientUnits units, SPGradientSpread spread); void sp_paint_selector_get_gradient_properties (SPPaintSelector *psel, SPGradientUnits *units, SPGradientSpread *spread); diff --git a/src/widgets/stroke-style.cpp b/src/widgets/stroke-style.cpp index 51e70807c..a981934dd 100644 --- a/src/widgets/stroke-style.cpp +++ b/src/widgets/stroke-style.cpp @@ -205,9 +205,10 @@ sp_stroke_style_paint_update (SPWidget *spw) SPPaintServer *server = SP_STYLE_STROKE_SERVER (query); if (server && server->isSwatch()) { - sp_paint_selector_set_swatch( psel, server ); + SPGradient *vector = SP_GRADIENT(server)->getVector(); + sp_paint_selector_set_swatch( psel, vector ); } else if (SP_IS_LINEARGRADIENT (server)) { - SPGradient *vector = sp_gradient_get_vector (SP_GRADIENT (server), FALSE); + SPGradient *vector = SP_GRADIENT(server)->getVector(); sp_paint_selector_set_gradient_linear (psel, vector); SPLinearGradient *lg = SP_LINEARGRADIENT (server); @@ -215,7 +216,7 @@ sp_stroke_style_paint_update (SPWidget *spw) SP_GRADIENT_UNITS (lg), SP_GRADIENT_SPREAD (lg)); } else if (SP_IS_RADIALGRADIENT (server)) { - SPGradient *vector = sp_gradient_get_vector (SP_GRADIENT (server), FALSE); + SPGradient *vector = SP_GRADIENT(server)->getVector(); sp_paint_selector_set_gradient_radial (psel, vector); SPRadialGradient *rg = SP_RADIALGRADIENT (server); |
