summaryrefslogtreecommitdiffstats
path: root/pdb/groups/item.pdb
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pdb/groups/item.pdb992
1 files changed, 992 insertions, 0 deletions
diff --git a/pdb/groups/item.pdb b/pdb/groups/item.pdb
new file mode 100644
index 0000000..37f2e11
--- /dev/null
+++ b/pdb/groups/item.pdb
@@ -0,0 +1,992 @@
+# 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 item_is_valid {
+ $blurb = 'Returns TRUE if the item is valid.';
+
+ $help = <<'HELP';
+This procedure checks if the given item ID is valid and refers to an
+existing item.
+HELP
+
+ &neo_pdb_misc('2007', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item', no_validate => 1,
+ desc => 'The item to check' }
+ );
+
+ @outargs = (
+ { name => 'valid', type => 'boolean',
+ desc => 'Whether the item ID is valid' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ valid = (GIMP_IS_ITEM (item) &&
+ ! gimp_item_is_removed (GIMP_ITEM (item)));
+}
+CODE
+ );
+}
+
+sub item_get_image {
+ $blurb = "Returns the item's image.";
+
+ $help = "This procedure returns the item's image.";
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'image', type => 'image',
+ desc => "The item's image" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ image = gimp_item_get_image (GIMP_ITEM (item));
+}
+CODE
+ );
+}
+
+sub item_delete {
+ $blurb = 'Delete a item.';
+
+ $help = <<'HELP';
+This procedure deletes the specified item. This must not be done if the
+image containing this item was already deleted or if the item was
+already removed from the image. The only case in which this procedure is
+useful is if you want to get rid of a item which has not yet been
+added to an image.
+HELP
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item to delete' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ if (g_object_is_floating (item))
+ {
+ g_object_ref_sink (item);
+ g_object_unref (item);
+ }
+ else
+ success = FALSE;
+}
+CODE
+ );
+}
+
+sub item_is_drawable {
+ $blurb = 'Returns whether the item is a drawable.';
+
+ $help = <<HELP;
+This procedure returns TRUE if the specified item is a drawable.
+HELP
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'drawable', type => 'boolean',
+ desc => 'TRUE if the item is a drawable, FALSE otherwise' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ drawable = GIMP_IS_DRAWABLE (item);
+}
+CODE
+ );
+}
+
+sub item_is_layer {
+ $blurb = 'Returns whether the item is a layer.';
+
+ $help = <<HELP;
+This procedure returns TRUE if the specified item is a layer.
+HELP
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'layer', type => 'boolean',
+ desc => 'TRUE if the item is a layer, FALSE otherwise' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ layer = GIMP_IS_LAYER (item);
+}
+CODE
+ );
+}
+
+sub item_is_text_layer {
+ $blurb = 'Returns whether the item is a text layer.';
+
+ $help = <<'HELP';
+This procedure returns TRUE if the specified item is a text layer.
+HELP
+
+ &mitch_pdb_misc('2010', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'text_layer', type => 'boolean',
+ desc => 'TRUE if the item is a text layer, FALSE otherwise.' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ text_layer = gimp_item_is_text_layer (item);
+}
+CODE
+ );
+}
+
+sub item_is_channel {
+ $blurb = 'Returns whether the item is a channel.';
+
+ $help = <<HELP;
+This procedure returns TRUE if the specified item is a channel.
+HELP
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'channel', type => 'boolean',
+ desc => 'TRUE if the item is a channel, FALSE otherwise' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ channel = GIMP_IS_CHANNEL (item);
+}
+CODE
+ );
+}
+
+sub item_is_layer_mask {
+ $blurb = 'Returns whether the item is a layer mask.';
+
+ $help = <<HELP;
+This procedure returns TRUE if the specified item is a layer mask.
+HELP
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'layer_mask', type => 'boolean',
+ desc => 'TRUE if the item is a layer mask, FALSE otherwise' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ layer_mask = GIMP_IS_LAYER_MASK (item);
+}
+CODE
+ );
+}
+
+sub item_is_selection {
+ $blurb = 'Returns whether the item is a selection.';
+
+ $help = <<HELP;
+This procedure returns TRUE if the specified item is a selection.
+HELP
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'selection', type => 'boolean',
+ desc => 'TRUE if the item is a selection, FALSE otherwise' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ selection = GIMP_IS_SELECTION (item);
+}
+CODE
+ );
+}
+
+sub item_is_vectors {
+ $blurb = 'Returns whether the item is a vectors.';
+
+ $help = <<HELP;
+This procedure returns TRUE if the specified item is a vectors.
+HELP
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'vectors', type => 'boolean',
+ desc => 'TRUE if the item is a vectors, FALSE otherwise' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ vectors = GIMP_IS_VECTORS (item);
+}
+CODE
+ );
+}
+
+sub item_is_group {
+ $blurb = 'Returns whether the item is a group item.';
+
+ $help = <<HELP;
+This procedure returns TRUE if the specified item is a group item which
+can have children.
+HELP
+
+ &mitch_pdb_misc('2010', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'group', type => 'boolean',
+ desc => 'TRUE if the item is a group, FALSE otherwise' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ group = (gimp_viewable_get_children (GIMP_VIEWABLE (item)) != NULL);
+}
+CODE
+ );
+}
+
+sub item_get_parent {
+ $blurb = "Returns the item's parent item.";
+
+ $help = <<HELP;
+This procedure returns the item's parent item, if any.
+HELP
+
+ &mitch_pdb_misc('2010', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'parent', type => 'item',
+ desc => "The item's parent item" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ parent = gimp_item_get_parent (item);
+}
+CODE
+ );
+}
+
+sub item_get_children {
+ $blurb = "Returns the item's list of children.";
+
+ $help = <<HELP;
+This procedure returns the list of items which are children of the specified
+item. The order is topmost to bottommost.
+HELP
+
+ &mitch_pdb_misc('2010', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'child_ids', type => 'int32array',
+ desc => "The item's list of children",
+ array => { name => 'num_children',
+ desc => "The item's number of children" } }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ GimpContainer *children = gimp_viewable_get_children (GIMP_VIEWABLE (item));
+
+ if (children)
+ {
+ num_children = gimp_container_get_n_children (children);
+
+ if (num_children)
+ {
+ GList *list;
+ gint i;
+
+ child_ids = g_new (gint32, num_children);
+
+ for (list = GIMP_LIST (children)->queue->head, i = 0;
+ list;
+ list = g_list_next (list), i++)
+ {
+ child_ids[i] = gimp_item_get_ID (GIMP_ITEM (list->data));
+ }
+ }
+ }
+ else
+ success = FALSE;
+
+}
+CODE
+ );
+}
+
+sub item_get_expanded {
+ $blurb = 'Returns whether the item is expanded.';
+
+ $help = <<HELP;
+This procedure returns TRUE if the specified item is expanded.
+HELP
+
+ &ell_pdb_misc('2017', '2.10');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'expanded', type => 'boolean',
+ desc => 'TRUE if the item is expanded, FALSE otherwise' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ expanded = gimp_viewable_get_expanded (GIMP_VIEWABLE (item));
+}
+CODE
+ );
+}
+
+sub item_set_expanded {
+ $blurb = 'Sets the expanded state of the item.';
+
+ $help = <<HELP;
+This procedure expands or collapses the item.
+HELP
+
+ &ell_pdb_misc('2017', '2.10');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { name => 'expanded', type => 'boolean',
+ desc => 'TRUE to expand the item, FALSE to collapse the item' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ gimp_viewable_set_expanded (GIMP_VIEWABLE (item), expanded);
+}
+CODE
+ );
+}
+
+sub item_get_name {
+ $blurb = "Get the name of the specified item.";
+
+ $help = "This procedure returns the specified item's name.";
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'name', type => 'string',
+ desc => "The item name" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ name = g_strdup (gimp_object_get_name (item));
+}
+CODE
+ );
+}
+
+sub item_set_name {
+ $blurb = "Set the name of the specified item.";
+
+ $help = "This procedure sets the specified item's name.";
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { name => 'name', type => 'string',
+ desc => "The new item name" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ success = gimp_item_rename (GIMP_ITEM (item), name, error);
+}
+CODE
+ );
+}
+
+sub item_get_visible {
+ $blurb = "Get the visibility of the specified item.";
+
+ $help = "This procedure returns the specified item's visibility.";
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'visible', type => 'boolean',
+ desc => "The item visibility" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ visible = gimp_item_get_visible (GIMP_ITEM (item));
+}
+CODE
+ );
+}
+
+sub item_set_visible {
+ $blurb = "Set the visibility of the specified item.";
+
+ $help = "This procedure sets the specified item's visibility.";
+
+ &std_pdb_misc;
+ $since = '2.8';
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { name => 'visible', type => 'boolean',
+ desc => "The new item visibility" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ gimp_item_set_visible (GIMP_ITEM (item), visible, TRUE);
+}
+CODE
+ );
+}
+
+sub item_get_linked {
+ $blurb = "Get the linked state of the specified item.";
+
+ $help = "This procedure returns the specified item's linked state.";
+
+ &wolfgang_pdb_misc('1998', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'linked', type => 'boolean',
+ desc => "The item linked state (for moves)" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ linked = gimp_item_get_linked (GIMP_ITEM (item));
+}
+CODE
+ );
+}
+
+sub item_set_linked {
+ $blurb = "Set the linked state of the specified item.";
+
+ $help = "This procedure sets the specified item's linked state.";
+
+ &wolfgang_pdb_misc('1998', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { name => 'linked', type => 'boolean',
+ desc => "The new item linked state" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ gimp_item_set_linked (GIMP_ITEM (item), linked, TRUE);
+}
+CODE
+ );
+}
+
+sub item_get_lock_content {
+ $blurb = "Get the 'lock content' state of the specified item.";
+
+ $help = "This procedure returns the specified item's lock content state.";
+
+ &mitch_pdb_misc('2009', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'lock_content', type => 'boolean',
+ desc => "Whether the item's contents are locked" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ lock_content = gimp_item_get_lock_content (GIMP_ITEM (item));
+}
+CODE
+ );
+}
+
+sub item_set_lock_content {
+ $blurb = "Set the 'lock content' state of the specified item.";
+
+ $help = "This procedure sets the specified item's lock content state.";
+
+ &mitch_pdb_misc('2009', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { name => 'lock_content', type => 'boolean',
+ desc => "The new item 'lock content' state" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ if (gimp_item_can_lock_content (GIMP_ITEM (item)))
+ gimp_item_set_lock_content (GIMP_ITEM (item), lock_content, TRUE);
+ else
+ success = FALSE;
+}
+CODE
+ );
+}
+
+sub item_get_lock_position {
+ $blurb = "Get the 'lock position' state of the specified item.";
+
+ $help = "This procedure returns the specified item's lock position state.";
+
+ &mitch_pdb_misc('2012', '2.10');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'lock_position', type => 'boolean',
+ desc => "Whether the item's position is locked" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ lock_position = gimp_item_get_lock_position (GIMP_ITEM (item));
+}
+CODE
+ );
+}
+
+sub item_set_lock_position {
+ $blurb = "Set the 'lock position' state of the specified item.";
+
+ $help = "This procedure sets the specified item's lock position state.";
+
+ &mitch_pdb_misc('2009', '2.10');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { name => 'lock_position', type => 'boolean',
+ desc => "The new item 'lock position' state" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ if (gimp_item_can_lock_position (GIMP_ITEM (item)))
+ gimp_item_set_lock_position (GIMP_ITEM (item), lock_position, TRUE);
+ else
+ success = FALSE;
+}
+CODE
+ );
+}
+
+sub item_get_color_tag {
+ $blurb = "Get the color tag of the specified item.";
+
+ $help = "This procedure returns the specified item's color tag.";
+
+ &mitch_pdb_misc('2016', '2.10');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'color_tag', type => 'enum GimpColorTag',
+ desc => "The item's color tag" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ color_tag = gimp_item_get_color_tag (GIMP_ITEM (item));
+}
+CODE
+ );
+}
+
+sub item_set_color_tag {
+ $blurb = "Set the color tag of the specified item.";
+
+ $help = "This procedure sets the specified item's color tag.";
+
+ &mitch_pdb_misc('2016', '2.10');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { name => 'color_tag', type => 'enum GimpColorTag',
+ desc => "The new item color tag" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ gimp_item_set_color_tag (GIMP_ITEM (item), color_tag, TRUE);
+}
+CODE
+ );
+}
+
+sub item_get_tattoo {
+ $blurb = "Get the tattoo of the specified item.";
+
+ $help = <<'HELP';
+This procedure returns the specified item's tattoo. A tattoo is a
+unique and permanent identifier attached to a item that can be
+used to uniquely identify a item within an image even between
+sessions.
+HELP
+
+ &jay_pdb_misc('1998', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'tattoo', type => 'tattoo',
+ desc => "The item tattoo" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ tattoo = gimp_item_get_tattoo (GIMP_ITEM (item));
+}
+CODE
+ );
+}
+
+sub item_set_tattoo {
+ $blurb = "Set the tattoo of the specified item.";
+
+ $help = <<'HELP';
+This procedure sets the specified item's tattoo. A tattoo is a
+unique and permanent identifier attached to a item that can be
+used to uniquely identify a item within an image even between
+sessions.
+HELP
+
+ &jay_pdb_misc('1998', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { name => 'tattoo', type => 'tattoo',
+ desc => "The new item tattoo" }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ gimp_item_set_tattoo (GIMP_ITEM (item), tattoo);
+}
+CODE
+ );
+}
+
+sub item_attach_parasite {
+ $blurb = 'Add a parasite to an item.';
+
+ $help = <<'HELP';
+This procedure attaches a parasite to an item. It has no return values.
+HELP
+
+ &jay_pdb_misc('1998', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { name => 'parasite', type => 'parasite',
+ desc => 'The parasite to attach to the item' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ if (gimp_item_parasite_validate (item, parasite, error))
+ gimp_item_parasite_attach (item, parasite, TRUE);
+ else
+ success = FALSE;
+}
+CODE
+ );
+}
+
+sub item_detach_parasite {
+ $blurb = 'Removes a parasite from an item.';
+
+ $help = <<'HELP';
+This procedure detaches a parasite from an item. It has no return values.
+HELP
+
+ &jay_pdb_misc('1998', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { name => 'name', type => 'string',
+ desc => 'The name of the parasite to detach from the item.' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ gimp_item_parasite_detach (item, name, TRUE);
+}
+CODE
+ );
+}
+
+sub item_get_parasite {
+ $blurb = 'Look up a parasite in an item';
+
+ $help = <<'HELP';
+Finds and returns the parasite that is attached to an item.
+HELP
+
+ &jay_pdb_misc('1998', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' },
+ { 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_item_parasite_find (item, name));
+
+ if (! parasite)
+ success = FALSE;
+}
+CODE
+ );
+}
+
+sub item_get_parasite_list {
+ $blurb = 'List all parasites.';
+ $help = 'Returns a list of all parasites currently attached the an item.';
+
+ &marc_pdb_misc('1999', '2.8');
+
+ @inargs = (
+ { name => 'item', type => 'item',
+ desc => 'The item' }
+ );
+
+ @outargs = (
+ { name => 'parasites', type => 'stringarray',
+ desc => 'The names of currently attached parasites',
+ array => { desc => 'The number of attached parasites' } }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ parasites = gimp_item_parasite_list (item, &num_parasites);
+}
+CODE
+ );
+}
+
+@headers = qw("core/gimplayermask.h"
+ "core/gimplist.h"
+ "core/gimpselection.h"
+ "text/gimptextlayer.h"
+ "vectors/gimpvectors.h"
+ "gimppdb-utils.h"
+ "gimppdbcontext.h"
+ "gimp-intl.h");
+
+@procs = qw(item_is_valid
+ item_get_image
+ item_delete
+ item_is_drawable
+ item_is_layer
+ item_is_text_layer
+ item_is_channel
+ item_is_layer_mask
+ item_is_selection
+ item_is_vectors
+ item_is_group
+ item_get_parent
+ item_get_children
+ item_get_expanded item_set_expanded
+ item_get_name item_set_name
+ item_get_visible item_set_visible
+ item_get_linked item_set_linked
+ item_get_lock_content item_set_lock_content
+ item_get_lock_position item_set_lock_position
+ item_get_color_tag item_set_color_tag
+ item_get_tattoo item_set_tattoo
+ item_attach_parasite item_detach_parasite
+ item_get_parasite
+ item_get_parasite_list);
+
+%exports = (app => [@procs], lib => [@procs]);
+
+$desc = 'Item procedures';
+$doc_title = 'gimpitem';
+$doc_short_desc = 'Functions to manipulate items.';
+$doc_long_desc = 'Functions to manipulate items.';
+
+1;