2006-12-09 13:33:38 -08:00
|
|
|
# GIMP - The GNU Image Manipulation Program
|
1999-05-03 12:22:58 -07:00
|
|
|
# Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
|
|
|
|
|
2009-01-17 14:28:01 -08:00
|
|
|
# This program is free software: you can redistribute it and/or modify
|
1999-05-03 12:22:58 -07:00
|
|
|
# it under the terms of the GNU General Public License as published by
|
2009-01-17 14:28:01 -08:00
|
|
|
# the Free Software Foundation; either version 3 of the License, or
|
1999-05-03 12:22:58 -07:00
|
|
|
# (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
|
2018-07-11 14:47:19 -07:00
|
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
1999-05-03 12:22:58 -07:00
|
|
|
|
|
|
|
|
# "Perlized" from C source by Manish Singh <yosh@gimp.org>
|
|
|
|
|
|
|
|
|
|
sub plugins_query {
|
2017-04-04 04:09:42 -07:00
|
|
|
$blurb = 'Queries the plug-in database for its contents.';
|
|
|
|
|
$help = 'This procedure queries the contents of the plug-in database.';
|
1999-05-03 12:22:58 -07:00
|
|
|
|
2006-03-14 13:35:50 -08:00
|
|
|
&andy_pdb_misc('1998');
|
1999-05-03 12:22:58 -07:00
|
|
|
|
|
|
|
|
@inargs = (
|
2007-04-26 12:10:23 -07:00
|
|
|
{ name => 'search_string', type => 'string', no_validate => 1,
|
2006-03-22 01:58:08 -08:00
|
|
|
desc => 'If not an empty string then use this as a search pattern' }
|
1999-05-03 12:22:58 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
@outargs = (
|
|
|
|
|
{ name => 'menu_path', type => 'stringarray',
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'The menu path of the plug-in',
|
2006-03-18 06:43:11 -08:00
|
|
|
array => { name => 'num_plugins',
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'The number of plug-ins' } },
|
1999-05-03 12:22:58 -07:00
|
|
|
{ name => 'plugin_accelerator', type => 'stringarray',
|
|
|
|
|
desc => 'String representing keyboard accelerator (could be empty
|
2006-03-18 06:43:11 -08:00
|
|
|
string)',
|
|
|
|
|
array => { name => 'num_plugins', no_declare => 1,
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'The number of plug-ins' } },
|
1999-05-03 12:22:58 -07:00
|
|
|
{ name => 'plugin_location', type => 'stringarray',
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'Location of the plug-in program',
|
2006-03-18 06:43:11 -08:00
|
|
|
array => { name => 'num_plugins', no_declare => 1,
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'The number of plug-ins' } },
|
1999-05-03 12:22:58 -07:00
|
|
|
{ name => 'plugin_image_type', type => 'stringarray',
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'Type of image that this plug-in will work on',
|
2006-03-18 06:43:11 -08:00
|
|
|
array => { name => 'num_plugins', no_declare => 1,
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'The number of plug-ins' } },
|
1999-05-03 12:22:58 -07:00
|
|
|
{ name => 'plugin_install_time', type => 'int32array',
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'Time that the plug-in was installed',
|
2006-03-18 06:43:11 -08:00
|
|
|
array => { name => 'num_plugins', no_declare => 1,
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'The number of plug-ins' } },
|
1999-05-03 12:22:58 -07:00
|
|
|
{ name => 'plugin_real_name', type => 'stringarray',
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'The internal name of the plug-in',
|
2006-03-18 06:43:11 -08:00
|
|
|
array => { name => 'num_plugins', no_declare => 1,
|
2017-04-04 04:09:42 -07:00
|
|
|
desc => 'The number of plug-ins' } }
|
1999-05-03 12:22:58 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
%invoke = (
|
|
|
|
|
code => <<'CODE'
|
|
|
|
|
{
|
2006-04-28 15:26:51 -07:00
|
|
|
num_plugins = gimp_plug_in_manager_query (gimp->plug_in_manager,
|
|
|
|
|
search_string,
|
|
|
|
|
&menu_path,
|
|
|
|
|
&plugin_accelerator,
|
|
|
|
|
&plugin_location,
|
|
|
|
|
&plugin_image_type,
|
|
|
|
|
&plugin_real_name,
|
|
|
|
|
&plugin_install_time);
|
1999-05-03 12:22:58 -07:00
|
|
|
}
|
|
|
|
|
CODE
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2000-05-31 06:24:14 -07:00
|
|
|
sub plugin_domain_register {
|
|
|
|
|
$blurb = 'Registers a textdomain for localisation.';
|
2000-02-23 10:07:53 -08:00
|
|
|
|
|
|
|
|
$help = <<'HELP';
|
|
|
|
|
This procedure adds a textdomain to the list of domains Gimp searches
|
|
|
|
|
for strings when translating its menu entries. There is no need to
|
|
|
|
|
call this function for plug-ins that have their strings included in
|
2008-12-16 03:43:32 -08:00
|
|
|
the 'gimp-std-plugins' domain as that is used by default. If the compiled
|
2000-02-23 10:07:53 -08:00
|
|
|
message catalog is not in the standard location, you may specify an
|
|
|
|
|
absolute path to another location. This procedure can only be called
|
2000-05-30 23:15:06 -07:00
|
|
|
in the query function of a plug-in and it has to be called before any
|
2000-02-23 10:07:53 -08:00
|
|
|
procedure is installed.
|
|
|
|
|
HELP
|
|
|
|
|
|
2006-03-14 13:35:50 -08:00
|
|
|
&neo_pdb_misc('2000');
|
2000-02-23 10:07:53 -08:00
|
|
|
|
|
|
|
|
@inargs = (
|
|
|
|
|
{ name => 'domain_name', type => 'string',
|
2003-08-19 12:08:11 -07:00
|
|
|
desc => 'The name of the textdomain (must be unique)' },
|
2007-04-26 12:10:23 -07:00
|
|
|
{ name => 'domain_path', type => 'string', no_validate => 1,
|
2003-08-19 12:08:11 -07:00
|
|
|
desc => 'The absolute path to the compiled message catalog (may be
|
2006-03-22 01:58:08 -08:00
|
|
|
NULL)' }
|
2000-02-23 10:07:53 -08:00
|
|
|
);
|
2003-01-20 04:17:32 -08:00
|
|
|
|
2000-02-23 10:07:53 -08:00
|
|
|
%invoke = (
|
2006-03-22 01:58:08 -08:00
|
|
|
code => <<'CODE'
|
2000-02-23 10:07:53 -08:00
|
|
|
{
|
2006-05-03 11:05:06 -07:00
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
2006-04-28 15:26:51 -07:00
|
|
|
|
2006-05-02 11:27:31 -07:00
|
|
|
if (plug_in && plug_in->call_mode == GIMP_PLUG_IN_CALL_QUERY)
|
2000-02-23 10:07:53 -08:00
|
|
|
{
|
2007-02-18 17:16:05 -08:00
|
|
|
gimp_plug_in_def_set_locale_domain (plug_in->plug_in_def,
|
|
|
|
|
domain_name, domain_path);
|
2000-02-23 10:07:53 -08:00
|
|
|
}
|
2004-07-16 07:43:56 -07:00
|
|
|
else
|
2008-04-04 03:53:50 -07:00
|
|
|
{
|
|
|
|
|
success = FALSE;
|
|
|
|
|
}
|
2000-02-23 10:07:53 -08:00
|
|
|
}
|
|
|
|
|
CODE
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2000-05-31 06:24:14 -07:00
|
|
|
sub plugin_help_register {
|
|
|
|
|
$blurb = "Register a help path for a plug-in.";
|
|
|
|
|
|
|
|
|
|
$help = <<HELP;
|
2008-12-16 03:43:32 -08:00
|
|
|
|
|
|
|
|
This procedure registers user documentation for the calling plug-in
|
|
|
|
|
with the GIMP help system. The domain_uri parameter points to the root
|
|
|
|
|
directory where the plug-in help is installed. For each supported
|
|
|
|
|
language there should be a file called 'gimp-help.xml' that maps the
|
|
|
|
|
help IDs to the actual help files.
|
2000-05-31 06:24:14 -07:00
|
|
|
HELP
|
|
|
|
|
|
2006-03-14 13:35:50 -08:00
|
|
|
&mitch_pdb_misc('2000');
|
2000-05-31 06:24:14 -07:00
|
|
|
|
|
|
|
|
@inargs = (
|
2003-08-28 11:49:11 -07:00
|
|
|
{ name => 'domain_name', type => 'string',
|
2004-05-19 18:13:14 -07:00
|
|
|
desc => "The XML namespace of the plug-in's help pages" },
|
2003-08-28 11:49:11 -07:00
|
|
|
{ name => 'domain_uri', type => 'string',
|
2004-05-19 18:13:14 -07:00
|
|
|
desc => "The root URI of the plug-in's help pages" }
|
2000-05-31 06:24:14 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
%invoke = (
|
2006-03-22 01:58:08 -08:00
|
|
|
code => <<'CODE'
|
2000-05-31 06:24:14 -07:00
|
|
|
{
|
2006-05-03 11:05:06 -07:00
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
2006-04-28 15:26:51 -07:00
|
|
|
|
2006-05-02 11:27:31 -07:00
|
|
|
if (plug_in && plug_in->call_mode == GIMP_PLUG_IN_CALL_QUERY)
|
2000-05-31 06:24:14 -07:00
|
|
|
{
|
2007-02-18 17:16:05 -08:00
|
|
|
gimp_plug_in_def_set_help_domain (plug_in->plug_in_def,
|
|
|
|
|
domain_name, domain_uri);
|
2000-05-31 06:24:14 -07:00
|
|
|
}
|
2004-07-16 07:43:56 -07:00
|
|
|
else
|
2008-04-04 03:53:50 -07:00
|
|
|
{
|
|
|
|
|
success = FALSE;
|
|
|
|
|
}
|
2000-05-31 06:24:14 -07:00
|
|
|
}
|
|
|
|
|
CODE
|
|
|
|
|
);
|
|
|
|
|
}
|
2000-02-23 10:07:53 -08:00
|
|
|
|
2004-05-06 07:23:21 -07:00
|
|
|
sub plugin_menu_register {
|
2004-05-06 06:51:56 -07:00
|
|
|
$blurb = "Register an additional menu path for a plug-in procedure.";
|
|
|
|
|
|
|
|
|
|
$help = <<HELP;
|
|
|
|
|
This procedure installs an additional menu entry for the given procedure.
|
|
|
|
|
HELP
|
|
|
|
|
|
2006-03-14 13:35:50 -08:00
|
|
|
&mitch_pdb_misc('2004', '2.2');
|
2004-05-06 06:51:56 -07:00
|
|
|
|
|
|
|
|
@inargs = (
|
2007-04-25 07:23:05 -07:00
|
|
|
{ name => 'procedure_name', type => 'string', non_empty => 1,
|
2004-05-06 06:51:56 -07:00
|
|
|
desc => 'The procedure for which to install the menu path' },
|
|
|
|
|
{ name => 'menu_path', type => 'string',
|
2004-05-19 18:13:14 -07:00
|
|
|
desc => "The procedure's additional menu path" }
|
2004-05-06 06:51:56 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
%invoke = (
|
2006-03-22 01:58:08 -08:00
|
|
|
code => <<'CODE'
|
2004-05-06 06:51:56 -07:00
|
|
|
{
|
2006-05-03 11:05:06 -07:00
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
2006-04-28 15:26:51 -07:00
|
|
|
|
|
|
|
|
if (plug_in)
|
2004-05-06 06:51:56 -07:00
|
|
|
{
|
2006-01-11 11:41:25 -08:00
|
|
|
gchar *canonical = gimp_canonicalize_identifier (procedure_name);
|
2006-05-03 11:05:06 -07:00
|
|
|
success = gimp_plug_in_menu_register (plug_in, canonical, menu_path);
|
2005-08-02 15:52:23 -07:00
|
|
|
g_free (canonical);
|
2004-05-06 06:51:56 -07:00
|
|
|
}
|
2004-07-16 07:43:56 -07:00
|
|
|
else
|
2006-01-11 11:41:25 -08:00
|
|
|
{
|
|
|
|
|
success = FALSE;
|
|
|
|
|
}
|
2004-05-06 06:51:56 -07:00
|
|
|
}
|
|
|
|
|
CODE
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2005-03-24 08:08:04 -08:00
|
|
|
sub plugin_menu_branch_register {
|
|
|
|
|
$blurb = "Register a sub-menu.";
|
|
|
|
|
|
|
|
|
|
$help = <<HELP;
|
2007-11-06 01:21:32 -08:00
|
|
|
This procedure installs a sub-menu which does not belong to any procedure.
|
|
|
|
|
The menu-name should be the untranslated menu label. GIMP will look up the
|
|
|
|
|
translation in the textdomain registered for the plug-in.
|
2005-03-24 08:08:04 -08:00
|
|
|
HELP
|
|
|
|
|
|
2006-03-14 13:35:50 -08:00
|
|
|
&mitch_pdb_misc('2005', '2.4');
|
2005-03-24 08:08:04 -08:00
|
|
|
|
|
|
|
|
@inargs = (
|
|
|
|
|
{ name => 'menu_path', type => 'string',
|
|
|
|
|
desc => "The sub-menu's menu path" },
|
|
|
|
|
{ name => 'menu_name', type => 'string',
|
|
|
|
|
desc => 'The name of the sub-menu' }
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
%invoke = (
|
2006-03-22 01:58:08 -08:00
|
|
|
code => <<'CODE'
|
2005-03-24 08:08:04 -08:00
|
|
|
{
|
2006-05-03 11:05:06 -07:00
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
2006-04-28 15:26:51 -07:00
|
|
|
|
|
|
|
|
if (plug_in)
|
2005-03-24 08:08:04 -08:00
|
|
|
{
|
2006-04-28 15:26:51 -07:00
|
|
|
gimp_plug_in_manager_add_menu_branch (gimp->plug_in_manager,
|
2014-07-08 12:09:35 -07:00
|
|
|
plug_in->file, menu_path, menu_name);
|
2005-03-24 08:08:04 -08:00
|
|
|
}
|
|
|
|
|
else
|
2008-04-04 03:53:50 -07:00
|
|
|
{
|
|
|
|
|
success = FALSE;
|
|
|
|
|
}
|
2005-03-24 08:08:04 -08:00
|
|
|
}
|
|
|
|
|
CODE
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2004-05-18 14:19:43 -07:00
|
|
|
sub plugin_icon_register {
|
|
|
|
|
$blurb = "Register an icon for a plug-in procedure.";
|
|
|
|
|
|
|
|
|
|
$help = <<HELP;
|
|
|
|
|
This procedure installs an icon for the given procedure.
|
|
|
|
|
HELP
|
|
|
|
|
|
2006-03-14 13:35:50 -08:00
|
|
|
&mitch_pdb_misc('2004', '2.2');
|
2004-05-18 14:19:43 -07:00
|
|
|
|
|
|
|
|
@inargs = (
|
2007-04-25 07:23:05 -07:00
|
|
|
{ name => 'procedure_name', type => 'string', wrap => 1, non_empty => 1,
|
2004-05-18 14:19:43 -07:00
|
|
|
desc => 'The procedure for which to install the icon' },
|
|
|
|
|
{ name => 'icon_type', type => 'enum GimpIconType',
|
2006-05-18 10:25:15 -07:00
|
|
|
desc => 'The type of the icon' },
|
2004-05-18 14:19:43 -07:00
|
|
|
{ name => 'icon_data', type => 'int8array',
|
2006-03-22 01:58:08 -08:00
|
|
|
desc => "The procedure's icon. The format depends on the
|
|
|
|
|
'icon_type' parameter",
|
2006-03-24 14:49:20 -08:00
|
|
|
array => { name => 'icon_data_length', type => '1 <= int32',
|
2006-05-18 10:25:15 -07:00
|
|
|
desc => "The length of 'icon-data'" } }
|
2004-05-18 14:19:43 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
%invoke = (
|
2006-03-22 01:58:08 -08:00
|
|
|
code => <<'CODE'
|
2004-05-18 14:19:43 -07:00
|
|
|
{
|
2006-05-03 11:05:06 -07:00
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
2006-04-28 15:26:51 -07:00
|
|
|
|
2006-05-02 11:27:31 -07:00
|
|
|
if (plug_in && plug_in->call_mode == GIMP_PLUG_IN_CALL_QUERY)
|
2004-05-18 14:19:43 -07:00
|
|
|
{
|
2006-04-05 01:38:33 -07:00
|
|
|
GimpPlugInProcedure *proc;
|
|
|
|
|
gchar *canonical;
|
2005-08-02 15:52:23 -07:00
|
|
|
|
|
|
|
|
canonical = gimp_canonicalize_identifier (procedure_name);
|
2004-05-18 14:19:43 -07:00
|
|
|
|
2006-04-28 15:26:51 -07:00
|
|
|
proc = gimp_plug_in_procedure_find (plug_in->plug_in_def->procedures,
|
2006-04-05 01:38:33 -07:00
|
|
|
canonical);
|
2005-08-02 15:52:23 -07:00
|
|
|
|
|
|
|
|
g_free (canonical);
|
2004-05-18 14:19:43 -07:00
|
|
|
|
2006-04-05 01:38:33 -07:00
|
|
|
if (proc)
|
|
|
|
|
gimp_plug_in_procedure_set_icon (proc, icon_type,
|
|
|
|
|
icon_data, icon_data_length);
|
2005-05-04 11:53:58 -07:00
|
|
|
else
|
2004-05-18 14:19:43 -07:00
|
|
|
success = FALSE;
|
|
|
|
|
}
|
2004-07-16 07:43:56 -07:00
|
|
|
else
|
2008-04-04 03:53:50 -07:00
|
|
|
{
|
|
|
|
|
success = FALSE;
|
|
|
|
|
}
|
2004-05-18 14:19:43 -07:00
|
|
|
}
|
|
|
|
|
CODE
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2008-08-18 15:54:26 -07:00
|
|
|
sub plugin_set_pdb_error_handler {
|
|
|
|
|
$blurb = "Sets an error handler for procedure calls.";
|
|
|
|
|
|
|
|
|
|
$help = <<HELP;
|
|
|
|
|
This procedure changes the way that errors in procedure calls are
|
|
|
|
|
handled. By default GIMP will raise an error dialog if a procedure
|
|
|
|
|
call made by a plug-in fails. Using this procedure the plug-in can
|
|
|
|
|
change this behavior. If the error handler is set to
|
|
|
|
|
%GIMP_PDB_ERROR_HANDLER_PLUGIN, then the plug-in is responsible for
|
|
|
|
|
calling gimp_get_pdb_error() and handling the error whenever one if
|
|
|
|
|
its procedure calls fails. It can do this by displaying the error
|
|
|
|
|
message or by forwarding it in its own return values.
|
|
|
|
|
HELP
|
|
|
|
|
|
|
|
|
|
&neo_pdb_misc('2008', '2.6');
|
|
|
|
|
|
|
|
|
|
@inargs = (
|
|
|
|
|
{ name => 'handler', type => 'enum GimpPDBErrorHandler',
|
|
|
|
|
desc => "Who is responsible for handling procedure call errors" }
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
%invoke = (
|
|
|
|
|
code => <<'CODE'
|
|
|
|
|
{
|
|
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
|
|
|
|
|
|
|
|
|
if (plug_in)
|
|
|
|
|
{
|
|
|
|
|
gimp_plug_in_set_error_handler (plug_in, handler);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
success = FALSE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
CODE
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sub plugin_get_pdb_error_handler {
|
|
|
|
|
$blurb = "Retrieves the active error handler for procedure calls.";
|
|
|
|
|
|
|
|
|
|
$help = <<HELP;
|
|
|
|
|
This procedure retrieves the currently active error handler for
|
|
|
|
|
procedure calls made by the calling plug-in. See
|
|
|
|
|
gimp_plugin_set_pdb_error_handler() for details.
|
|
|
|
|
HELP
|
|
|
|
|
|
|
|
|
|
&neo_pdb_misc('2008', '2.6');
|
|
|
|
|
|
|
|
|
|
@outargs = (
|
|
|
|
|
{ name => 'handler', type => 'enum GimpPDBErrorHandler',
|
|
|
|
|
desc => "Who is responsible for handling procedure call errors" }
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
%invoke = (
|
|
|
|
|
code => <<'CODE'
|
|
|
|
|
{
|
|
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
|
|
|
|
|
|
|
|
|
if (plug_in)
|
|
|
|
|
{
|
|
|
|
|
handler = gimp_plug_in_get_error_handler (plug_in);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
success = FALSE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
CODE
|
|
|
|
|
);
|
|
|
|
|
}
|
2000-02-23 10:07:53 -08:00
|
|
|
|
2012-04-24 12:45:35 -07:00
|
|
|
sub plugin_enable_precision {
|
|
|
|
|
$blurb = "Switches this plug-in to using the real bit depth of drawables.";
|
|
|
|
|
|
|
|
|
|
$help = <<HELP;
|
|
|
|
|
Switches this plug-in to using the real bit depth of drawables. This
|
|
|
|
|
setting can only be enabled, and not disabled again during the
|
|
|
|
|
lifetime of the plug-in. Using gimp_drawable_get_buffer(),
|
|
|
|
|
gimp_drawable_get_shadow_buffer() or gimp_drawable_get_format() will
|
|
|
|
|
automatically call this function.
|
|
|
|
|
HELP
|
|
|
|
|
|
|
|
|
|
&mitch_pdb_misc('2012', '2.10');
|
|
|
|
|
|
|
|
|
|
%invoke = (
|
|
|
|
|
code => <<'CODE'
|
|
|
|
|
{
|
|
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
|
|
|
|
|
|
|
|
|
if (plug_in)
|
|
|
|
|
{
|
|
|
|
|
gimp_plug_in_enable_precision (plug_in);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
success = FALSE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
CODE
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sub plugin_precision_enabled {
|
|
|
|
|
$blurb = "Whether this plug-in is using the real bit depth of drawables.";
|
|
|
|
|
|
|
|
|
|
$help = <<HELP;
|
|
|
|
|
Returns whether this plug-in is using the real bit depth of drawables,
|
|
|
|
|
which can be more than 8 bits per channel.
|
|
|
|
|
HELP
|
|
|
|
|
|
|
|
|
|
&mitch_pdb_misc('2012', '2.10');
|
|
|
|
|
|
|
|
|
|
@outargs = (
|
|
|
|
|
{ name => 'enabled', type => 'boolean',
|
|
|
|
|
desc => "Whether precision is enabled" }
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
%invoke = (
|
|
|
|
|
code => <<'CODE'
|
|
|
|
|
{
|
|
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
|
|
|
|
|
|
|
|
|
if (plug_in)
|
|
|
|
|
{
|
|
|
|
|
enabled = gimp_plug_in_precision_enabled (plug_in);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
success = FALSE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
CODE
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2006-06-14 01:32:08 -07:00
|
|
|
@headers = qw(<string.h>
|
|
|
|
|
<stdlib.h>
|
|
|
|
|
"libgimpbase/gimpbase.h"
|
|
|
|
|
"core/gimp.h"
|
2006-05-03 11:05:06 -07:00
|
|
|
"plug-in/gimpplugin.h"
|
2007-02-18 17:16:05 -08:00
|
|
|
"plug-in/gimpplugindef.h"
|
2006-04-28 15:26:51 -07:00
|
|
|
"plug-in/gimppluginmanager.h"
|
|
|
|
|
"plug-in/gimppluginmanager-menu-branch.h"
|
|
|
|
|
"plug-in/gimppluginmanager-query.h"
|
2007-02-18 17:16:05 -08:00
|
|
|
"plug-in/gimppluginprocedure.h");
|
2001-11-30 16:14:14 -08:00
|
|
|
|
2004-08-27 13:06:17 -07:00
|
|
|
@procs = qw(plugins_query
|
2008-02-07 09:08:54 -08:00
|
|
|
plugin_domain_register
|
|
|
|
|
plugin_help_register
|
|
|
|
|
plugin_menu_register
|
|
|
|
|
plugin_menu_branch_register
|
2008-08-18 15:54:26 -07:00
|
|
|
plugin_icon_register
|
|
|
|
|
plugin_set_pdb_error_handler
|
2012-04-24 12:45:35 -07:00
|
|
|
plugin_get_pdb_error_handler
|
|
|
|
|
plugin_enable_precision
|
|
|
|
|
plugin_precision_enabled);
|
2006-03-23 13:17:16 -08:00
|
|
|
|
2012-04-24 12:45:35 -07:00
|
|
|
%exports = (app => [@procs], lib => [@procs[1,2,3,4,5,6,7,8,9]]);
|
1999-05-03 12:22:58 -07:00
|
|
|
|
|
|
|
|
$desc = 'Plug-in';
|
2010-07-07 02:43:10 -07:00
|
|
|
$doc_title = 'gimpplugin';
|
2017-04-04 04:09:42 -07:00
|
|
|
$doc_short_desc = 'Functions useful for plug-ins, e.g. registration and progress indicators.';
|
|
|
|
|
$doc_long_desc = 'Functions useful for plug-ins, e.g. registration and progress indicators.';
|
1999-05-03 12:22:58 -07:00
|
|
|
|
|
|
|
|
1;
|