Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

gimp::data(3) [redhat man page]

Data(3) 						User Contributed Perl Documentation						   Data(3)

NAME
Gimp::Data - Set and get state data. SYNOPSIS
use Gimp::Data; $Gimp::Data{'value1'} = "Hello"; print $Gimp::Data{'value1'},", World!! "; DESCRIPTION
With this module, you can access plugin-specific (or global) data in Gimp, i.e. you can store and retrieve values that are stored in the main Gimp application. An example would be to save parameter values in Gimp, so that on subsequent invocations of your plug-in, the user does not have to set all parameter values again (Gimp::Fu does this already). %Gimp::Data You can store and retrieve anything you like in this hash. It's contents will automatically be stored in Gimp, and can be accessed in later invocations of your plug-in. Be aware that other plug-ins store data in the same "hash", so better prefix your key with something unique, like your plug-in's name. As an example, the Gimp::Fu module uses "function_name/_fu_data" to store its data. This module might use a persistant implementation, i.e. your data might survive a restart of the Gimp application, but you cannot count on this. "Gimp::Data" will try to freeze your data when you pass in a reference. On retrieval, the data is thawed again. See Storable for more info. This might be implemented through either Storable or Data::Dumper, or not implemented at all (i.e. silently fail) ;) PERSISTANCE
"Gimp::Data" contains the following functions to ease applications where persistence for perl data structures is required: Gimp::Data::freeze(reference) Freeze (serialize) the reference. Gimp::Data::thaw(data) Thaw (unserialize) the dsata and return the original reference. LIMITATIONS
You cannot store references, and you cannot (yet) iterate through the keys (with "keys", "values" or "each"). AUTHOR
Marc Lehmann <pcg@goof.com> SEE ALSO
perl(1), Gimp. perl v5.8.0 2001-12-06 Data(3)

Check Out this Related Man Page

OO(1)							User Contributed Perl Documentation						     OO(1)

NAME
Gimp::OO - Pseudo-OO for Gimp functions. SYNOPSIS
use Gimp; # Gimp::OO is now part of Gimp. DESCRIPTION
As you might have noticed, you can sort most gimp functions fall into three groups, depending on the name-prefix: "gimp_", "plug_in_", "extension_" etc.. Whats more, there are functions groups like "gimp_image_" or "gimp_selection_", operating on a common object, Images and Selection in this case. If you only had the plain syntax, your scripts would quickly aquire the "vertical gimp syndrome": gimp_palette_set_foreground(...) gimp_layer_new(...) gimp_palette_set_background(...) gimp_image_add_layer(...) etc. Of course, your fingers will suffer from severe injuries as well. A solution to this situation is to use OO-syntax. Gimp plays some (very) dirty tricks and provides a number of classes, like "Gimp::Image" and "Gimp::Palette" that allow shorter identifiers to be used (all these appear with the "Gimp::" prefix as well as without, i.e. "Gimp::Palette" is the same class as "Palette"). If you call a method, "Gimp" tries to find a gimp function by prepending a number of prefixes until it finds a valid function: $image = Gimp->image_new(...); # calls gimp_image_new(...) $image = Image->new(...); # calls gimp_image_new as well $image = new Image(...); # the same in green Palette->set_foreground(...) # calls gimp_palette_set_foreground(..) Return values from functions are automatically blessed (through The Magic Autobless feature ;) to their corresponding classes, i.e. $image = new Image(...); # $image is now blessed to Gimp::Image $image->height; # calls gimp_image_height($image) $image->flatten; # likewise gimp_flatten($image) $image->histogram(...); # calls gimp_histogram($image,...), since # gimp_image_histogram does not exist The class argument ($image in the above examples) is prepended to the argument list. Another shortcut: many functions want a (redundant) image argument, like $image->shear ($layer, ...) Since all you want is to shear the $layer, not the $image, this is confusing as well. In cases like this, Gimp allows you to write: $layer->shear (...) And automatically infers the additional IMAGE-type argument. As the (currently) last goodie, if the first argument is of type INT32, its name is "run_mode" and there are no other ambiguties, you can omit it, i.e. these three calls are equivalent: plug_in_gauss_rle (RUN_NONINTERACTIVE, $image, $layer, 8, 1, 1); plug_in_gauss_rle ($image, $layer, 8, 1, 1); plug_in_gauss_rle ($layer, 8, 1, 1); You can call all sorts of sensible and not-so-sensible functions, so this feature can be abused: patterns_list Image; # will call gimp_patterns_list quit Plugin; # will quit the Gimp, not an Plugin. there is no image involved here whatsoever... AVAILABLE CLASSES
The following classes (with and without Gimp::) are available. The prefixes that are checked are shown as well (the null prefix "" is implicit). Gimp (there is no Gimp::Gimp, only Gimp::) gimp_ Layer gimp_layer_ gimp_drawable_ gimp_floating_sel_ gimp_image_ gimp_ plug_in_ perl_fu_ Image gimp_image_ gimp_drawable_ gimp_ plug_in_ perl_fu_ Drawable gimp_drawable_ gimp_layer_ gimp_image_ gimp_ plug_in_ perl_fu_ Selection gimp_selection_ Channel gimp_channel_ gimp_drawable_ gimp_selection_ gimp_image_ gimp_ plug_in_ perl_fu_ Display gimp_display_ gimp_ Palette gimp_palette_ Plugin plug_in_ Gradients gimp_gradients_ Edit gimp_edit_ Progress gimp_progress_ Region (none except the implicit null prefix) Tile gimp_tile_ PixelRgn gimp_pixel_rgn_ GDrawable gimp_gdrawable_ Brushes gimp_brushes_ Patterns gimp_patterns_ AUTHOR
Marc Lehmann <pcg@goof.com> SEE ALSO
perl(1), Gimp. perl v5.8.0 1999-08-02 OO(1)
Man Page