summaryrefslogtreecommitdiffstats
path: root/pdb/groups/gimp.pdb
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pdb/groups/gimp.pdb244
1 files changed, 244 insertions, 0 deletions
diff --git a/pdb/groups/gimp.pdb b/pdb/groups/gimp.pdb
new file mode 100644
index 0000000..30492e1
--- /dev/null
+++ b/pdb/groups/gimp.pdb
@@ -0,0 +1,244 @@
+# 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;