index a5543990838de8d2030758b5ff8ac6f29e80b836..e7596ead42e5c99c2057b43e263b24ff616a877f 100644 (file)
* Authors:
* bulia byak <bulia@dr.com>
* Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
+ * Abhishek Sharma
*
* Copyright (C) 2007 Johan Engelen
* Copyright (C) 2005 authors
#include "toolbox.h"
+using Inkscape::DocumentUndo;
//########################
//## Gradient ##
}
}
-void
-gr_apply_gradient_to_item (SPItem *item, SPGradient *gr, SPGradientType new_type, guint new_fill, bool do_fill, bool do_stroke)
+void gr_apply_gradient_to_item( SPItem *item, SPGradient *gr, SPGradientType new_type, guint new_fill, bool do_fill, bool do_stroke )
{
- SPStyle *style = SP_OBJECT_STYLE (item);
+ SPStyle *style = item->style;
if (do_fill) {
if (style && (style->fill.isPaintserver()) &&
- SP_IS_GRADIENT (SP_OBJECT_STYLE_FILL_SERVER (item))) {
- SPObject *server = SP_OBJECT_STYLE_FILL_SERVER (item);
- if (SP_IS_LINEARGRADIENT (server)) {
+ SP_IS_GRADIENT( item->style->getFillPaintServer() )) {
+ SPPaintServer *server = item->style->getFillPaintServer();
+ if ( SP_IS_LINEARGRADIENT(server) ) {
sp_item_set_gradient(item, gr, SP_GRADIENT_TYPE_LINEAR, true);
- } else if (SP_IS_RADIALGRADIENT (server)) {
+ } else if ( SP_IS_RADIALGRADIENT(server) ) {
sp_item_set_gradient(item, gr, SP_GRADIENT_TYPE_RADIAL, true);
}
} else if (new_fill) {
@@ -94,11 +95,11 @@ gr_apply_gradient_to_item (SPItem *item, SPGradient *gr, SPGradientType new_type
if (do_stroke) {
if (style && (style->stroke.isPaintserver()) &&
- SP_IS_GRADIENT (SP_OBJECT_STYLE_STROKE_SERVER (item))) {
- SPObject *server = SP_OBJECT_STYLE_STROKE_SERVER (item);
- if (SP_IS_LINEARGRADIENT (server)) {
+ SP_IS_GRADIENT( item->style->getStrokePaintServer() )) {
+ SPPaintServer *server = item->style->getStrokePaintServer();
+ if ( SP_IS_LINEARGRADIENT(server) ) {
sp_item_set_gradient(item, gr, SP_GRADIENT_TYPE_LINEAR, false);
- } else if (SP_IS_RADIALGRADIENT (server)) {
+ } else if ( SP_IS_RADIALGRADIENT(server) ) {
sp_item_set_gradient(item, gr, SP_GRADIENT_TYPE_RADIAL, false);
}
} else if (!new_fill) {
gr_apply_gradient (selection, ev? ev->get_drag() : NULL, gr);
- SPDocumentUndo::done (sp_desktop_document (desktop), SP_VERB_CONTEXT_GRADIENT,
- _("Assign gradient to object"));
+ DocumentUndo::done(sp_desktop_document (desktop), SP_VERB_CONTEXT_GRADIENT,
+ _("Assign gradient to object"));
}
gchar *
@@ -172,7 +173,7 @@ GtkWidget *gr_vector_list(SPDesktop *desktop, bool selection_empty, SPGradient *
GtkWidget *m = gtk_menu_new ();
GSList *gl = NULL;
- const GSList *gradients = document->get_resource_list ("gradient");
+ const GSList *gradients = document->getResourceList("gradient");
for (const GSList *i = gradients; i != NULL; i = i->next) {
SPGradient *grad = SP_GRADIENT(i->data);
if ( grad->hasStops() && !grad->isSolid() ) {
@@ -238,7 +239,7 @@ GtkWidget *gr_vector_list(SPDesktop *desktop, bool selection_empty, SPGradient *
GtkWidget *hb = gtk_hbox_new (FALSE, 4);
GtkWidget *l = gtk_label_new ("");
- gchar *label = gr_prepare_label (SP_OBJECT(gradient));
+ gchar *label = gr_prepare_label(gradient);
gtk_label_set_markup (GTK_LABEL(l), label);
g_free (label);
gtk_misc_set_alignment (GTK_MISC (l), 1.0, 0.5);
// If no selected dragger, read desktop selection
for (GSList const* i = selection->itemList(); i; i = i->next) {
SPItem *item = SP_ITEM(i->data);
- SPStyle *style = SP_OBJECT_STYLE (item);
+ SPStyle *style = item->style;
if (style && (style->fill.isPaintserver())) {
- SPObject *server = SP_OBJECT_STYLE_FILL_SERVER (item);
- if (SP_IS_GRADIENT(server)) {
+ SPPaintServer *server = item->style->getFillPaintServer();
+ if ( SP_IS_GRADIENT(server) ) {
SPGradient *gradient = SP_GRADIENT(server)->getVector();
SPGradientSpread spread = SP_GRADIENT(server)->fetchSpread();
}
}
if (style && (style->stroke.isPaintserver())) {
- SPObject *server = SP_OBJECT_STYLE_STROKE_SERVER (item);
- if (SP_IS_GRADIENT(server)) {
+ SPPaintServer *server = item->style->getStrokePaintServer();
+ if ( SP_IS_GRADIENT(server) ) {
SPGradient *gradient = SP_GRADIENT(server)->getVector();
SPGradientSpread spread = SP_GRADIENT(server)->fetchSpread();
if (gradient && gradient->isSolid()) {
gradient = 0;
-
}
if (gradient && (gradient != gr_selected)) {