105
static GimpParamDef args[] =
104
static const GimpParamDef args[] =
107
{ GIMP_PDB_INT32, "run_mode", "Interactive, non-interactive" },
108
{ GIMP_PDB_IMAGE, "image", "Input image (unused)" },
109
{ GIMP_PDB_DRAWABLE, "drawable", "Input drawable" },
110
{ GIMP_PDB_INT32, "angle_dsp", "Angle of Displacement " },
111
{ GIMP_PDB_INT32, "number_of_segments", "Number of segments in blinds" },
112
{ GIMP_PDB_INT32, "orientation", "orientation; 0 = Horizontal, 1 = Vertical" },
113
{ GIMP_PDB_INT32, "backgndg_trans", "background transparent; FALSE,TRUE" }
106
{ GIMP_PDB_INT32, "run-mode", "Interactive, non-interactive" },
107
{ GIMP_PDB_IMAGE, "image", "Input image (unused)" },
108
{ GIMP_PDB_DRAWABLE, "drawable", "Input drawable" },
109
{ GIMP_PDB_INT32, "angle-dsp", "Angle of Displacement " },
110
{ GIMP_PDB_INT32, "num-segments", "Number of segments in blinds" },
111
{ GIMP_PDB_INT32, "orientation", "orientation; 0 = Horizontal, 1 = Vertical" },
112
{ GIMP_PDB_INT32, "bg-transparent", "background transparent; FALSE,TRUE" }
116
gimp_install_procedure ("plug_in_blinds",
117
"Adds a blinds effect to the image. Rather like "
118
"putting the image on a set of window blinds and "
119
"the closing or opening the blinds",
115
gimp_install_procedure (PLUG_IN_PROC,
116
N_("Simulate an image painted on window blinds"),
120
117
"More here later",
157
154
switch (run_mode)
159
156
case GIMP_RUN_INTERACTIVE:
160
gimp_get_data ("plug_in_blinds", &bvals);
157
gimp_get_data (PLUG_IN_PROC, &bvals);
161
158
if (! blinds_dialog(drawable))
163
160
gimp_drawable_detach (drawable);
224
221
GtkWidget *vertical;
227
gimp_ui_init ("blinds", TRUE);
224
gimp_ui_init (PLUG_IN_BINARY, TRUE);
229
dialog = gimp_dialog_new (_("Blinds"), "blinds",
226
dialog = gimp_dialog_new (_("Blinds"), PLUG_IN_BINARY,
231
gimp_standard_help_func, "plug-in-blinds",
228
gimp_standard_help_func, PLUG_IN_PROC,
233
230
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
234
231
GTK_STOCK_OK, GTK_RESPONSE_OK,
235
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
240
gimp_window_set_transient (GTK_WINDOW (dialog));
238
242
main_vbox = gtk_vbox_new (FALSE, 12);
239
243
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
240
244
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), main_vbox);
241
245
gtk_widget_show (main_vbox);
243
preview = gimp_aspect_preview_new (drawable, &bvals.preview);
247
preview = gimp_aspect_preview_new (drawable, NULL);
244
248
gtk_box_pack_start_defaults (GTK_BOX (main_vbox), preview);
245
249
gtk_widget_show (preview);
246
250
g_signal_connect_swapped (preview, "invalidated",
304
308
bvals.angledsp, 1, 90, 1, 15, 0,
307
g_signal_connect (size_data, "value_changed",
311
g_signal_connect (size_data, "value-changed",
308
312
G_CALLBACK (gimp_int_adjustment_update),
309
313
&bvals.angledsp);
310
g_signal_connect_swapped (size_data, "value_changed",
314
g_signal_connect_swapped (size_data, "value-changed",
311
315
G_CALLBACK (gimp_preview_invalidate),
316
320
bvals.numsegs, 1, MAX_FANS, 1, 2, 0,
319
g_signal_connect (size_data, "value_changed",
323
g_signal_connect (size_data, "value-changed",
320
324
G_CALLBACK (gimp_int_adjustment_update),
322
g_signal_connect_swapped (size_data, "value_changed",
326
g_signal_connect_swapped (size_data, "value-changed",
323
327
G_CALLBACK (gimp_preview_invalidate),