~ubuntu-branches/ubuntu/jaunty/gimp/jaunty-security

« back to all changes in this revision

Viewing changes to plug-ins/common/softglow.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Holbach
  • Date: 2007-05-02 16:33:03 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070502163303-bvzhjzbpw8qglc4y
Tags: 2.3.16-1ubuntu1
* Resynchronized with Debian, remaining Ubuntu changes:
  - debian/rules: i18n magic.
* debian/control.in:
  - Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
* debian/patches/02_help-message.patch,
  debian/patches/03_gimp.desktop.in.in.patch,
  debian/patches/10_dont_show_wizard.patch: updated.
* debian/patches/04_composite-signedness.patch,
  debian/patches/05_add-letter-spacing.patch: dropped, used upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* The GIMP -- an image manipulation program
 
1
/* GIMP - The GNU Image Manipulation Program
2
2
 * Copyright (C) 1995 Spencer Kimball and Peter Mattis
3
3
 *
4
4
 * This program is free software; you can redistribute it and/or modify
36
36
 
37
37
/* Some useful macros */
38
38
 
 
39
#define PLUG_IN_PROC    "plug-in-softglow"
 
40
#define PLUG_IN_BINARY  "softglow"
39
41
#define TILE_CACHE_SIZE 48
40
 
#define SIGMOIDAL_BASE  2
 
42
#define SIGMOIDAL_BASE   2
41
43
#define SIGMOIDAL_RANGE 20
42
44
 
43
45
#define INT_MULT(a,b,t)  ((t) = (a) * (b) + 0x80, ((((t) >> 8) + (t)) >> 8))
83
85
 
84
86
/***** Local vars *****/
85
87
 
86
 
GimpPlugInInfo PLUG_IN_INFO =
 
88
const GimpPlugInInfo PLUG_IN_INFO =
87
89
{
88
90
  NULL,  /* init  */
89
91
  NULL,  /* quit  */
106
108
static void
107
109
query (void)
108
110
{
109
 
  static GimpParamDef args[] =
 
111
  static const GimpParamDef args[] =
110
112
  {
111
 
    { GIMP_PDB_INT32,    "run_mode",    "Interactive, non-interactive" },
112
 
    { GIMP_PDB_IMAGE,    "image",       "Input image (unused)" },
113
 
    { GIMP_PDB_DRAWABLE, "drawable",    "Input drawable" },
114
 
    { GIMP_PDB_FLOAT,    "glow_radius", "Glow radius (radius in pixels)" },
115
 
    { GIMP_PDB_FLOAT,    "brightness",  "Glow brightness (0.0 - 1.0)" },
116
 
    { GIMP_PDB_FLOAT,    "sharpness",   "Glow sharpness (0.0 - 1.0)" },
 
113
    { GIMP_PDB_INT32,    "run-mode",    "Interactive, non-interactive"   },
 
114
    { GIMP_PDB_IMAGE,    "image",       "Input image (unused)"           },
 
115
    { GIMP_PDB_DRAWABLE, "drawable",    "Input drawable"                 },
 
116
    { GIMP_PDB_FLOAT,    "glow-radius", "Glow radius (radius in pixels)" },
 
117
    { GIMP_PDB_FLOAT,    "brightness",  "Glow brightness (0.0 - 1.0)"    },
 
118
    { GIMP_PDB_FLOAT,    "sharpness",   "Glow sharpness (0.0 - 1.0)"     }
117
119
  };
118
120
 
119
121
  gchar *help_string =
128
130
    "to image highlights. The sharpness parameter controls how defined or "
129
131
    "alternatively, diffuse, the glow effect should be.";
130
132
 
131
 
  gimp_install_procedure ("plug_in_softglow",
132
 
                          "Photographic 'softglow' effect by intensifying "
133
 
                          "the highlights",
 
133
  gimp_install_procedure (PLUG_IN_PROC,
 
134
                          N_("Simulate glow by making highlights intense and fuzzy"),
134
135
                          help_string,
135
136
                          "Spencer Kimball",
136
137
                          "Bit Specialists, Inc.",
141
142
                          G_N_ELEMENTS (args), 0,
142
143
                          args, NULL);
143
144
 
144
 
  gimp_plugin_menu_register ("plug_in_softglow", "<Image>/Filters/Artistic");
 
145
  gimp_plugin_menu_register (PLUG_IN_PROC, "<Image>/Filters/Artistic");
145
146
}
146
147
 
147
148
static void
176
177
    {
177
178
    case GIMP_RUN_INTERACTIVE:
178
179
      /*  Possibly retrieve data  */
179
 
      gimp_get_data ("plug_in_softglow", &svals);
 
180
      gimp_get_data (PLUG_IN_PROC, &svals);
180
181
 
181
182
      /*  First acquire information with a dialog  */
182
183
      if (! softglow_dialog (drawable))
191
192
 
192
193
    case GIMP_RUN_WITH_LAST_VALS:
193
194
      /*  Possibly retrieve data  */
194
 
      gimp_get_data ("plug_in_softglow", &svals);
 
195
      gimp_get_data (PLUG_IN_PROC, &svals);
195
196
      break;
196
197
 
197
198
    default:
204
205
      if (gimp_drawable_is_rgb (drawable->drawable_id) ||
205
206
          gimp_drawable_is_gray (drawable->drawable_id))
206
207
        {
207
 
          gimp_progress_init ("Softglow...");
 
208
          gimp_progress_init ("Softglow");
208
209
 
209
210
          softglow (drawable, NULL);
210
211
 
213
214
 
214
215
          /*  Store data  */
215
216
          if (run_mode == GIMP_RUN_INTERACTIVE)
216
 
            gimp_set_data ("plug_in_softglow", &svals, sizeof (SoftglowVals));
 
217
            gimp_set_data (PLUG_IN_PROC, &svals, sizeof (SoftglowVals));
217
218
        }
218
219
      else
219
220
        {
624
625
  GtkObject *scale_data;
625
626
  gboolean   run;
626
627
 
627
 
  gimp_ui_init ("softglow", FALSE);
 
628
  gimp_ui_init (PLUG_IN_BINARY, FALSE);
628
629
 
629
 
  dialog = gimp_dialog_new (_("Softglow"), "softglow",
 
630
  dialog = gimp_dialog_new (_("Softglow"), PLUG_IN_BINARY,
630
631
                            NULL, 0,
631
 
                            gimp_standard_help_func, "plug-in-softglow",
 
632
                            gimp_standard_help_func, PLUG_IN_PROC,
632
633
 
633
634
                            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
634
635
                            GTK_STOCK_OK,     GTK_RESPONSE_OK,
635
636
 
636
637
                            NULL);
637
638
 
 
639
  gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
 
640
                                           GTK_RESPONSE_OK,
 
641
                                           GTK_RESPONSE_CANCEL,
 
642
                                           -1);
 
643
 
 
644
  gimp_window_set_transient (GTK_WINDOW (dialog));
 
645
 
638
646
  main_vbox = gtk_vbox_new (FALSE, 12);
639
647
  gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
640
648
  gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), main_vbox);
661
669
                                     TRUE, 0, 0,
662
670
                                     NULL, NULL);
663
671
 
664
 
  g_signal_connect (scale_data, "value_changed",
 
672
  g_signal_connect (scale_data, "value-changed",
665
673
                    G_CALLBACK (gimp_double_adjustment_update),
666
674
                    &svals.glow_radius);
667
 
  g_signal_connect_swapped (scale_data, "value_changed",
 
675
  g_signal_connect_swapped (scale_data, "value-changed",
668
676
                            G_CALLBACK (gimp_preview_invalidate),
669
677
                            preview);
670
678
 
675
683
                                     TRUE, 0, 0,
676
684
                                     NULL, NULL);
677
685
 
678
 
  g_signal_connect (scale_data, "value_changed",
 
686
  g_signal_connect (scale_data, "value-changed",
679
687
                    G_CALLBACK (gimp_double_adjustment_update),
680
688
                    &svals.brightness);
681
 
  g_signal_connect_swapped (scale_data, "value_changed",
 
689
  g_signal_connect_swapped (scale_data, "value-changed",
682
690
                            G_CALLBACK (gimp_preview_invalidate),
683
691
                            preview);
684
692
 
689
697
                                     TRUE, 0, 0,
690
698
                                     NULL, NULL);
691
699
 
692
 
  g_signal_connect (scale_data, "value_changed",
 
700
  g_signal_connect (scale_data, "value-changed",
693
701
                    G_CALLBACK (gimp_double_adjustment_update),
694
702
                    &svals.sharpness);
695
 
  g_signal_connect_swapped (scale_data, "value_changed",
 
703
  g_signal_connect_swapped (scale_data, "value-changed",
696
704
                            G_CALLBACK (gimp_preview_invalidate),
697
705
                            preview);
698
706