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

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Holbach
  • Date: 2007-05-02 16:33:03 UTC
  • mto: This revision was merged to the branch mainline in revision 12.
  • Revision ID: james.westby@ubuntu.com-20070502163303-6wchheivjxgjtlna
Tags: upstream-2.3.16
ImportĀ upstreamĀ versionĀ 2.3.16

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
 * mapcolor plugin
4
4
 * Copyright (C) 1998 Peter Kirchgessner
30
30
 * V 1.03,neo, 22-May-00: Fixed divide by zero in preview code.
31
31
 */
32
32
 
33
 
#define VERSIO                                     1.03
34
 
static char dversio[] =                          "v1.03  22-May-00";
35
 
 
36
33
#include "config.h"
37
34
 
38
 
#include <stdio.h>
39
 
#include <stdlib.h>
40
35
#include <string.h>
41
 
#include <time.h>
42
 
 
43
 
#include <gtk/gtk.h>
44
36
 
45
37
#include <libgimp/gimp.h>
46
38
#include <libgimp/gimpui.h>
48
40
#include "libgimp/stdplugins-intl.h"
49
41
 
50
42
 
51
 
#define PRV_WIDTH  50
52
 
#define PRV_HEIGHT 20
 
43
static const gchar dversio[] = "v1.03  22-May-00";
 
44
 
 
45
 
 
46
#define COLOR_MAP_PROC    "plug-in-color-map"
 
47
#define COLOR_ADJUST_PROC "plug-in-color-adjust"
 
48
#define PLUG_IN_BINARY    "mapcolor"
 
49
#define PRV_WIDTH         50
 
50
#define PRV_HEIGHT        20
53
51
 
54
52
typedef struct
55
53
{
80
78
                     gint             *nreturn_vals,
81
79
                     GimpParam       **return_vals);
82
80
 
83
 
GimpPlugInInfo PLUG_IN_INFO =
 
81
const GimpPlugInInfo PLUG_IN_INFO =
84
82
{
85
83
  NULL,  /* init_proc  */
86
84
  NULL,  /* quit_proc  */
122
120
query (void)
123
121
 
124
122
{
125
 
  static GimpParamDef adjust_args[] =
 
123
  static const GimpParamDef adjust_args[] =
126
124
  {
127
 
    { GIMP_PDB_INT32,    "run_mode", "Interactive, non-interactive" },
 
125
    { GIMP_PDB_INT32,    "run-mode", "Interactive, non-interactive" },
128
126
    { GIMP_PDB_IMAGE,    "image",    "Input image (not used)" },
129
127
    { GIMP_PDB_DRAWABLE, "drawable", "Input drawable to adjust" }
130
128
  };
131
129
 
132
 
  static GimpParamDef map_args[] =
 
130
  static const GimpParamDef map_args[] =
133
131
  {
134
 
    { GIMP_PDB_INT32,    "run_mode",   "Interactive, non-interactive" },
 
132
    { GIMP_PDB_INT32,    "run-mode",   "Interactive, non-interactive" },
135
133
    { GIMP_PDB_IMAGE,    "image",      "Input image (not used)" },
136
134
    { GIMP_PDB_DRAWABLE, "drawable",   "Input drawable where colors are to map" },
137
 
    { GIMP_PDB_COLOR,    "srccolor_1", "First source color" },
138
 
    { GIMP_PDB_COLOR,    "srccolor_2", "Second source color" },
139
 
    { GIMP_PDB_COLOR,    "dstcolor_1", "First destination color" },
140
 
    { GIMP_PDB_COLOR,    "dstcolor_2", "Second destination color" },
141
 
    { GIMP_PDB_INT32,    "map_mode",   "Mapping mode (0: linear, others reserved)" }
 
135
    { GIMP_PDB_COLOR,    "srccolor-1", "First source color" },
 
136
    { GIMP_PDB_COLOR,    "srccolor-2", "Second source color" },
 
137
    { GIMP_PDB_COLOR,    "dstcolor-1", "First destination color" },
 
138
    { GIMP_PDB_COLOR,    "dstcolor-2", "Second destination color" },
 
139
    { GIMP_PDB_INT32,    "map-mode",   "Mapping mode (0: linear, others reserved)" }
142
140
  };
143
141
 
144
 
  gimp_install_procedure ("plug_in_color_adjust",
145
 
                          "Adjust color range given by foreground/background "
146
 
                          "color to black/white",
 
142
  gimp_install_procedure (COLOR_ADJUST_PROC,
 
143
                          N_("Map colors sending foreground to black, background to white"),
147
144
                          "The current foreground color is mapped to black "
148
145
                          "(black point), the current background color is "
149
146
                          "mapped to white (white point). Intermediate "
151
148
                          "Peter Kirchgessner",
152
149
                          "Peter Kirchgessner",
153
150
                          dversio,
154
 
                          N_("Adjust _FG-BG"),
 
151
                          N_("Adjust _Foreground & Background"),
155
152
                          "RGB*",
156
153
                          GIMP_PLUGIN,
157
154
                          G_N_ELEMENTS (adjust_args), 0,
158
155
                          adjust_args, NULL);
159
156
 
160
 
  gimp_plugin_menu_register ("plug_in_color_adjust",
161
 
                             "<Image>/Filters/Colors/Map");
 
157
  gimp_plugin_menu_register (COLOR_ADJUST_PROC, "<Image>/Colors/Map");
162
158
 
163
 
  gimp_install_procedure ("plug_in_color_map",
164
 
                          "Map color range specified by two colors"
165
 
                          "to color range specified by two other color.",
166
 
                          "Map color range specified by two colors"
167
 
                          "to color range specified by two other color."
 
159
  gimp_install_procedure (COLOR_MAP_PROC,
 
160
                          N_("Map color range specified by two colors "
 
161
                             "to another range"),
 
162
                          "Map color range specified by two colors"
 
163
                          "to color range specified by two other color. "
168
164
                          "Intermediate colors are interpolated.",
169
165
                          "Peter Kirchgessner",
170
166
                          "Peter Kirchgessner",
175
171
                          G_N_ELEMENTS (map_args), 0,
176
172
                          map_args, NULL);
177
173
 
178
 
  gimp_plugin_menu_register ("plug_in_color_map",
179
 
                             "<Image>/Filters/Colors/Map");
 
174
  gimp_plugin_menu_register (COLOR_MAP_PROC, "<Image>/Colors/Map");
180
175
}
181
176
 
182
177
 
221
216
          break;
222
217
        }
223
218
 
224
 
      if (strcmp (name, "plug_in_color_adjust") == 0)
 
219
      if (strcmp (name, COLOR_ADJUST_PROC) == 0)
225
220
        {
226
221
          if (nparams != 3)  /* Make sure all the arguments are there */
227
222
            {
237
232
 
238
233
          plvals.map_mode = 0;
239
234
 
240
 
          gimp_progress_init (_("Adjusting Foreground/Background..."));
 
235
          gimp_progress_init (_("Adjusting foreground and background colors"));
241
236
 
242
237
          color_mapping (drawable);
243
238
          break;
244
239
        }
245
240
 
246
 
      if (strcmp (name, "plug_in_color_map") == 0)
 
241
      if (strcmp (name, COLOR_MAP_PROC) == 0)
247
242
        {
248
243
          if (run_mode == GIMP_RUN_NONINTERACTIVE)
249
244
            {
279
274
              break;
280
275
            }
281
276
 
282
 
          gimp_progress_init (_("Mapping colors..."));
 
277
          gimp_progress_init (_("Mapping colors"));
283
278
 
284
279
          color_mapping (drawable);
285
280
 
318
313
               plvals.map_mode,
319
314
               redmap, greenmap, bluemap);
320
315
 
321
 
  gimp_preview_get_size (preview, &width, &height);
322
 
  bpp = gimp_drawable_bpp (drawable->drawable_id);
323
 
  src = gimp_drawable_get_thumbnail_data (drawable->drawable_id,
324
 
                                          &width, &height, &bpp);
 
316
  src = gimp_zoom_preview_get_source (GIMP_ZOOM_PREVIEW (preview),
 
317
                                      &width, &height, &bpp);
325
318
  has_alpha = gimp_drawable_has_alpha (drawable->drawable_id);
326
319
 
327
320
  j = width * height;
354
347
  gint       j;
355
348
  gboolean   run;
356
349
 
357
 
  gimp_ui_init ("mapcolor", TRUE);
 
350
  gimp_ui_init (PLUG_IN_BINARY, TRUE);
358
351
 
359
 
  dialog = gimp_dialog_new (_("Map Color Range"), "mapcolor",
 
352
  dialog = gimp_dialog_new (_("Map Color Range"), PLUG_IN_BINARY,
360
353
                            NULL, 0,
361
 
                            gimp_standard_help_func, "plug-in-color-map",
 
354
                            gimp_standard_help_func, COLOR_MAP_PROC,
362
355
 
363
356
                            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
364
357
                            GTK_STOCK_OK,     GTK_RESPONSE_OK,
365
358
 
366
359
                            NULL);
367
360
 
 
361
  gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
 
362
                                           GTK_RESPONSE_OK,
 
363
                                           GTK_RESPONSE_CANCEL,
 
364
                                           -1);
 
365
 
 
366
  gimp_window_set_transient (GTK_WINDOW (dialog));
 
367
 
368
368
  main_vbox = gtk_vbox_new (FALSE, 12);
369
369
  gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
370
370
  gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), main_vbox);
371
371
  gtk_widget_show (main_vbox);
372
372
 
373
 
  preview = gimp_aspect_preview_new (drawable, NULL);
 
373
  preview = gimp_zoom_preview_new (drawable);
374
374
  gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
375
375
  gtk_widget_show (preview);
376
376
  g_signal_connect_swapped (preview, "invalidated",
380
380
  for (j = 0; j < 2; j++)
381
381
    {
382
382
      frame = gimp_frame_new ((j == 0) ?
383
 
                              _("Source color range") :
384
 
                              _("Destination color range"));
 
383
                              _("Source Color Range") :
 
384
                              _("Destination Color Range"));
385
385
      gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
386
386
      gtk_widget_show (frame);
387
387
 
425
425
                             0.0, 0.5,
426
426
                             button, 1, TRUE);
427
427
 
428
 
  g_signal_connect (button, "color_changed",
 
428
  g_signal_connect (button, "color-changed",
429
429
                    G_CALLBACK (gimp_color_button_get_color),
430
430
                    &plvals.colors[csel_index]);
431
 
  g_signal_connect_swapped (button, "color_changed",
 
431
  g_signal_connect_swapped (button, "color-changed",
432
432
                            G_CALLBACK (gimp_preview_invalidate),
433
433
                            preview);
434
434
}