From 3155d682a5eaa8c0ccece1efdf9d26fd1ad6561d Mon Sep 17 00:00:00 2001 From: Sven Neumann Date: Wed, 1 Sep 2004 14:01:10 +0000 Subject: [PATCH] libgimp/gimpdrawablepreview.[ch] always show the "Preview" check button. 2004-09-01 Sven Neumann * libgimp/gimpdrawablepreview.[ch] * libgimpwidgets/gimppreview.[ch]: always show the "Preview" check button. Simplified the preview APIs, moved the "size" style property to the GimpPreview class. * etc/gtkrc: changed the example accordingly. * plug-ins/common/despeckle.c * plug-ins/common/gauss.c * plug-ins/common/neon.c * plug-ins/common/sobel.c * plug-ins/common/softglow.c * plug-ins/common/spread.c * plug-ins/common/unsharp.c: follow change in GimpDrawablePreview API. --- ChangeLog | 17 +++ devel-docs/ChangeLog | 11 ++ devel-docs/libgimp/libgimp-docs.sgml | 1 + devel-docs/libgimp/libgimp-sections.txt | 17 ++- devel-docs/libgimp/libgimp.types | 1 + .../libgimp/tmpl/gimpdrawablepreview.sgml | 9 -- devel-docs/libgimp/tmpl/gimpprogressbar.sgml | 30 +++++ .../libgimpwidgets-sections.txt | 3 +- .../libgimpwidgets/tmpl/gimppreview.sgml | 37 +++--- etc/gtkrc | 6 +- libgimp/gimpdrawablepreview.c | 63 ++++------ libgimp/gimpdrawablepreview.h | 11 +- libgimpwidgets/gimppreview.c | 118 +++++++++--------- libgimpwidgets/gimppreview.h | 46 +++---- plug-ins/common/despeckle.c | 6 +- plug-ins/common/gauss.c | 2 +- plug-ins/common/neon.c | 4 +- plug-ins/common/sobel.c | 2 +- plug-ins/common/softglow.c | 9 +- plug-ins/common/spread.c | 27 ++-- plug-ins/common/unsharp.c | 29 +++-- 21 files changed, 261 insertions(+), 188 deletions(-) create mode 100644 devel-docs/libgimp/tmpl/gimpprogressbar.sgml diff --git a/ChangeLog b/ChangeLog index 9716e2e16b..aa37b3c191 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2004-09-01 Sven Neumann + + * libgimp/gimpdrawablepreview.[ch] + * libgimpwidgets/gimppreview.[ch]: always show the "Preview" check + button. Simplified the preview APIs, moved the "size" style + property to the GimpPreview class. + + * etc/gtkrc: changed the example accordingly. + + * plug-ins/common/despeckle.c + * plug-ins/common/gauss.c + * plug-ins/common/neon.c + * plug-ins/common/sobel.c + * plug-ins/common/softglow.c + * plug-ins/common/spread.c + * plug-ins/common/unsharp.c: follow change in GimpDrawablePreview API. + 2004-09-01 Michael Natterer * plug-ins/script-fu/script-fu-types.h (struct SFOptions): changed diff --git a/devel-docs/ChangeLog b/devel-docs/ChangeLog index 962ad329bb..310ee57ab9 100644 --- a/devel-docs/ChangeLog +++ b/devel-docs/ChangeLog @@ -1,3 +1,14 @@ +2004-09-01 Sven Neumann + + * libgimp/tmpl/gimpprogressbar.sgml + * libgimp/libgimp-docs.sgml + * libgimp/libgimp-sections.txt + * libgimp/libgimp.types + * libgimp/tmpl/gimpdrawablepreview.sgml + * libgimpwidgets/libgimpwidgets-sections.txt + * libgimpwidgets/tmpl/gimppreview.sgml: updated for GimpProgressBar + and GimpPreview API changes. + 2004-08-31 Sven Neumann * libgimp/Makefile.am diff --git a/devel-docs/libgimp/libgimp-docs.sgml b/devel-docs/libgimp/libgimp-docs.sgml index f0c56320d8..45b7073c16 100644 --- a/devel-docs/libgimp/libgimp-docs.sgml +++ b/devel-docs/libgimp/libgimp-docs.sgml @@ -83,6 +83,7 @@ + diff --git a/devel-docs/libgimp/libgimp-sections.txt b/devel-docs/libgimp/libgimp-sections.txt index 6b48886f21..e435cd6e18 100644 --- a/devel-docs/libgimp/libgimp-sections.txt +++ b/devel-docs/libgimp/libgimp-sections.txt @@ -687,7 +687,6 @@ gimp_drawable_get_thumbnail GimpDrawablePreview GimpDrawablePreview gimp_drawable_preview_new -gimp_drawable_preview_new_with_toggle gimp_drawable_preview_draw GimpDrawablePreviewClass @@ -714,6 +713,22 @@ GimpImageConstraintFunc gimp_image_combo_box_new +
+gimpprogressbar +GimpProgressBar +GimpProgressBar +gimp_progress_bar_new + +GimpProgressBarClass +GIMP_PROGRESS_BAR +GIMP_IS_PROGRESS_BAR +GIMP_TYPE_PROGRESS_BAR +gimp_progress_bar_get_type +GIMP_PROGRESS_BAR_CLASS +GIMP_IS_PROGRESS_BAR_CLASS +GIMP_PROGRESS_BAR_GET_CLASS +
+
gimpmenu GimpConstraintFunc diff --git a/devel-docs/libgimp/libgimp.types b/devel-docs/libgimp/libgimp.types index be1b520772..38c6aa15a3 100644 --- a/devel-docs/libgimp/libgimp.types +++ b/devel-docs/libgimp/libgimp.types @@ -3,3 +3,4 @@ #include gimp_drawable_preview_get_type +gimp_progress_bar_get_type diff --git a/devel-docs/libgimp/tmpl/gimpdrawablepreview.sgml b/devel-docs/libgimp/tmpl/gimpdrawablepreview.sgml index 7f70cbf672..aaa3acf694 100644 --- a/devel-docs/libgimp/tmpl/gimpdrawablepreview.sgml +++ b/devel-docs/libgimp/tmpl/gimpdrawablepreview.sgml @@ -25,15 +25,6 @@ GimpDrawablePreview -@drawable: -@Returns: - - - - - - - @drawable: @toggle: @Returns: diff --git a/devel-docs/libgimp/tmpl/gimpprogressbar.sgml b/devel-docs/libgimp/tmpl/gimpprogressbar.sgml new file mode 100644 index 0000000000..5d463344cd --- /dev/null +++ b/devel-docs/libgimp/tmpl/gimpprogressbar.sgml @@ -0,0 +1,30 @@ + +GimpProgressBar + + + + + + + + + + + + + + + + + + + + + + + + + +@Returns: + + diff --git a/devel-docs/libgimpwidgets/libgimpwidgets-sections.txt b/devel-docs/libgimpwidgets/libgimpwidgets-sections.txt index 3ba99be0ea..94ef4edc82 100644 --- a/devel-docs/libgimpwidgets/libgimpwidgets-sections.txt +++ b/devel-docs/libgimpwidgets/libgimpwidgets-sections.txt @@ -798,9 +798,10 @@ GIMP_PREVIEW_AREA_GET_CLASS gimppreview GimpPreview GimpPreview +gimp_preview_get_update +gimp_preview_set_update gimp_preview_get_size gimp_preview_get_position -gimp_preview_show_update_toggle gimp_preview_invalidate GimpPreviewClass diff --git a/devel-docs/libgimpwidgets/tmpl/gimppreview.sgml b/devel-docs/libgimpwidgets/tmpl/gimppreview.sgml index ad2265013c..929f67964e 100644 --- a/devel-docs/libgimpwidgets/tmpl/gimppreview.sgml +++ b/devel-docs/libgimpwidgets/tmpl/gimppreview.sgml @@ -27,16 +27,34 @@ GimpPreview @gimppreview: the object which received the signal. - - - - - + + + + + + + + + + +@preview: +@Returns: + + + + + + + +@preview: +@update: + + @@ -57,15 +75,6 @@ GimpPreview @y: - - - - - -@preview: -@show_update: - - diff --git a/etc/gtkrc b/etc/gtkrc index d0fe1f782b..4b7afc9b67 100644 --- a/etc/gtkrc +++ b/etc/gtkrc @@ -30,14 +30,14 @@ binding "gimp-help-binding" # -# Adjust the size of drawable previews in plug-in dialogs: +# Adjust the size of previews in plug-in dialogs: # style "gimp-large-preview" { - GimpDrawablePreview::size = 256 + GimpPreview::size = 256 } -# class "GimpDrawablePreview" style "gimp-large-preview" +# class "GimpPreview" style "gimp-large-preview" # diff --git a/libgimp/gimpdrawablepreview.c b/libgimp/gimpdrawablepreview.c index beba2baff4..fe392ca3a2 100644 --- a/libgimp/gimpdrawablepreview.c +++ b/libgimp/gimpdrawablepreview.c @@ -32,7 +32,6 @@ #include "gimpdrawablepreview.h" -#define DEFAULT_SIZE 150 #define SELECTION_BORDER 2 @@ -85,13 +84,6 @@ gimp_drawable_preview_class_init (GimpDrawablePreviewClass *klass) widget_class->style_set = gimp_drawable_preview_style_set; preview_class->draw = gimp_drawable_preview_draw_original; - - gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("size", - NULL, NULL, - 1, 1024, - DEFAULT_SIZE, - G_PARAM_READABLE)); } static void @@ -173,18 +165,34 @@ gimp_drawable_preview_set_drawable (GimpDrawablePreview *drawable_preview, preview->ymax = MIN (y2 + SELECTION_BORDER, height); } +static void +gimp_drawable_preview_notify_update (GimpPreview *preview, + GParamSpec *pspec, + gboolean *toggle) +{ + *toggle = gimp_preview_get_update (preview); +} + + /** * gimp_drawable_preview_new: * @drawable: a #GimpDrawable + * @toggle: pointer to a #gboolean variable to sync with the "Preview" + * check-button or %NULL * - * Creates a new #GimpDrawablePreview widget for @drawable. + * Creates a new #GimpDrawablePreview widget for @drawable. If + * updating the preview takes considerable time, you will want to + * store the state of the "Preview" check-button in the plug-in + * data. For convenience you can pass a pointer to the #gboolean as + * @toggle. * * Returns: A pointer to the new #GimpDrawablePreview widget. * * Since: GIMP 2.2 **/ GtkWidget * -gimp_drawable_preview_new (GimpDrawable *drawable) +gimp_drawable_preview_new (GimpDrawable *drawable, + gboolean *toggle) { GimpDrawablePreview *preview; @@ -192,35 +200,14 @@ gimp_drawable_preview_new (GimpDrawable *drawable) preview = g_object_new (GIMP_TYPE_DRAWABLE_PREVIEW, NULL); - gimp_drawable_preview_set_drawable (preview, drawable); + if (toggle) + { + gimp_preview_set_update (GIMP_PREVIEW (preview), *toggle); - return GTK_WIDGET (preview); -} - -/** - * gimp_drawable_preview_new_with_toggle: - * @drawable: a #GimpDrawable - * @toggle: - * - * Creates a new #GimpDrawablePreview widget for @drawable. - * - * Returns: A pointer to the new #GimpDrawablePreview widget. - * - * Since: GIMP 2.2 - **/ -GtkWidget * -gimp_drawable_preview_new_with_toggle (GimpDrawable *drawable, - gboolean *toggle) -{ - GimpDrawablePreview *preview; - - g_return_val_if_fail (drawable != NULL, NULL); - g_return_val_if_fail (toggle != NULL, NULL); - - preview = g_object_new (GIMP_TYPE_DRAWABLE_PREVIEW, - "show_update_toggle", TRUE, - "update", *toggle, - NULL); + g_signal_connect (preview, "notify::update", + G_CALLBACK (gimp_drawable_preview_notify_update), + toggle); + } gimp_drawable_preview_set_drawable (preview, drawable); diff --git a/libgimp/gimpdrawablepreview.h b/libgimp/gimpdrawablepreview.h index 7910015daa..75d7d14ea6 100644 --- a/libgimp/gimpdrawablepreview.h +++ b/libgimp/gimpdrawablepreview.h @@ -53,14 +53,13 @@ struct _GimpDrawablePreviewClass }; -GType gimp_drawable_preview_get_type (void) G_GNUC_CONST; +GType gimp_drawable_preview_get_type (void) G_GNUC_CONST; -GtkWidget * gimp_drawable_preview_new (GimpDrawable *drawable); -GtkWidget * gimp_drawable_preview_new_with_toggle (GimpDrawable *drawable, - gboolean *toggle); +GtkWidget * gimp_drawable_preview_new (GimpDrawable *drawable, + gboolean *toggle); -void gimp_drawable_preview_draw (GimpDrawablePreview *preview, - guchar *buf); +void gimp_drawable_preview_draw (GimpDrawablePreview *preview, + guchar *buf); G_END_DECLS diff --git a/libgimpwidgets/gimppreview.c b/libgimpwidgets/gimppreview.c index 831e9c63ea..00860f3bad 100644 --- a/libgimpwidgets/gimppreview.c +++ b/libgimpwidgets/gimppreview.c @@ -30,6 +30,7 @@ #include "libgimp/libgimp-intl.h" +#define DEFAULT_SIZE 150 #define PREVIEW_TIMEOUT 200 @@ -42,8 +43,7 @@ enum enum { PROP_0, - PROP_UPDATE, - PROP_SHOW_UPDATE_TOGGLE + PROP_UPDATE }; @@ -115,7 +115,8 @@ gimp_preview_get_type (void) static void gimp_preview_class_init (GimpPreviewClass *klass) { - GObjectClass *object_class = G_OBJECT_CLASS (klass); + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); parent_class = g_type_class_peek_parent (klass); @@ -140,16 +141,14 @@ gimp_preview_class_init (GimpPreviewClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); - g_object_class_install_property (object_class, - PROP_SHOW_UPDATE_TOGGLE, - g_param_spec_boolean ("show_update_toggle", - NULL, NULL, - FALSE, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT)); - - klass->draw = NULL; + + gtk_widget_class_install_style_property (widget_class, + g_param_spec_int ("size", + NULL, NULL, + 1, 1024, + DEFAULT_SIZE, + G_PARAM_READABLE)); } static void @@ -157,6 +156,7 @@ gimp_preview_init (GimpPreview *preview) { GtkTable *table = GTK_TABLE (preview); GtkWidget *frame; + GtkObject *adj; gtk_table_resize (table, 3, 2); gtk_table_set_homogeneous (table, FALSE); @@ -172,27 +172,27 @@ gimp_preview_init (GimpPreview *preview) preview->width = preview->xmax - preview->xmin; preview->height = preview->ymax - preview->ymin; - preview->hadj = gtk_adjustment_new (0, 0, preview->width - 1, 1.0, - preview->width, preview->width); + adj = gtk_adjustment_new (0, 0, preview->width - 1, 1.0, + preview->width, preview->width); - g_signal_connect (preview->hadj, "value_changed", + g_signal_connect (adj, "value_changed", G_CALLBACK (gimp_preview_h_scroll), preview); - preview->hscr = gtk_hscrollbar_new (GTK_ADJUSTMENT (preview->hadj)); + preview->hscr = gtk_hscrollbar_new (GTK_ADJUSTMENT (adj)); gtk_range_set_update_policy (GTK_RANGE (preview->hscr), GTK_UPDATE_CONTINUOUS); gtk_table_attach (table, preview->hscr, 0,1, 1,2, GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_FILL, 0, 0); - preview->vadj = gtk_adjustment_new (0, 0, preview->height - 1, 1.0, - preview->height, preview->height); + adj = gtk_adjustment_new (0, 0, preview->height - 1, 1.0, + preview->height, preview->height); - g_signal_connect (preview->vadj, "value_changed", + g_signal_connect (adj, "value_changed", G_CALLBACK (gimp_preview_v_scroll), preview); - preview->vscr = gtk_vscrollbar_new (GTK_ADJUSTMENT (preview->vadj)); + preview->vscr = gtk_vscrollbar_new (GTK_ADJUSTMENT (adj)); gtk_range_set_update_policy (GTK_RANGE (preview->vscr), GTK_UPDATE_CONTINUOUS); gtk_table_attach (table, preview->vscr, 1,2, 0,1, @@ -231,15 +231,16 @@ gimp_preview_init (GimpPreview *preview) /* a toggle button to (des)activate the instant preview */ - preview->toggle_update = gtk_check_button_new_with_mnemonic (_("_Preview")); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (preview->toggle_update), + preview->toggle = gtk_check_button_new_with_mnemonic (_("_Preview")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (preview->toggle), preview->update_preview); gtk_table_set_row_spacing (GTK_TABLE (preview), 1, 6); - gtk_table_attach (table, preview->toggle_update, + gtk_table_attach (table, preview->toggle, 0, 2, 2, 3, GTK_FILL, GTK_FILL, 0, 0); + gtk_widget_show (preview->toggle); - g_signal_connect (preview->toggle_update, "toggled", + g_signal_connect (preview->toggle, "toggled", G_CALLBACK (gimp_preview_toggle_callback), preview); } @@ -272,10 +273,6 @@ gimp_preview_get_property (GObject *object, g_value_set_boolean (value, preview->update_preview); break; - case PROP_SHOW_UPDATE_TOGGLE: - g_value_set_boolean (value, GTK_WIDGET_VISIBLE (preview->toggle_update)); - break; - default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -293,17 +290,10 @@ gimp_preview_set_property (GObject *object, switch (property_id) { case PROP_UPDATE: - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (preview->toggle_update), + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (preview->toggle), g_value_get_boolean (value)); break; - case PROP_SHOW_UPDATE_TOGGLE: - if (g_value_get_boolean (value)) - gtk_widget_show (preview->toggle_update); - else - gtk_widget_hide (preview->toggle_update); - break; - default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -467,8 +457,8 @@ gimp_preview_area_event (GtkWidget *area, if (preview->xoff != xoff || preview->yoff != yoff) { - gtk_adjustment_set_value (GTK_ADJUSTMENT (preview->hadj), xoff); - gtk_adjustment_set_value (GTK_ADJUSTMENT (preview->vadj), yoff); + gtk_range_set_value (GTK_RANGE (preview->hscr), xoff); + gtk_range_set_value (GTK_RANGE (preview->vscr), yoff); gimp_preview_draw (preview); gimp_preview_invalidate (preview); @@ -569,6 +559,40 @@ gimp_preview_invalidate_now (GimpPreview *preview) return FALSE; } +/** + * gimp_preview_set_update: + * @preview: a #GimpPreview widget + * @update: + * + * Since: GIMP 2.2 + **/ +void +gimp_preview_set_update (GimpPreview *preview, + gboolean update) +{ + g_return_if_fail (GIMP_IS_PREVIEW (preview)); + + g_object_set (preview, + "update", update, + NULL); +} + +/** + * gimp_preview_get_update: + * @preview: a #GimpPreview widget + * + * Return value: the state of the "Preview" check button. + * + * Since: GIMP 2.2 + **/ +gboolean +gimp_preview_get_update (GimpPreview *preview) +{ + g_return_val_if_fail (GIMP_IS_PREVIEW (preview), FALSE); + + return preview->update_preview; +} + /** * gimp_preview_get_size: * @preview: a #GimpPreview widget @@ -613,24 +637,6 @@ gimp_preview_get_position (GimpPreview *preview, *y = preview->yoff + preview->ymin; } -/** - * gimp_preview_show_update_toggle: - * @preview: a #GimpPreview widget - * @show_update: whether to show the "Update Preview" toggle button - * - * Since: GIMP 2.2 - **/ -void -gimp_preview_show_update_toggle (GimpPreview *preview, - gboolean show_update) -{ - g_return_if_fail (GIMP_IS_PREVIEW (preview)); - - g_object_set (preview, - "show_update_toggle", show_update, - NULL); -} - /* * gimp_preview_invalidate: * @preview: a #GimpPreview widget diff --git a/libgimpwidgets/gimppreview.h b/libgimpwidgets/gimppreview.h index eb40d6531d..0c9afeca74 100644 --- a/libgimpwidgets/gimppreview.h +++ b/libgimpwidgets/gimppreview.h @@ -44,23 +44,26 @@ struct _GimpPreview { GtkTable parent_instance; + gboolean update_preview; + + /*< protected >*/ + GtkWidget *area; + GtkWidget *hscr; + GtkWidget *vscr; + GtkWidget *toggle; + GdkCursor *cursor_move; + GdkCursor *cursor_busy; + + /*< private >*/ gint xoff, yoff; gint xmin, xmax, ymin, ymax; gint drag_x, drag_y; gint drag_xoff, drag_yoff; - gint width, height; - GtkObject *hadj, *vadj; - GtkWidget *hscr, *vscr; - gboolean in_drag; - GtkWidget *area; - GtkWidget *toggle_update; - gboolean update_preview; - guint timeout_id; - GdkCursor *cursor_move; - GdkCursor *cursor_busy; -}; + gboolean in_drag; + guint timeout_id; +}; struct _GimpPreviewClass { GtkTableClass parent_class; @@ -73,20 +76,21 @@ struct _GimpPreviewClass }; -GType gimp_preview_get_type (void) G_GNUC_CONST; +GType gimp_preview_get_type (void) G_GNUC_CONST; -void gimp_preview_get_size (GimpPreview *preview, - gint *width, - gint *height); +void gimp_preview_set_update (GimpPreview *preview, + gboolean update); +gboolean gimp_preview_get_update (GimpPreview *preview); -void gimp_preview_get_position (GimpPreview *preview, - gint *x, - gint *y); +void gimp_preview_get_size (GimpPreview *preview, + gint *width, + gint *height); +void gimp_preview_get_position (GimpPreview *preview, + gint *x, + gint *y); -void gimp_preview_show_update_toggle (GimpPreview *preview, - gboolean show_update); +void gimp_preview_invalidate (GimpPreview *preview); -void gimp_preview_invalidate (GimpPreview *preview); G_END_DECLS diff --git a/plug-ins/common/despeckle.c b/plug-ins/common/despeckle.c index ae52f1fc7f..fadc8e95b5 100644 --- a/plug-ins/common/despeckle.c +++ b/plug-ins/common/despeckle.c @@ -267,7 +267,7 @@ run (const gchar *name, INIT_I18N(); gimp_get_data (PLUG_IN_NAME, despeckle_vals); break; - + default: status = GIMP_PDB_CALLING_ERROR; break; @@ -597,8 +597,8 @@ despeckle_dialog (void) hbox = gtk_hbox_new (FALSE, 12); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); - - preview = gimp_drawable_preview_new (drawable); + + preview = gimp_drawable_preview_new (drawable, NULL); gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0); gtk_widget_show (preview); g_signal_connect (preview, "invalidated", diff --git a/plug-ins/common/gauss.c b/plug-ins/common/gauss.c index d68a58591d..6f211a97a2 100644 --- a/plug-ins/common/gauss.c +++ b/plug-ins/common/gauss.c @@ -476,7 +476,7 @@ gauss_dialog (gint32 image_ID, gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); - preview = gimp_drawable_preview_new (drawable); + preview = gimp_drawable_preview_new (drawable, NULL); gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0); gtk_widget_show (preview); diff --git a/plug-ins/common/neon.c b/plug-ins/common/neon.c index c31bf8cfda..f5291c1842 100644 --- a/plug-ins/common/neon.c +++ b/plug-ins/common/neon.c @@ -703,12 +703,12 @@ neon_dialog (GimpDrawable *drawable) gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); - preview = gimp_drawable_preview_new (drawable); + preview = gimp_drawable_preview_new (drawable, NULL); gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0); gtk_widget_show (preview); g_signal_connect (preview, "invalidated", G_CALLBACK (neon_preview_update), NULL); - + table = gtk_table_new (2, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_row_spacings (GTK_TABLE (table), 6); diff --git a/plug-ins/common/sobel.c b/plug-ins/common/sobel.c index 3e10d82516..a587c36f0b 100644 --- a/plug-ins/common/sobel.c +++ b/plug-ins/common/sobel.c @@ -245,7 +245,7 @@ sobel_dialog (GimpDrawable *drawable) gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); - preview = gimp_drawable_preview_new (drawable); + preview = gimp_drawable_preview_new (drawable, NULL); gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0); gtk_widget_show (preview); g_signal_connect (preview, "invalidated", diff --git a/plug-ins/common/softglow.c b/plug-ins/common/softglow.c index 751ed9fb7a..ff80386767 100644 --- a/plug-ins/common/softglow.c +++ b/plug-ins/common/softglow.c @@ -442,8 +442,8 @@ softglow (GimpDrawable *drawable, pr = gimp_pixel_rgns_process (pr)) { guchar *src_ptr = src_rgn.data; - guchar *dest_ptr = preview_buffer + - bytes * + guchar *dest_ptr = preview_buffer + + bytes * ((src_rgn.y - y1) * width + (src_rgn.x - x1)); guchar *blur_ptr = dest + (src_rgn.y - y1) * width + (src_rgn.x - x1); @@ -471,7 +471,8 @@ softglow (GimpDrawable *drawable, } else { - gimp_pixel_rgn_init (&dest_rgn, drawable, x1, y1, width, height, TRUE, TRUE); + gimp_pixel_rgn_init (&dest_rgn, + drawable, x1, y1, width, height, TRUE, TRUE); for (pr = gimp_pixel_rgns_register (2, &src_rgn, &dest_rgn); pr != NULL; @@ -674,7 +675,7 @@ softglow_dialog (GimpDrawable *drawable) gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); - preview = gimp_drawable_preview_new (drawable); + preview = gimp_drawable_preview_new (drawable, NULL); gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0); gtk_widget_show (preview); g_signal_connect_swapped (preview, "invalidated", diff --git a/plug-ins/common/spread.c b/plug-ins/common/spread.c index 35ea7bda38..a6193a482b 100644 --- a/plug-ins/common/spread.c +++ b/plug-ins/common/spread.c @@ -230,10 +230,10 @@ typedef struct { */ static void -spread_func (gint x, - gint y, - guchar *dest, - gint bpp, +spread_func (gint x, + gint y, + guchar *dest, + gint bpp, gpointer data) { SpreadParam_t *param = (SpreadParam_t*) data; @@ -242,11 +242,11 @@ spread_func (gint x, gint xi, yi; /* get random angle, x distance, and y distance */ - xdist = (param->x_amount > 0 - ? g_rand_int_range (param->gr, -param->x_amount, param->x_amount) + xdist = (param->x_amount > 0 + ? g_rand_int_range (param->gr, -param->x_amount, param->x_amount) : 0); - ydist = (param->y_amount > 0 - ? g_rand_int_range (param->gr, -param->y_amount, param->y_amount) + ydist = (param->y_amount > 0 + ? g_rand_int_range (param->gr, -param->y_amount, param->y_amount) : 0); angle = g_rand_double_range (param->gr, -G_PI, G_PI); @@ -284,7 +284,8 @@ spread (GimpDrawable *drawable) } static void -spread_updating_preview (GimpPreview *preview, GtkWidget *size) +spread_updating_preview (GimpPreview *preview, + GtkWidget *size) { SpreadParam_t param; gint x, y, bpp; @@ -295,9 +296,9 @@ spread_updating_preview (GimpPreview *preview, GtkWidget *size) param.pft = gimp_pixel_fetcher_new (drawable_preview->drawable, FALSE); param.gr = g_rand_new (); - param.x_amount = + param.x_amount = (gimp_size_entry_get_refval (GIMP_SIZE_ENTRY (size), 0) + 1) / 2; - param.y_amount = + param.y_amount = (gimp_size_entry_get_refval (GIMP_SIZE_ENTRY (size), 1) + 1) / 2; param.width = drawable_preview->drawable->width; param.height = drawable_preview->drawable->height; @@ -355,8 +356,8 @@ spread_dialog (gint32 image_ID, hbox = gtk_hbox_new (FALSE, 12); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); - - preview = gimp_drawable_preview_new (drawable); + + preview = gimp_drawable_preview_new (drawable, NULL); gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0); gtk_widget_show (preview); diff --git a/plug-ins/common/unsharp.c b/plug-ins/common/unsharp.c index 7d8691fbb8..cf67e9d441 100644 --- a/plug-ins/common/unsharp.c +++ b/plug-ins/common/unsharp.c @@ -118,7 +118,7 @@ GimpPlugInInfo PLUG_IN_INFO = static GimpRunMode run_mode; MAIN () - + static void query (void) { @@ -131,7 +131,7 @@ query (void) { GIMP_PDB_FLOAT, "amount", "Strength of effect" }, { GIMP_PDB_FLOAT, "threshold", "Threshold" } }; - + gimp_install_procedure ("plug_in_unsharp_mask", "An unsharp mask filter", "The unsharp mask is a sharpening filter that works " @@ -148,7 +148,7 @@ query (void) GIMP_PLUGIN, G_N_ELEMENTS (args), 0, args, NULL); - + gimp_plugin_menu_register ("plug_in_unsharp_mask", N_("/Filters/Enhance")); } @@ -166,35 +166,35 @@ run (const gchar *name, #ifdef TIMER GTimer *timer = g_timer_new (); #endif - + run_mode = param[0].data.d_int32; - + *return_vals = values; *nreturn_vals = 1; - + values[0].type = GIMP_PDB_STATUS; values[0].data.d_status = status; - + INIT_I18N (); - + /* * Get drawable information... */ drawable = gimp_drawable_get (param[2].data.d_drawable); gimp_tile_cache_ntiles(2 * (drawable->width / gimp_tile_width() + 1)); - + switch (run_mode) { case GIMP_RUN_INTERACTIVE: gimp_get_data ("plug_in_unsharp_mask", &unsharp_params); /* Reset default values show preview unmodified */ - + /* initialize pixel regions and buffer */ if (! unsharp_mask_dialog (drawable)) return; - + break; - + case GIMP_RUN_NONINTERACTIVE: if (nparams != 6) { @@ -676,9 +676,8 @@ unsharp_mask_dialog (GimpDrawable *drawable) gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); - preview = - gimp_drawable_preview_new_with_toggle (drawable, - &unsharp_params.update_preview); + preview = gimp_drawable_preview_new (drawable, + &unsharp_params.update_preview); gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0); gtk_widget_show (preview); g_signal_connect (preview, "invalidated",