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

« back to all changes in this revision

Viewing changes to tools/pdbgen/pdb/selection_tools.pdb

  • 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
17
17
 
18
18
# "Perlized" from C source by Manish Singh <yosh@gimp.org>
19
19
 
20
 
# Selection Tools
21
 
 
22
 
# shortcuts
23
 
 
24
 
sub drawable_arg () {{
25
 
    name => 'drawable',
26
 
    type => 'drawable',
27
 
    desc => 'The affected drawable',
28
 
}}
29
 
 
30
 
sub drawable_out_arg {
31
 
    my $type = shift;
32
 
    my $arg = &drawable_arg;
33
 
    $arg->{desc} = "The $type drawable";
34
 
    $arg->{no_declare} = 1;
35
 
    $arg;
36
 
}
37
 
 
38
 
sub sample_merged_arg () {{
39
 
    name => 'sample_merged',
40
 
    type => 'boolean',
41
 
    desc => 'Use the composite image, not the drawable'
42
 
}}
43
 
 
44
 
sub operation_arg () {{
45
 
    name => 'operation',
46
 
    type => 'enum GimpChannelOps',
47
 
    desc => 'The selection operation: { %%desc%% }'
48
 
}}
49
 
 
50
 
sub threshold_arg () {{
51
 
    name => 'threshold',
52
 
    type => '0 <= int32 <= 255',
53
 
    desc => 'Threshold in intensity levels %%desc%%'
54
 
}}
55
 
 
56
 
sub feather_select_args () {(
57
 
    { name => 'feather', type => 'boolean',
58
 
      desc => 'Feather option for selections' },
59
 
    { name => 'feather_radius', type => 'float',
60
 
      desc => 'Radius for feather operation' }
61
 
)}
62
 
 
63
 
 
64
 
# The defs
65
 
 
66
20
sub by_color_select {
67
21
    $blurb = <<'BLURB';
68
22
Create a selection by selecting all pixels (in the specified drawable) with the
77
31
value) are included in the selection. The antialiasing parameter allows the
78
32
final selection mask to contain intermediate values based on close misses to
79
33
the threshold bar. Feathering can be enabled optionally and is controlled with
80
 
the "feather_radius" parameter. If the sample_merged parameter is non-zero,
 
34
the 'feather-radius' parameter. If the 'sample-merged' parameter is TRUE,
81
35
the data of the composite image will be used instead of that for the specified
82
36
drawable. This is equivalent to sampling for colors after merging all visible
83
37
layers. In the case of a merged sampling, the supplied drawable is ignored.
86
40
    &std_pdb_misc;
87
41
 
88
42
    @inargs = (
89
 
        &drawable_arg,
 
43
        { name => 'drawable', type => 'drawable',
 
44
          desc => 'The affected drawable' },
90
45
        { name => 'color', type => 'color',
91
46
          desc => 'The color to select' },
92
 
        &threshold_arg,
93
 
        &operation_arg,
94
 
        &std_antialias_arg,
95
 
        &feather_select_args,
96
 
        &sample_merged_arg
 
47
        { name => 'threshold', type => '0 <= int32 <= 255',
 
48
          desc => 'Threshold in intensity levels' },
 
49
        { name => 'operation', type => 'enum GimpChannelOps',
 
50
          desc => 'The selection operation' },
 
51
        { name => 'antialias', type => 'boolean',
 
52
          desc => 'Antialiasing' },
 
53
        { name => 'feather', type => 'boolean',
 
54
          desc => 'Feather option for selections' },
 
55
        { name => 'feather_radius', type => '0 <= float',
 
56
          desc => 'Radius for feather operation' },
 
57
        { name => 'sample_merged', type => 'boolean',
 
58
          desc => 'Use the composite image, not the drawable' }
97
59
    );
98
60
 
99
61
    %invoke = (
100
 
        vars => [ 'GimpImage *gimage' ],
101
62
        code => <<'CODE'
102
63
{
103
 
  gimage = gimp_item_get_image (GIMP_ITEM (drawable));
 
64
  GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
104
65
 
105
 
  gimp_channel_select_by_color (gimp_image_get_mask (gimage), drawable,
 
66
  gimp_channel_select_by_color (gimp_image_get_mask (image), drawable,
106
67
                                sample_merged,
107
68
                                &color,
108
69
                                threshold,
109
70
                                FALSE /* don't select transparent */,
 
71
                                GIMP_SELECT_CRITERION_COMPOSITE,
110
72
                                operation,
111
73
                                antialias,
112
74
                                feather,
117
79
    );
118
80
}
119
81
 
 
82
 
 
83
sub by_color_select_full {
 
84
    $blurb = <<'BLURB';
 
85
Create a selection by selecting all pixels (in the specified drawable) with the
 
86
same (or similar) color to that specified.
 
87
BLURB
 
88
 
 
89
    $help = <<'HELP';
 
90
This tool creates a selection over the specified image. A by-color selection is
 
91
determined by the supplied color under the constraints of the specified
 
92
threshold. Essentially, all pixels (in the drawable) that have color
 
93
sufficiently close to the specified color (as determined by the threshold
 
94
value) are included in the selection. To select transparent regions, the color 
 
95
specified must also have minimum alpha. The antialiasing parameter allows the 
 
96
final selection mask to contain intermediate values based on close misses to 
 
97
the threshold bar. Feathering can be enabled optionally and is controlled with 
 
98
the 'feather-radius' parameter. If the 'sample-merged' parameter is TRUE, the data
 
99
 of the composite image will be used instead of that for the specified drawable. 
 
100
This is equivalent to sampling for colors after merging all visible layers. 
 
101
In the case of a merged sampling, the supplied drawable is ignored.
 
102
HELP
 
103
 
 
104
    &david_pdb_misc('2006','2.4');
 
105
 
 
106
    @inargs = (
 
107
        { name => 'drawable', type => 'drawable',
 
108
          desc => 'The affected drawable' },
 
109
        { name => 'color', type => 'color',
 
110
          desc => 'The color to select' },
 
111
        { name => 'threshold', type => '0 <= int32 <= 255',
 
112
          desc => 'Threshold in intensity levels' },
 
113
        { name => 'operation', type => 'enum GimpChannelOps',
 
114
          desc => 'The selection operation' },
 
115
        { name => 'antialias', type => 'boolean',
 
116
          desc => 'Antialiasing' },
 
117
        { name => 'feather', type => 'boolean',
 
118
          desc => 'Feather option for selections' },
 
119
        { name => 'feather_radius_x', type => '0 <= float',
 
120
          desc => 'Radius for feather operation in X direction' },
 
121
        { name => 'feather_radius_y', type => '0 <= float',
 
122
          desc => 'Radius for feather operation in Y direction' },
 
123
        { name => 'sample_merged', type => 'boolean',
 
124
          desc => 'Use the composite image, not the drawable' },
 
125
        { name => 'select_transparent', type => 'boolean',
 
126
          desc => "Whether to consider transparent pixels for selection.
 
127
                   If TRUE, transparency is considered as a unique selectable
 
128
                   color." },
 
129
        { name => 'select_criterion', type => 'enum GimpSelectCriterion',
 
130
          desc => "The criterion used to determine color similarity.
 
131
                   SELECT_CRITERION_COMPOSITE is the standard choice.
 
132
                   " },
 
133
    );
 
134
 
 
135
    %invoke = (
 
136
        code => <<'CODE'
 
137
{
 
138
  GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
 
139
 
 
140
  gimp_channel_select_by_color (gimp_image_get_mask (image), drawable,
 
141
                                sample_merged,
 
142
                                &color,
 
143
                                threshold,
 
144
                                select_transparent,
 
145
                                select_criterion,
 
146
                                operation,
 
147
                                antialias,
 
148
                                feather,
 
149
                                feather_radius_x,
 
150
                                feather_radius_y);
 
151
}
 
152
CODE
 
153
    );
 
154
}
 
155
 
 
156
 
120
157
sub ellipse_select {
121
158
    $blurb = 'Create an elliptical selection over the specified image.';
122
159
 
134
171
    &std_pdb_misc;
135
172
 
136
173
    @inargs = (
137
 
        &std_image_arg,
 
174
        { name => 'image', type => 'image',
 
175
          desc => 'The image' },
138
176
        { name => 'x', type => 'float',
139
177
          desc => 'x coordinate of upper-left corner of ellipse bounding box' },
140
178
        { name => 'y', type => 'float',
141
179
          desc => 'y coordinate of upper-left corner of ellipse bounding box' },
142
180
        { name => 'width', type => '0 < float',
143
 
          desc => 'The width of the ellipse: %%desc%%' },
 
181
          desc => 'The width of the ellipse' },
144
182
        { name => 'height', type => '0 < float',
145
 
          desc => 'The height of the ellipse: %%desc%%' },
146
 
        &operation_arg,
147
 
        &std_antialias_arg,
148
 
        &feather_select_args
 
183
          desc => 'The height of the ellipse' },
 
184
        { name => 'operation', type => 'enum GimpChannelOps',
 
185
          desc => 'The selection operation' },
 
186
        { name => 'antialias', type => 'boolean',
 
187
          desc => 'Antialiasing' },
 
188
        { name => 'feather', type => 'boolean',
 
189
          desc => 'Feather option for selections' },
 
190
        { name => 'feather_radius', type => '0 <= float',
 
191
          desc => 'Radius for feather operation' }
149
192
    );
150
193
 
151
194
    %invoke = (
152
195
        code => <<'CODE'
153
 
gimp_channel_select_ellipse (gimp_image_get_mask (gimage),
154
 
                             (gint) x, (gint) y,
155
 
                             (gint) width, (gint) height,
156
 
                             operation,
157
 
                             antialias,
158
 
                             feather,
159
 
                             feather_radius,
160
 
                             feather_radius);
 
196
{
 
197
  gimp_channel_select_ellipse (gimp_image_get_mask (image),
 
198
                               (gint) x, (gint) y,
 
199
                               (gint) width, (gint) height,
 
200
                               operation,
 
201
                               antialias,
 
202
                               feather,
 
203
                               feather_radius,
 
204
                               feather_radius,
 
205
                               TRUE);
 
206
}
161
207
CODE
162
208
    );
163
209
}
164
210
 
 
211
 
165
212
sub free_select {
166
213
    $blurb = 'Create a polygonal selection over the specified image.';
167
214
 
180
227
    &std_pdb_misc;
181
228
 
182
229
    @inargs = (
183
 
        &std_image_arg,
 
230
        { name => 'image', type => 'image',
 
231
          desc => 'The image' },
184
232
        { name => 'segs', type => 'floatarray',
185
233
          desc => 'Array of points: { p1.x, p1.y, p2.x, p2.y, ...,
186
234
                   pn.x, pn.y}',
187
 
          array => { type => '2 <= int32', on_success => 'num_segs /= 2;',
 
235
          array => { type => '2 <= int32',
188
236
                     desc => 'Number of points (count 1 coordinate as two
189
237
                              points)' } },
190
 
        &operation_arg,
191
 
        &std_antialias_arg,
192
 
        &feather_select_args
 
238
        { name => 'operation', type => 'enum GimpChannelOps',
 
239
          desc => 'The selection operation' },
 
240
        { name => 'antialias', type => 'boolean',
 
241
          desc => 'Antialiasing' },
 
242
        { name => 'feather', type => 'boolean',
 
243
          desc => 'Feather option for selections' },
 
244
        { name => 'feather_radius', type => '0 <= float',
 
245
          desc => 'Radius for feather operation' }
193
246
    );
194
247
 
195
248
    %invoke = (
196
249
        code => <<'CODE'
197
 
gimp_channel_select_polygon (gimp_image_get_mask (gimage),
198
 
                             _("Free Select"),
199
 
                             num_segs,
200
 
                             (GimpVector2 *) segs, 
201
 
                             operation,
202
 
                             antialias,
203
 
                             feather, 
204
 
                             feather_radius,
205
 
                             feather_radius);
 
250
{
 
251
  gimp_channel_select_polygon (gimp_image_get_mask (image),
 
252
                               _("Free Select"),
 
253
                               num_segs / 2,
 
254
                               (GimpVector2 *) segs,
 
255
                               operation,
 
256
                               antialias,
 
257
                               feather,
 
258
                               feather_radius,
 
259
                               feather_radius,
 
260
                               TRUE);
 
261
}
206
262
CODE
207
263
    );
208
264
}
209
265
 
 
266
 
210
267
sub fuzzy_select {
211
268
    $blurb = <<'BLURB';
212
269
Create a fuzzy selection starting at the specified coordinates on the specified
223
280
antialiasing parameter allows the final selection mask to contain intermediate
224
281
values based on close misses to the threshold bar at pixels along the seed fill
225
282
boundary. Feathering can be enabled optionally and is controlled with the
226
 
"feather_radius" paramter. If the sample_merged parameter is non-zero, the data
 
283
'feather-radius' paramter. If the 'sample-merged' parameter is TRUE, the data
227
284
of the composite image will be used instead of that for the specified drawable.
228
285
This is equivalent to sampling for colors after merging all visible layers. In
229
286
the case of a merged sampling, the supplied drawable is ignored. If the sample
234
291
    &std_pdb_misc;
235
292
 
236
293
    @inargs = (
237
 
        &drawable_arg,
 
294
        { name => 'drawable', type => 'drawable',
 
295
          desc => 'The affected drawable' },
238
296
        { name => 'x', type => 'float',
239
297
          desc => 'x coordinate of initial seed fill point: (image
240
298
                   coordinates)' },
241
299
        { name => 'y', type => 'float',
242
300
          desc => 'y coordinate of initial seed fill point: (image
243
301
                   coordinates)' },
244
 
        &threshold_arg,
245
 
        &operation_arg,
246
 
        &std_antialias_arg,
247
 
        &feather_select_args,
248
 
        &sample_merged_arg
 
302
        { name => 'threshold', type => '0 <= int32 <= 255',
 
303
          desc => 'Threshold in intensity levels' },
 
304
        { name => 'operation', type => 'enum GimpChannelOps',
 
305
          desc => 'The selection operation' },
 
306
        { name => 'antialias', type => 'boolean',
 
307
          desc => 'Antialiasing' },
 
308
        { name => 'feather', type => 'boolean',
 
309
          desc => 'Feather option for selections' },
 
310
        { name => 'feather_radius', type => '0 <= float',
 
311
          desc => 'Radius for feather operation' },
 
312
        { name => 'sample_merged', type => 'boolean',
 
313
          desc => 'Use the composite image, not the drawable' }
249
314
    );
250
315
 
251
316
    %invoke = (
252
 
        vars => [ 'GimpImage *gimage' ],
253
317
        code => <<'CODE'
254
318
{
255
 
  gimage = gimp_item_get_image (GIMP_ITEM (drawable));
 
319
  GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
256
320
 
257
 
  gimp_channel_select_fuzzy (gimp_image_get_mask (gimage),
 
321
  gimp_channel_select_fuzzy (gimp_image_get_mask (image),
258
322
                             drawable,
259
323
                             sample_merged,
260
 
                             x, y, 
 
324
                             x, y,
261
325
                             threshold,
262
326
                             FALSE /* don't select transparent */,
 
327
                             GIMP_SELECT_CRITERION_COMPOSITE,
263
328
                             operation,
264
329
                             antialias,
265
330
                             feather,
270
335
    );
271
336
}
272
337
 
 
338
 
 
339
sub fuzzy_select_full {
 
340
    $blurb = <<'BLURB';
 
341
Create a fuzzy selection starting at the specified coordinates on the specified
 
342
drawable.
 
343
BLURB
 
344
 
 
345
    $help = <<'HELP';
 
346
This tool creates a fuzzy selection over the specified image. A fuzzy selection
 
347
is determined by a seed fill under the constraints of the specified threshold.
 
348
Essentially, the color at the specified coordinates (in the drawable) is
 
349
measured and the selection expands outwards from that point to any adjacent
 
350
pixels which are not significantly different (as determined by the threshold
 
351
value). This process continues until no more expansion is possible. The
 
352
antialiasing parameter allows the final selection mask to contain intermediate
 
353
values based on close misses to the threshold bar at pixels along the seed fill
 
354
boundary. Feathering can be enabled optionally and is controlled with the
 
355
'feather-radius' paramter. If the 'sample-merged' parameter is TRUE, the data
 
356
of the composite image will be used instead of that for the specified drawable.
 
357
This is equivalent to sampling for colors after merging all visible layers. In
 
358
the case of a merged sampling, the supplied drawable is ignored. If the sample
 
359
is merged, the specified coordinates are relative to the image origin;
 
360
otherwise, they are relative to the drawable's origin.
 
361
HELP
 
362
 
 
363
    &david_pdb_misc("2006","2.4");
 
364
 
 
365
    @inargs = (
 
366
        { name => 'drawable', type => 'drawable',
 
367
          desc => 'The affected drawable' },
 
368
        { name => 'x', type => 'float',
 
369
          desc => 'x coordinate of initial seed fill point: (image
 
370
                   coordinates)' },
 
371
        { name => 'y', type => 'float',
 
372
          desc => 'y coordinate of initial seed fill point: (image
 
373
                   coordinates)' },
 
374
        { name => 'threshold', type => '0 <= int32 <= 255',
 
375
          desc => 'Threshold in intensity levels' },
 
376
        { name => 'operation', type => 'enum GimpChannelOps',
 
377
          desc => 'The selection operation' },
 
378
        { name => 'antialias', type => 'boolean',
 
379
          desc => 'Antialiasing' },
 
380
        { name => 'feather', type => 'boolean',
 
381
          desc => 'Feather option for selections' },
 
382
        { name => 'feather_radius_x', type => '0 <= float',
 
383
          desc => 'Radius for feather operation in X direction' },
 
384
        { name => 'feather_radius_y', type => '0 <= float',
 
385
          desc => 'Radius for feather operation in Y direction' },
 
386
        { name => 'sample_merged', type => 'boolean',
 
387
          desc => 'Use the composite image, not the drawable' },
 
388
        { name => 'select_transparent', type => 'boolean',
 
389
          desc => "Whether to consider transparent pixels for selection.
 
390
                   If TRUE, transparency is considered as a unique selectable
 
391
                   color." },
 
392
        { name => 'select_criterion', type => 'enum GimpSelectCriterion',
 
393
          desc => "The criterion used to determine color similarity.
 
394
                   SELECT_CRITERION_COMPOSITE is the standard choice.
 
395
                   " },
 
396
    );
 
397
 
 
398
    %invoke = (
 
399
        code => <<'CODE'
 
400
{
 
401
  GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
 
402
 
 
403
  gimp_channel_select_fuzzy (gimp_image_get_mask (image),
 
404
                             drawable,
 
405
                             sample_merged,
 
406
                             x, y,
 
407
                             threshold,
 
408
                             select_transparent,
 
409
                             select_criterion,
 
410
                             operation,
 
411
                             antialias,
 
412
                             feather,
 
413
                             feather_radius_x,
 
414
                             feather_radius_y);
 
415
}
 
416
CODE
 
417
    );
 
418
}
 
419
 
 
420
 
273
421
sub rect_select {
274
422
    $blurb = 'Create a rectangular selection over the specified image;';
275
423
 
284
432
    &std_pdb_misc;
285
433
 
286
434
    @inargs = (
287
 
        &std_image_arg,
288
 
        { name => 'x', type => 'float',
289
 
          desc => 'x coordinate of upper-left corner of rectangle' },
290
 
        { name => 'y', type => 'float',
291
 
          desc => 'y coordinate of upper-left corner of rectangle' },
292
 
        { name => 'width', type => '0 < float',
293
 
          desc => 'The width of the rectangle: %%desc%%' },
294
 
        { name => 'height', type => '0 < float',
295
 
          desc => 'The height of the rectangle: %%desc%%' },
296
 
        &operation_arg,
297
 
        &feather_select_args,
298
 
    );
299
 
 
300
 
    %invoke = (
301
 
        code => <<'CODE'
302
 
gimp_channel_select_rectangle (gimp_image_get_mask (gimage),
303
 
                               (gint) x, (gint) y,
304
 
                               (gint) width, (gint) height,
305
 
                               operation,
306
 
                               feather,
307
 
                               feather_radius,
308
 
                               feather_radius);
309
 
CODE
310
 
    );
311
 
}
 
435
        { name => 'image', type => 'image',
 
436
          desc => 'The image' },
 
437
        { name => 'x', type => 'float',
 
438
          desc => 'x coordinate of upper-left corner of rectangle' },
 
439
        { name => 'y', type => 'float',
 
440
          desc => 'y coordinate of upper-left corner of rectangle' },
 
441
        { name => 'width', type => '0 < float',
 
442
          desc => 'The width of the rectangle' },
 
443
        { name => 'height', type => '0 < float',
 
444
          desc => 'The height of the rectangle' },
 
445
        { name => 'operation', type => 'enum GimpChannelOps',
 
446
          desc => 'The selection operation' },
 
447
        { name => 'feather', type => 'boolean',
 
448
          desc => 'Feather option for selections' },
 
449
        { name => 'feather_radius', type => '0 <= float',
 
450
          desc => 'Radius for feather operation' }
 
451
    );
 
452
 
 
453
    %invoke = (
 
454
        code => <<'CODE'
 
455
{
 
456
  gimp_channel_select_rectangle (gimp_image_get_mask (image),
 
457
                                 (gint) x, (gint) y,
 
458
                                 (gint) width, (gint) height,
 
459
                                 operation,
 
460
                                 feather,
 
461
                                 feather_radius,
 
462
                                 feather_radius,
 
463
                                 TRUE);
 
464
}
 
465
CODE
 
466
    );
 
467
}
 
468
 
 
469
 
 
470
sub round_rect_select {
 
471
    $blurb = 'Create a rectangular selection with round corners over the specified image;';
 
472
 
 
473
    $help = <<'HELP';
 
474
This tool creates a rectangular selection with round corners over the
 
475
specified image. The rectangular region can be either added to,
 
476
subtracted from, or replace the contents of the previous selection
 
477
mask. If the feather option is enabled, the resulting selection is
 
478
blurred before combining. The blur is a gaussian blur with the
 
479
specified feather radius.
 
480
HELP
 
481
 
 
482
    &martin_pdb_misc("2006","2.4");
 
483
 
 
484
    @inargs = (
 
485
        { name => 'image', type => 'image',
 
486
          desc => 'The image' },
 
487
        { name => 'x', type => 'float',
 
488
          desc => 'x coordinate of upper-left corner of rectangle' },
 
489
        { name => 'y', type => 'float',
 
490
          desc => 'y coordinate of upper-left corner of rectangle' },
 
491
        { name => 'width', type => '0 < float',
 
492
          desc => 'The width of the rectangle' },
 
493
        { name => 'height', type => '0 < float',
 
494
          desc => 'The height of the rectangle' },
 
495
        { name => 'corner_radius_x', type => '0 < float < GIMP_MAX_IMAGE_SIZE',
 
496
          desc => 'The corner radius in X direction' },
 
497
        { name => 'corner_radius_y', type => '0 < float < GIMP_MAX_IMAGE_SIZE',
 
498
          desc => 'The corner radius in Y direction' },
 
499
        { name => 'operation', type => 'enum GimpChannelOps',
 
500
          desc => 'The selection operation' },
 
501
        { name => 'antialias', type => 'boolean',
 
502
          desc => 'Antialiasing' },
 
503
        { name => 'feather', type => 'boolean',
 
504
          desc => 'Feather option for selections' },
 
505
        { name => 'feather_radius_x', type => '0 <= float',
 
506
          desc => 'Radius for feather operation in X direction' },
 
507
        { name => 'feather_radius_y', type => '0 <= float',
 
508
          desc => 'Radius for feather operation in Y direction' }
 
509
    );
 
510
 
 
511
    %invoke = (
 
512
        code => <<'CODE'
 
513
{
 
514
  gimp_channel_select_round_rect (gimp_image_get_mask (image),
 
515
                                  (gint) x, (gint) y,
 
516
                                  (gint) width, (gint) height,
 
517
                                  corner_radius_x,
 
518
                                  corner_radius_y,
 
519
                                  operation,
 
520
                                  antialias,
 
521
                                  feather,
 
522
                                  feather_radius_x,
 
523
                                  feather_radius_y,
 
524
                                  TRUE);
 
525
}
 
526
CODE
 
527
    );
 
528
}
 
529
 
312
530
 
313
531
@headers = qw("core/gimpchannel-select.h" "gimp-intl.h");
314
532
 
315
 
@procs = qw(by_color_select ellipse_select free_select fuzzy_select
316
 
            rect_select);
 
533
@procs = qw(by_color_select by_color_select_full
 
534
            ellipse_select
 
535
            free_select 
 
536
            fuzzy_select fuzzy_select_full
 
537
            rect_select round_rect_select);
 
538
 
317
539
%exports = (app => [@procs], lib => [@procs]);
318
540
 
319
541
$desc = 'Selection Tool procedures';