forked from openkylin/gimp
245 lines
5.1 KiB
Plaintext
245 lines
5.1 KiB
Plaintext
# 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 <https://www.gnu.org/licenses/>.
|
|
|
|
# "Perlized" from C source by Manish Singh <yosh@gimp.org>
|
|
|
|
sub version {
|
|
$blurb = 'Returns the host GIMP version.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the version number of the currently running GIMP.
|
|
HELP
|
|
|
|
&yosh_pdb_misc('1999');
|
|
|
|
@outargs = (
|
|
{ name => 'version', type => 'string',
|
|
desc => 'GIMP version number' }
|
|
);
|
|
|
|
%invoke = (
|
|
headers => [ qw("libgimpbase/gimpbase.h") ],
|
|
code => <<'CODE'
|
|
{
|
|
version = g_strdup (GIMP_VERSION);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub getpid {
|
|
$blurb = 'Returns the PID of the host GIMP process.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure returns the process ID of the currently running GIMP.
|
|
HELP
|
|
|
|
&mitch_pdb_misc('2005', '2.4');
|
|
|
|
@outargs = (
|
|
{ name => 'pid', type => 'int32',
|
|
desc => 'The PID' }
|
|
);
|
|
|
|
%invoke = (
|
|
headers => [ qw("core/gimp-utils.h") ],
|
|
code => <<'CODE'
|
|
{
|
|
pid = gimp_get_pid ();
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub quit {
|
|
$blurb = 'Causes GIMP to exit gracefully.';
|
|
|
|
$help = <<'HELP';
|
|
If there are unsaved images in an interactive GIMP session, the user
|
|
will be asked for confirmation. If force is TRUE, the application is
|
|
quit without querying the user to save any dirty images.
|
|
HELP
|
|
|
|
&std_pdb_misc;
|
|
|
|
@inargs = (
|
|
{ name => 'force', type => 'boolean',
|
|
desc => 'Force GIMP to quit without asking' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_exit (gimp, force);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub attach_parasite {
|
|
$blurb = 'Add a global parasite.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure attaches a global parasite. It has no return values.
|
|
HELP
|
|
|
|
&jay_pdb_misc('1998', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'parasite', type => 'parasite',
|
|
desc => 'The parasite to attach' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
if (gimp_parasite_validate (gimp, parasite, error))
|
|
gimp_parasite_attach (gimp, parasite);
|
|
else
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub detach_parasite {
|
|
$blurb = 'Removes a global parasite.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure detaches a global parasite from. It has no return values.
|
|
HELP
|
|
|
|
&jay_pdb_misc('1998', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'name', type => 'string',
|
|
desc => 'The name of the parasite to detach.' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
gimp_parasite_detach (gimp, name);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub get_parasite {
|
|
$blurb = 'Look up a global parasite.';
|
|
|
|
$help = <<'HELP';
|
|
Finds and returns the global parasite that was previously attached.
|
|
HELP
|
|
|
|
&jay_pdb_misc('1998', '2.8');
|
|
|
|
@inargs = (
|
|
{ name => 'name', type => 'string',
|
|
desc => 'The name of the parasite to find' }
|
|
);
|
|
|
|
@outargs = (
|
|
{ name => 'parasite', type => 'parasite',
|
|
desc => 'The found parasite' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
parasite = gimp_parasite_copy (gimp_parasite_find (gimp, name));
|
|
|
|
if (! parasite)
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub get_parasite_list {
|
|
$blurb = 'List all parasites.';
|
|
$help = 'Returns a list of all currently attached global parasites.';
|
|
|
|
&marc_pdb_misc('1999', '2.8');
|
|
|
|
@outargs = (
|
|
{ name => 'parasites', type => 'stringarray',
|
|
desc => 'The names of currently attached parasites',
|
|
array => { desc => 'The number of attached parasites' } }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
parasites = gimp_parasite_list (gimp, &num_parasites);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
sub temp_name {
|
|
$blurb = 'Generates a unique filename.';
|
|
|
|
$help = <<'HELP';
|
|
Generates a unique filename using the temp path supplied in the user's gimprc.
|
|
HELP
|
|
|
|
&josh_pdb_misc('1997');
|
|
|
|
@inargs = (
|
|
{ name => 'extension', type => 'string',
|
|
allow_non_utf8 => 1, null_ok => 1,
|
|
desc => 'The extension the file will have' }
|
|
);
|
|
|
|
@outargs = (
|
|
{ name => 'name', type => 'string',
|
|
desc => 'The new temp filename' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
GFile *file = gimp_get_temp_file (gimp, extension);
|
|
|
|
name = g_file_get_path (file);
|
|
|
|
g_object_unref (file);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
|
|
@headers = qw("core/gimp.h"
|
|
"core/gimp-parasites.h");
|
|
|
|
@procs = qw(version
|
|
getpid
|
|
quit
|
|
attach_parasite detach_parasite
|
|
get_parasite
|
|
get_parasite_list
|
|
temp_name);
|
|
|
|
%exports = (app => [@procs], lib => [@procs[0..1,3..7]]);
|
|
|
|
$desc = 'Miscellaneous';
|
|
$doc_title = 'gimp';
|
|
$doc_short_desc = 'Miscellaneous procedures';
|
|
$doc_long_desc = 'Miscellaneous procedures not fitting in any category.';
|
|
|
|
1;
|