1479 lines
35 KiB
Text
1479 lines
35 KiB
Text
# GIMP - The GNU Image Manipulation Program
|
|
# Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
|
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# "Perlized" from C source by Manish Singh <yosh@gimp.org>
|
|
|
|
sub pdb_misc {
|
|
$author = 'Michael Natterer <mitch@gimp.org> & Sven Neumann <sven@gimp.org>';
|
|
$copyright = 'Michael Natterer & Sven Neumann';
|
|
$date = '2004';
|
|
$since = '2.2';
|
|
}
|
|
|
|
sub context_push {
|
|
$blurb = 'Pushes a context to the top of the plug-in\'s context stack.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure creates a new context by copying the current context. This
|
|
copy becomes the new current context for the calling plug-in until it is
|
|
popped again using gimp_context_pop().
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
|
|
|
if (plug_in && plug_in->open)
|
|
success = gimp_plug_in_context_push (plug_in);
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_pop {
|
|
$blurb = 'Pops the topmost context from the plug-in\'s context stack.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure removes the topmost context from the plug-in's context
|
|
stack. The context that was active before the corresponding call to
|
|
gimp_context_push() becomes the new current context of the plug-in.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
|
|
|
if (plug_in && plug_in->open)
|
|
success = gimp_plug_in_context_pop (plug_in);
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_defaults {
|
|
$blurb = 'Reset context settings to their default values.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure resets context settings used by various procedures to their
|
|
default value. This procedure will usually be called after a context push
|
|
so that a script which calls procedures affected by context settings will
|
|
not be affected by changes in the global context.
|
|
HELP
|
|
|
|
$author = 'Kevin Cozens <kcozens@svn.gnome.org>';
|
|
$copyright = 'Kevin Cozens';
|
|
$date = '2011';
|
|
$since = '2.8';
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_config_reset (GIMP_CONFIG (context));
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_paint_method {
|
|
$blurb = 'Retrieve the currently active paint method.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the name of the currently active paint method.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2005', '2.4');
|
|
|
|
@outargs = (
|
|
{ name => 'name', type => 'string',
|
|
desc => 'The name of the active paint method' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpPaintInfo *paint_info = gimp_context_get_paint_info (context);
|
|
|
|
if (paint_info)
|
|
name = g_strdup (gimp_object_get_name (paint_info));
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_paint_method {
|
|
$blurb = 'Set the specified paint method as the active paint method.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure allows the active paint method to be set by specifying
|
|
its name. The name is simply a string which corresponds to one of the
|
|
names of the available paint methods. If there is no matching method
|
|
found, this procedure will return an error. Otherwise, the specified
|
|
method becomes active and will be used in all subsequent paint
|
|
operations.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2005', '2.4');
|
|
|
|
@inargs = (
|
|
{ name => 'name', type => 'string', non_empty => 1,
|
|
desc => 'The name of the paint method' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpPaintInfo *paint_info = gimp_pdb_get_paint_info (gimp, name, error);
|
|
|
|
if (paint_info)
|
|
gimp_context_set_paint_info (context, paint_info);
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_list_paint_methods {
|
|
$blurb = 'Lists the available paint methods.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure lists the names of the available paint methods. Any
|
|
of the results can be used for gimp_context_set_paint_method().
|
|
HELP
|
|
|
|
&simon_pdb_misc('2007', '2.4');
|
|
|
|
@outargs = (
|
|
{ name => 'paint_methods', type => 'stringarray', void_ret => 1,
|
|
desc => 'The names of the available paint methods',
|
|
array => { desc => 'The number of the available paint methods' } }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
paint_methods = gimp_container_get_name_array (gimp->paint_info_list,
|
|
&num_paint_methods);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
|
|
sub context_get_foreground {
|
|
$blurb = "Get the current GIMP foreground color.";
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the current GIMP foreground color. The foreground
|
|
color is used in a variety of tools such as paint tools, blending, and bucket
|
|
fill.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@outargs = (
|
|
{ name => 'foreground', type => 'color', void_ret => 1,
|
|
desc => 'The foreground color' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_context_get_foreground (context, &foreground);
|
|
gimp_rgb_set_alpha (&foreground, 1.0);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_foreground {
|
|
$blurb = "Set the current GIMP foreground color.";
|
|
|
|
$help = <<'HELP';
|
|
This procedure sets the current GIMP foreground color. After this is set,
|
|
operations which use foreground such as paint tools, blending, and bucket fill
|
|
will use the new value.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@inargs = (
|
|
{ name => 'foreground', type => 'color', void_ret => 1,
|
|
desc => 'The foreground color' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_rgb_set_alpha (&foreground, 1.0);
|
|
gimp_context_set_foreground (context, &foreground);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_background {
|
|
$blurb = "Get the current GIMP background color.";
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the current GIMP background color. The background
|
|
color is used in a variety of tools such as blending, erasing (with non-alpha
|
|
images), and image filling.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@outargs = (
|
|
{ name => 'background', type => 'color', void_ret => 1,
|
|
desc => 'The background color' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_context_get_background (context, &background);
|
|
gimp_rgb_set_alpha (&background, 1.0);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_background {
|
|
$blurb = "Set the current GIMP background color.";
|
|
|
|
$help = <<'HELP';
|
|
This procedure sets the current GIMP background color. After this is set,
|
|
operations which use background such as blending, filling images, clearing,
|
|
and erasing (in non-alpha images) will use the new value.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@inargs = (
|
|
{ name => 'background', type => 'color', void_ret => 1,
|
|
desc => 'The background color' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_rgb_set_alpha (&background, 1.0);
|
|
gimp_context_set_background (context, &background);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_default_colors {
|
|
$blurb = <<'BLURB';
|
|
Set the current GIMP foreground and background colors to black and white.
|
|
BLURB
|
|
|
|
$help = <<'HELP';
|
|
This procedure sets the current GIMP foreground and background colors to their
|
|
initial default values, black and white.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_context_set_default_colors (context);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_swap_colors {
|
|
$blurb = 'Swap the current GIMP foreground and background colors.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure swaps the current GIMP foreground and background colors, so that
|
|
the new foreground color becomes the old background color and vice versa.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_context_swap_colors (context);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_opacity {
|
|
$blurb = 'Get the opacity.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the opacity setting. The return
|
|
value is a floating point number between 0 and 100.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@outargs = (
|
|
{ name => 'opacity', type => '0 <= float <= 100',
|
|
desc => 'The opacity' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
opacity = gimp_context_get_opacity (context) * 100.0;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_opacity {
|
|
$blurb = 'Set the opacity.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the opacity setting. The value
|
|
should be a floating point number between 0 and 100.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@inargs = (
|
|
{ name => 'opacity', type => '0 <= float <= 100',
|
|
desc => 'The opacity' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_context_set_opacity (context, opacity / 100.0);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_paint_mode {
|
|
$blurb = 'Get the paint mode.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the paint-mode setting. The return value
|
|
is an integer which corresponds to the values listed in the argument
|
|
description.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@outargs = (
|
|
{ name => 'paint_mode', type => 'enum GimpLayerModeEffects',
|
|
desc => 'The paint mode' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
paint_mode = gimp_context_get_paint_mode (context);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_paint_mode {
|
|
$blurb = 'Set the paint mode.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the paint_mode setting.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@inargs = (
|
|
{ name => 'paint_mode', type => 'enum GimpLayerModeEffects',
|
|
desc => 'The paint mode' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_context_set_paint_mode (context, paint_mode);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_brush {
|
|
$blurb = 'Retrieve the currently active brush.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the name of the currently active brush.
|
|
All paint operations and stroke operations use this brush to control
|
|
the application of paint to the image.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@outargs = (
|
|
{ name => 'name', type => 'string',
|
|
desc => 'The name of the active brush' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpBrush *brush = gimp_context_get_brush (context);
|
|
|
|
if (brush)
|
|
name = g_strdup (gimp_object_get_name (brush));
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_brush {
|
|
$blurb = 'Set the specified brush as the active brush.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure allows the active brush to be set by specifying its name.
|
|
The name is simply a string which corresponds to one of the names of the
|
|
installed brushes. If there is no matching brush found, this procedure will
|
|
return an error. Otherwise, the specified brush becomes active and will be
|
|
used in all subsequent paint operations.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@inargs = (
|
|
{ name => 'name', type => 'string', non_empty => 1,
|
|
desc => 'The name of the brush' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpBrush *brush = gimp_pdb_get_brush (gimp, name, FALSE, error);
|
|
|
|
if (brush)
|
|
gimp_context_set_brush (context, brush);
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_pattern {
|
|
$blurb = 'Retrieve the currently active pattern.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns name of the the currently active pattern.
|
|
All clone and bucket-fill operations with patterns will use this
|
|
pattern to control the application of paint to the image.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@outargs = (
|
|
{ name => 'name', type => 'string',
|
|
desc => 'The name of the active pattern' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpPattern *pattern = gimp_context_get_pattern (context);
|
|
|
|
if (pattern)
|
|
name = g_strdup (gimp_object_get_name (pattern));
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_pattern {
|
|
$blurb = 'Set the specified pattern as the active pattern.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure allows the active pattern to be set by specifying its name.
|
|
The name is simply a string which corresponds to one of the names of the
|
|
installed patterns. If there is no matching pattern found, this procedure will
|
|
return an error. Otherwise, the specified pattern becomes active and will be
|
|
used in all subsequent paint operations.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@inargs = (
|
|
{ name => 'name', type => 'string', non_empty => 1,
|
|
desc => 'The name of the pattern' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpPattern *pattern = gimp_pdb_get_pattern (gimp, name, error);
|
|
|
|
if (pattern)
|
|
gimp_context_set_pattern (context, pattern);
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_gradient {
|
|
$blurb = 'Retrieve the currently active gradient.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the name of the currently active gradient.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@outargs = (
|
|
{ name => 'name', type => 'string',
|
|
desc => 'The name of the active gradient' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpGradient *gradient = gimp_context_get_gradient (context);
|
|
|
|
if (gradient)
|
|
name = g_strdup (gimp_object_get_name (gradient));
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_gradient {
|
|
$blurb = 'Sets the specified gradient as the active gradient.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure lets you set the specified gradient as the active or "current"
|
|
one. The name is simply a string which corresponds to one of the loaded
|
|
gradients. If no matching gradient is found, this
|
|
procedure will return an error. Otherwise, the specified gradient will become
|
|
active and will be used for subsequent custom gradient operations.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@inargs = (
|
|
{ name => 'name', type => 'string', non_empty => 1,
|
|
desc => 'The name of the gradient' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpGradient *gradient = gimp_pdb_get_gradient (gimp, name, FALSE, error);
|
|
|
|
if (gradient)
|
|
gimp_context_set_gradient (context, gradient);
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_palette {
|
|
$blurb = 'Retrieve the currently active palette.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the name of the the currently active palette.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@outargs = (
|
|
{ name => 'name', type => 'string',
|
|
desc => 'The name of the active palette' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpPalette *palette = gimp_context_get_palette (context);
|
|
|
|
if (palette)
|
|
name = g_strdup (gimp_object_get_name (palette));
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_palette {
|
|
$blurb = 'Set the specified palette as the active palette.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure allows the active palette to be set by specifying its name.
|
|
The name is simply a string which corresponds to one of the names of the
|
|
installed palettes. If no matching palette is found, this procedure will
|
|
return an error. Otherwise, the specified palette becomes active and will be
|
|
used in all subsequent palette operations.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@inargs = (
|
|
{ name => 'name', type => 'string', non_empty => 1,
|
|
desc => 'The name of the palette' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpPalette *palette = gimp_pdb_get_palette (gimp, name, FALSE, error);
|
|
|
|
if (palette)
|
|
gimp_context_set_palette (context, palette);
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_font {
|
|
$blurb = 'Retrieve the currently active font.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the name of the currently active font.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@outargs = (
|
|
{ name => 'name', type => 'string',
|
|
desc => 'The name of the active font' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpFont *font = gimp_context_get_font (context);
|
|
|
|
if (font)
|
|
name = g_strdup (gimp_object_get_name (font));
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_font {
|
|
$blurb = 'Set the specified font as the active font.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure allows the active font to be set by specifying its name.
|
|
The name is simply a string which corresponds to one of the names of the
|
|
installed fonts. If no matching font is found, this procedure will
|
|
return an error. Otherwise, the specified font becomes active and will be
|
|
used in all subsequent font operations.
|
|
HELP
|
|
|
|
&pdb_misc;
|
|
|
|
@inargs = (
|
|
{ name => 'name', type => 'string', non_empty => 1,
|
|
desc => 'The name of the font' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GimpFont *font = gimp_pdb_get_font (gimp, name, error);
|
|
|
|
if (font)
|
|
gimp_context_set_font (context, font);
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_antialias {
|
|
$blurb = 'Get the antialias setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the antialias setting.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'antialias', type => 'boolean',
|
|
desc => 'The antialias setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"antialias", &antialias,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_antialias {
|
|
$blurb = 'Set the antialias setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the antialias setting. If antialiasing is
|
|
turned on, the edges of selected region will contain intermediate
|
|
values which give the appearance of a sharper, less pixelized edge.
|
|
This should be set as TRUE most of the time unless a binary-only
|
|
selection is wanted.
|
|
|
|
This settings affects the following procedures:
|
|
gimp_image_select_color(), gimp_image_select_contiguous_color(),
|
|
gimp_image_select_round_rectangle(), gimp_image_select_ellipse(),
|
|
gimp_image_select_polygon(), gimp_image_select_item().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'antialias', type => 'boolean',
|
|
desc => 'The antialias setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"antialias", antialias,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_feather {
|
|
$blurb = 'Get the feather setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the feather setting.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'feather', type => 'boolean',
|
|
desc => 'The feather setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"feather", &feather,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_feather {
|
|
$blurb = 'Set the feather setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the feather setting. If the feather option is
|
|
enabled, selections will be blurred before combining. The blur is a
|
|
gaussian blur; its radii can be controlled using
|
|
gimp_context_set_feather_radius().
|
|
|
|
This setting affects the following procedures:
|
|
gimp_image_select_color(), gimp_image_select_contiguous_color(),
|
|
gimp_image_select_rectangle(), gimp_image_select_round_rectangle(),
|
|
gimp_image_select_ellipse(), gimp_image_select_polygon(),
|
|
gimp_image_select_item().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'feather', type => 'boolean',
|
|
desc => 'The feather setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"feather", feather,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_feather_radius {
|
|
$blurb = 'Get the feather radius setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the feather radius setting.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'feather_radius_x', type => '0 <= float <= 1000', void_ret => 1,
|
|
desc => 'The horizontal feather radius' },
|
|
{ name => 'feather_radius_y', type => '0 <= float <= 1000',
|
|
desc => 'The vertical feather radius' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"feather-radius-x", &feather_radius_x,
|
|
"feather-radius-y", &feather_radius_y,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_feather_radius {
|
|
$blurb = 'Set the feather radius setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the feather radius setting.
|
|
|
|
This setting affects all procedures that are affected
|
|
by gimp_context_set_feather().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'feather_radius_x', type => '0 <= float <= 1000',
|
|
desc => 'The horizontal feather radius' },
|
|
{ name => 'feather_radius_y', type => '0 <= float <= 1000',
|
|
desc => 'The vertical feather radius' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"feather-radius-x", feather_radius_x,
|
|
"feather-radius-y", feather_radius_y,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_sample_merged {
|
|
$blurb = 'Get the sample merged setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the sample merged setting.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2011', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'sample_merged', type => 'boolean',
|
|
desc => 'The sample merged setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"sample-merged", &sample_merged,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_sample_merged {
|
|
$blurb = 'Set the sample merged setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the sample merged setting. If an operation
|
|
depends on the colors of the pixels present in a drawable, like when
|
|
doing a seed fill, this setting controls whether the pixel data from
|
|
the specified drawable is used ('sample-merged' is FALSE), or the
|
|
pixel data from the composite image ('sample-merged' is TRUE. This is
|
|
equivalent to sampling for colors after merging all visible layers).
|
|
|
|
This setting affects the following procedures:
|
|
gimp_image_select_color(), gimp_image_select_contiguous_color().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2011', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'sample_merged', type => 'boolean',
|
|
desc => 'The sample merged setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"sample-merged", sample_merged,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_sample_criterion {
|
|
$blurb = 'Get the sample criterion setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the sample criterion setting.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2011', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'sample_criterion', type => 'enum GimpSelectCriterion',
|
|
desc => 'The sample criterion setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"sample-criterion", &sample_criterion,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_sample_criterion {
|
|
$blurb = 'Set the sample criterion setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the sample criterion setting. If an operation
|
|
depends on the colors of the pixels present in a drawable, like when
|
|
doing a seed fill, this setting controls how color similarity is
|
|
determined. SELECT_CRITERION_COMPOSITE is the default value.
|
|
|
|
This setting affects the following procedures:
|
|
gimp_image_select_color(), gimp_image_select_contiguous_color().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2011', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'sample_criterion', type => 'enum GimpSelectCriterion',
|
|
desc => 'The sample criterion setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"sample-criterion", sample_criterion,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_sample_threshold {
|
|
$blurb = 'Get the sample threshold setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the sample threshold setting.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2011', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'sample_threshold', type => '0.0 <= float <= 1.0',
|
|
desc => 'The sample threshold setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"sample-threshold", &sample_threshold,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_sample_threshold {
|
|
$blurb = 'Set the sample threshold setting.';
|
|
|
|
$help = <<'HELP';
|
|
|
|
This procedure modifies the sample threshold setting. If an operation
|
|
depends on the colors of the pixels present in a drawable, like when
|
|
doing a seed fill, this setting controls what is "sufficiently close"
|
|
to be considered a similar color. If the sample threshold has not been
|
|
set explicitly, the default threshold set in gimprc will be used.
|
|
|
|
This setting affects the following procedures:
|
|
gimp_image_select_color(), gimp_image_select_contiguous_color().
|
|
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2011', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'sample_threshold', type => '0.0 <= float <= 1.0',
|
|
desc => 'The sample threshold setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"sample-threshold", sample_threshold,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_sample_threshold_int {
|
|
$blurb = 'Get the sample threshold setting as an integer value.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the sample threshold setting as an integer
|
|
value. See gimp_context_get_sample_threshold().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2011', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'sample_threshold', type => '0 <= int32 <= 255',
|
|
desc => 'The sample threshold setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gdouble threshold;
|
|
|
|
g_object_get (context,
|
|
"sample-threshold", &threshold,
|
|
NULL);
|
|
|
|
sample_threshold = (gint) (threshold * 255.99);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_sample_threshold_int {
|
|
$blurb = 'Set the sample threshold setting as an integer value.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the sample threshold setting as an integer
|
|
value. See gimp_context_set_sample_threshold().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2011', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'sample_threshold', type => '0 <= int32 <= 255',
|
|
desc => 'The sample threshold setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"sample-threshold", (gdouble) sample_threshold / 255.0,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_sample_transparent {
|
|
$blurb = 'Get the sample transparent setting.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the sample transparent setting.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2011', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'sample_transparent', type => 'boolean',
|
|
desc => 'The sample transparent setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"sample-transparent", &sample_transparent,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_sample_transparent {
|
|
$blurb = 'Set the sample transparent setting.';
|
|
|
|
$help = <<'HELP';
|
|
|
|
This procedure modifies the sample transparent setting. If an
|
|
operation depends on the colors of the pixels present in a drawable,
|
|
like when doing a seed fill, this setting controls whether
|
|
transparency is considered to be a unique selectable color. When this
|
|
setting is TRUE, transparent areas can be selected or filled.
|
|
|
|
This setting affects the following procedures:
|
|
gimp_image_select_color(), gimp_image_select_contiguous_color().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2011', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'sample_transparent', type => 'boolean',
|
|
desc => 'The sample transparent setting' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"sample-transparent", sample_transparent,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_interpolation {
|
|
$blurb = 'Get the interpolation type.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the interpolation setting. The return value
|
|
is an integer which corresponds to the values listed in the argument
|
|
description. If the interpolation has not been set explicitly by
|
|
gimp_context_set_interpolation(), the default interpolation set in
|
|
gimprc will be used.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'interpolation', type => 'enum GimpInterpolationType',
|
|
desc => 'The interpolation type' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"interpolation", &interpolation,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_interpolation {
|
|
$blurb = 'Set the interpolation type.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the interpolation setting.
|
|
|
|
This setting affects affects the following procedures:
|
|
gimp_item_transform_flip(), gimp_item_transform_perspective(),
|
|
gimp_item_transform_rotate(), gimp_item_transform_scale(),
|
|
gimp_item_transform_shear(), gimp_item_transform_2d(),
|
|
gimp_item_transform_matrix(), gimp_image_scale(), gimp_layer_scale().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'interpolation', type => 'enum GimpInterpolationType',
|
|
desc => 'The interpolation type' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"interpolation", interpolation,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_transform_direction {
|
|
$blurb = 'Get the transform direction.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the transform direction. The return value
|
|
is an integer which corresponds to the values listed in the argument
|
|
description.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'transform_direction', type => 'enum GimpTransformDirection',
|
|
desc => 'The transform direction' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"transform-direction", &transform_direction,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_transform_direction {
|
|
$blurb = 'Set the transform direction.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the transform direction setting.
|
|
|
|
This setting affects affects the following procedures:
|
|
gimp_item_transform_flip(), gimp_item_transform_perspective(),
|
|
gimp_item_transform_rotate(), gimp_item_transform_scale(),
|
|
gimp_item_transform_shear(), gimp_item_transform_2d(),
|
|
gimp_item_transform_matrix().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'transform_direction', type => 'enum GimpTransformDirection',
|
|
desc => 'The transform direction' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"transform-direction", transform_direction,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_transform_resize {
|
|
$blurb = 'Get the transform resize type.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the transform resize setting. The return value
|
|
is an integer which corresponds to the values listed in the argument
|
|
description.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'transform_resize', type => 'enum GimpTransformResize',
|
|
desc => 'The transform resize type' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"transform-resize", &transform_resize,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_transform_resize {
|
|
$blurb = 'Set the transform resize type.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the transform resize setting. When transforming
|
|
pixels, if the result of a transform operation has a different size
|
|
than the original area, this setting determines how the resulting area
|
|
is sized.
|
|
|
|
This setting affects affects the following procedures:
|
|
gimp_item_transform_flip(), gimp_item_transform_flip_simple(),
|
|
gimp_item_transform_perspective(), gimp_item_transform_rotate(),
|
|
gimp_item_transform_rotate_simple(), gimp_item_transform_scale(),
|
|
gimp_item_transform_shear(), gimp_item_transform_2d(),
|
|
gimp_item_transform_matrix().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'transform_resize', type => 'enum GimpTransformResize',
|
|
desc => 'The transform resize type' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"transform-resize", transform_resize,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_get_transform_recursion {
|
|
$blurb = 'Get the transform supersampling recursion.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the transform supersampling recursion level.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'transform_recursion', type => '1 <= int32',
|
|
desc => 'The transform recursion level' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_get (context,
|
|
"transform-recursion", &transform_recursion,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub context_set_transform_recursion {
|
|
$blurb = 'Set the transform supersampling recursion.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure modifies the transform supersampling recursion level
|
|
setting. Whether or not a transformation does supersampling is
|
|
determined by the interplolation type. The recursion level defaults
|
|
to 3, which is a nice default value.
|
|
|
|
This setting affects affects the following procedures:
|
|
gimp_item_transform_flip(), gimp_item_transform_perspective(),
|
|
gimp_item_transform_rotate(), gimp_item_transform_scale(),
|
|
gimp_item_transform_shear(), gimp_item_transform_2d(),
|
|
gimp_item_transform_matrix().
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2010', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'transform_recursion', type => '1 <= int32',
|
|
desc => 'The transform recursion level' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
g_object_set (context,
|
|
"transform-recursion", transform_recursion,
|
|
NULL);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
@headers = qw("core/gimp.h"
|
|
"core/gimpcontainer.h"
|
|
"core/gimpdatafactory.h"
|
|
"libgimpconfig/gimpconfig.h"
|
|
"plug-in/gimpplugin.h"
|
|
"plug-in/gimpplugin-context.h"
|
|
"plug-in/gimppluginmanager.h"
|
|
"gimppdb-utils.h"
|
|
"gimppdbcontext.h");
|
|
|
|
@procs = qw(context_push context_pop context_set_defaults
|
|
context_list_paint_methods
|
|
context_get_paint_method context_set_paint_method
|
|
context_get_foreground context_set_foreground
|
|
context_get_background context_set_background
|
|
context_set_default_colors
|
|
context_swap_colors
|
|
context_get_opacity context_set_opacity
|
|
context_get_paint_mode context_set_paint_mode
|
|
context_get_brush context_set_brush
|
|
context_get_pattern context_set_pattern
|
|
context_get_gradient context_set_gradient
|
|
context_get_palette context_set_palette
|
|
context_get_font context_set_font
|
|
context_get_antialias context_set_antialias
|
|
context_get_feather context_set_feather
|
|
context_get_feather_radius context_set_feather_radius
|
|
context_get_sample_merged context_set_sample_merged
|
|
context_get_sample_criterion context_set_sample_criterion
|
|
context_get_sample_threshold context_set_sample_threshold
|
|
context_get_sample_threshold_int context_set_sample_threshold_int
|
|
context_get_sample_transparent context_set_sample_transparent
|
|
context_get_interpolation context_set_interpolation
|
|
context_get_transform_direction context_set_transform_direction
|
|
context_get_transform_resize context_set_transform_resize
|
|
context_get_transform_recursion context_set_transform_recursion);
|
|
|
|
%exports = (app => [@procs], lib => [@procs]);
|
|
|
|
$desc = 'Context';
|
|
$doc_title = 'gimpcontext';
|
|
$doc_short_desc = "Functions to manipulate a plug-in's context.";
|
|
$doc_long_desc = "Functions to manipulate a plug-in's context.";
|
|
|
|
1;
|