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
* Copyright (C) 1997 Eiichi Takamori
4
4
* Copyright (C) 1996, 1997 Torsten Martinsen
93
static GimpParamDef args[] =
93
static const GimpParamDef args[] =
95
{ GIMP_PDB_INT32, "run_mode", "Interactive, non-interactive" },
96
{ GIMP_PDB_IMAGE, "image", "Input image (unused)" },
97
{ GIMP_PDB_DRAWABLE, "drawable", "Input drawable" },
98
{ GIMP_PDB_INT32, "height", "Resolution in pixels" },
99
{ GIMP_PDB_INT32, "limit", "If true, limit line width" }
95
{ GIMP_PDB_INT32, "run-mode", "Interactive, non-interactive" },
96
{ GIMP_PDB_IMAGE, "image", "Input image (unused)" },
97
{ GIMP_PDB_DRAWABLE, "drawable", "Input drawable" },
98
{ GIMP_PDB_INT32, "height", "Resolution in pixels" },
99
{ GIMP_PDB_INT32, "limit", "If true, limit line width" }
102
gimp_install_procedure ("plug_in_engrave",
103
"Engrave the contents of the specified drawable",
102
gimp_install_procedure (PLUG_IN_PROC,
103
N_("Simulate an antique engraving"),
104
104
"Creates a black-and-white 'engraved' version of an image as seen in old illustrations",
105
105
"Spencer Kimball & Peter Mattis, Eiichi Takamori, Torsten Martinsen",
106
106
"Spencer Kimball & Peter Mattis, Eiichi Takamori, Torsten Martinsen",
145
145
case GIMP_RUN_INTERACTIVE:
146
146
/* Possibly retrieve data */
147
gimp_get_data ("plug_in_engrave", &pvals);
147
gimp_get_data (PLUG_IN_PROC, &pvals);
149
149
/* First acquire information with a dialog */
150
150
if (!engrave_dialog (drawable))
171
171
case GIMP_RUN_WITH_LAST_VALS:
172
172
/* Possibly retrieve data */
173
gimp_get_data ("plug_in_engrave", &pvals);
173
gimp_get_data (PLUG_IN_PROC, &pvals);
180
180
if (status == GIMP_PDB_SUCCESS)
182
gimp_progress_init (_("Engraving..."));
182
gimp_progress_init (_("Engraving"));
184
184
engrave (drawable, NULL);
190
190
if (run_mode == GIMP_RUN_INTERACTIVE)
191
gimp_set_data ("plug_in_engrave", &pvals, sizeof (EngraveValues));
191
gimp_set_data (PLUG_IN_PROC, &pvals, sizeof (EngraveValues));
193
193
values[0].data.d_status = status;
209
gimp_ui_init ("engrave", FALSE);
209
gimp_ui_init (PLUG_IN_BINARY, FALSE);
211
dialog = gimp_dialog_new (_("Engrave"), "engrave",
211
dialog = gimp_dialog_new (_("Engrave"), PLUG_IN_BINARY,
213
gimp_standard_help_func, "plug-in-engrave",
213
gimp_standard_help_func, PLUG_IN_PROC,
215
215
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
216
216
GTK_STOCK_OK, GTK_RESPONSE_OK,
220
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
225
gimp_window_set_transient (GTK_WINDOW (dialog));
220
227
main_vbox = gtk_vbox_new (FALSE, 12);
221
228
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
222
229
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), main_vbox);
239
246
pvals.height, 2.0, 16.0, 1.0, 4.0, 0,
242
g_signal_connect (adj, "value_changed",
249
g_signal_connect (adj, "value-changed",
243
250
G_CALLBACK (gimp_int_adjustment_update),
245
g_signal_connect_swapped (adj, "value_changed",
252
g_signal_connect_swapped (adj, "value-changed",
246
253
G_CALLBACK (gimp_preview_invalidate),
360
367
inten = average[0] / 254.0 * height;
362
inten = GIMP_RGB_INTENSITY (average[0],
369
inten = GIMP_RGB_LUMINANCE (average[0],
364
371
average[2]) / 254.0 * height;
551
558
inten = average[0] / 254.0 * height;
553
inten = GIMP_RGB_INTENSITY (average[0],
560
inten = GIMP_RGB_LUMINANCE (average[0],
555
562
average[2]) / 254.0 * height;