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

« back to all changes in this revision

Viewing changes to plug-ins/common/plasma.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:
39
39
 * Ported to GIMP Plug-in API 1.0
40
40
 *    by Eiichi Takamori <taka@ma1.seikyou.ne.jp>
41
41
 *
42
 
 * $Id: plasma.c,v 1.73 2004/10/31 23:44:12 simon Exp $
 
42
 * $Id: plasma.c 19824 2006-05-16 12:26:20Z neo $
43
43
 *
44
44
 * A few functions names and their order are changed :)
45
45
 * Plasma implementation almost hasn't been changed.
57
57
 
58
58
#include "config.h"
59
59
 
60
 
#include <stdlib.h>
61
 
#include <stdio.h>
62
60
#include <string.h>
63
61
 
64
 
#include <gtk/gtk.h>
65
 
 
66
62
#include <libgimp/gimp.h>
67
63
#include <libgimp/gimpui.h>
68
64
 
69
65
#include "libgimp/stdplugins-intl.h"
70
66
 
 
67
 
71
68
/* Some useful macros */
72
69
 
 
70
#define PLUG_IN_PROC     "plug-in-plasma"
 
71
#define PLUG_IN_BINARY   "plasma"
73
72
#define SCALE_WIDTH      48
74
73
#define TILE_CACHE_SIZE  32
75
74
 
131
130
 
132
131
/***** Local vars *****/
133
132
 
134
 
GimpPlugInInfo PLUG_IN_INFO =
 
133
const GimpPlugInInfo PLUG_IN_INFO =
135
134
{
136
135
  NULL,  /* init_proc  */
137
136
  NULL,  /* quit_proc  */
166
165
static void
167
166
query (void)
168
167
{
169
 
  static GimpParamDef args[]=
 
168
  static const GimpParamDef args[]=
170
169
  {
171
 
    { GIMP_PDB_INT32,    "run_mode",   "Interactive, non-interactive" },
 
170
    { GIMP_PDB_INT32,    "run-mode",   "Interactive, non-interactive" },
172
171
    { GIMP_PDB_IMAGE,    "image",      "Input image (unused)"         },
173
172
    { GIMP_PDB_DRAWABLE, "drawable",   "Input drawable"               },
174
173
    { GIMP_PDB_INT32,    "seed",       "Random seed"                  },
175
174
    { GIMP_PDB_FLOAT,    "turbulence", "Turbulence of plasma"         }
176
175
  };
177
176
 
178
 
  gimp_install_procedure ("plug_in_plasma",
179
 
                          "Create a plasma cloud like image on the "
180
 
                          "specified drawable",
 
177
  gimp_install_procedure (PLUG_IN_PROC,
 
178
                          N_("Create a random plasma texture"),
181
179
                          "More help",
182
180
                          "Stephen Norris & (ported to 1.0 by) Eiichi Takamori",
183
181
                          "Stephen Norris",
188
186
                          G_N_ELEMENTS (args), 0,
189
187
                          args, NULL);
190
188
 
191
 
  gimp_plugin_menu_register ("plug_in_plasma",
192
 
                             "<Image>/Filters/Render/Clouds");
 
189
  gimp_plugin_menu_register (PLUG_IN_PROC, "<Image>/Filters/Render/Clouds");
193
190
}
194
191
 
195
192
static void
221
218
    {
222
219
    case GIMP_RUN_INTERACTIVE:
223
220
      /*  Possibly retrieve data  */
224
 
      gimp_get_data ("plug_in_plasma", &pvals);
 
221
      gimp_get_data (PLUG_IN_PROC, &pvals);
225
222
 
226
223
      /*  First acquire information with a dialog  */
227
224
      if (! plasma_dialog (drawable))
249
246
 
250
247
    case GIMP_RUN_WITH_LAST_VALS:
251
248
      /*  Possibly retrieve data  */
252
 
      gimp_get_data ("plug_in_plasma", &pvals);
 
249
      gimp_get_data (PLUG_IN_PROC, &pvals);
253
250
 
254
251
      if (pvals.random_seed)
255
252
        pvals.seed = g_random_int ();
265
262
      if (gimp_drawable_is_rgb (drawable->drawable_id) ||
266
263
          gimp_drawable_is_gray (drawable->drawable_id))
267
264
        {
268
 
          gimp_progress_init (_("Plasma..."));
 
265
          gimp_progress_init (_("Plasma"));
269
266
          gimp_tile_cache_ntiles (TILE_CACHE_SIZE);
270
267
 
271
268
          plasma (drawable, FALSE);
276
273
          /*  Store data  */
277
274
          if (run_mode == GIMP_RUN_INTERACTIVE ||
278
275
              (run_mode == GIMP_RUN_WITH_LAST_VALS))
279
 
            gimp_set_data ("plug_in_plasma", &pvals, sizeof (PlasmaValues));
 
276
            gimp_set_data (PLUG_IN_PROC, &pvals, sizeof (PlasmaValues));
280
277
        }
281
278
      else
282
279
        {
300
297
  GtkObject *adj;
301
298
  gboolean   run;
302
299
 
303
 
  gimp_ui_init ("plasma", TRUE);
 
300
  gimp_ui_init (PLUG_IN_BINARY, TRUE);
304
301
 
305
 
  dialog = gimp_dialog_new (_("Plasma"), "plasma",
 
302
  dialog = gimp_dialog_new (_("Plasma"), PLUG_IN_BINARY,
306
303
                            NULL, 0,
307
 
                            gimp_standard_help_func, "plug-in-plasma",
 
304
                            gimp_standard_help_func, PLUG_IN_PROC,
308
305
 
309
306
                            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
310
307
                            GTK_STOCK_OK,     GTK_RESPONSE_OK,
311
308
 
312
309
                            NULL);
313
310
 
 
311
  gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
 
312
                                           GTK_RESPONSE_OK,
 
313
                                           GTK_RESPONSE_CANCEL,
 
314
                                           -1);
 
315
 
 
316
  gimp_window_set_transient (GTK_WINDOW (dialog));
 
317
 
314
318
  main_vbox = gtk_vbox_new (FALSE, 12);
315
319
  gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
316
320
  gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), main_vbox);
337
341
                                 GIMP_RANDOM_SEED_SPINBUTTON (seed));
338
342
 
339
343
  g_signal_connect_swapped (GIMP_RANDOM_SEED_SPINBUTTON_ADJ (seed),
340
 
                            "value_changed",
 
344
                            "value-changed",
341
345
                            G_CALLBACK (gimp_preview_invalidate),
342
346
                            preview);
343
347
 
347
351
                              0.1, 7.0, 0.1, 1.0, 1,
348
352
                              TRUE, 0, 0,
349
353
                              NULL, NULL);
350
 
  g_signal_connect (adj, "value_changed",
 
354
  g_signal_connect (adj, "value-changed",
351
355
                    G_CALLBACK (gimp_double_adjustment_update),
352
356
                    &pvals.turbulence);
353
 
  g_signal_connect_swapped (adj, "value_changed",
 
357
  g_signal_connect_swapped (adj, "value-changed",
354
358
                            G_CALLBACK (gimp_preview_invalidate),
355
359
                            preview);
356
360
 
685
689
    {
686
690
      return TRUE;
687
691
    }
688
 
 
689
692
}
690