static void sp_gradient_image_gradient_release (SPGradient *gradient, SPGradientImage *image) { if (image->gradient) { sp_signal_disconnect_by_data (image->gradient, image); } image->gradient = NULL; sp_gradient_image_update (image); }
static void sp_gradient_image_gradient_release (SPObject *, SPGradientImage *image) { if (image->gradient) { image->release_connection.disconnect(); image->modified_connection.disconnect(); } image->gradient = NULL; sp_gradient_image_update (image); }
static void sp_gradient_image_realize (GtkWidget *widget) { SPGradientImage *image; image = SP_GRADIENT_IMAGE (widget); if (((GtkWidgetClass *) parent_class)->realize) (* ((GtkWidgetClass *) parent_class)->realize) (widget); g_assert (!image->px); image->px = g_new (guchar, 3 * VBLOCK * widget->allocation.width); sp_gradient_image_update (image); }
void sp_gradient_image_set_gradient (SPGradientImage *image, SPGradient *gradient) { if (image->gradient) { sp_signal_disconnect_by_data (image->gradient, image); } image->gradient = gradient; if (gradient) { g_signal_connect (G_OBJECT (gradient), "release", G_CALLBACK (sp_gradient_image_gradient_release), image); g_signal_connect (G_OBJECT (gradient), "modified", G_CALLBACK (sp_gradient_image_gradient_modified), image); } sp_gradient_image_update (image); }
static void sp_gradient_image_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { SPGradientImage *image; image = SP_GRADIENT_IMAGE (widget); widget->allocation = *allocation; if (GTK_WIDGET_REALIZED (widget)) { g_free (image->px); image->px = g_new (guchar, 3 * VBLOCK * allocation->width); } sp_gradient_image_update (image); }
void sp_gradient_image_set_gradient (SPGradientImage *image, SPGradient *gradient) { if (image->gradient) { image->release_connection.disconnect(); image->modified_connection.disconnect(); } image->gradient = gradient; if (gradient) { image->release_connection = gradient->connectRelease(sigc::bind<1>(sigc::ptr_fun(&sp_gradient_image_gradient_release), image)); image->modified_connection = gradient->connectModified(sigc::bind<2>(sigc::ptr_fun(&sp_gradient_image_gradient_modified), image)); } sp_gradient_image_update (image); }
static void sp_gradient_image_gradient_modified (SPGradient *gradient, guint flags, SPGradientImage *image) { sp_gradient_image_update (image); }
static void sp_gradient_image_gradient_modified (SPObject *, guint /*flags*/, SPGradientImage *image) { sp_gradient_image_update (image); }