Gimp::OO man page on Mandriva

Man page or keyword search:  
man Server   17060 pages
apropos Keyword Search (all sections)
Output format
Mandriva logo
[printable version]

OO(3)		      User Contributed Perl Documentation		 OO(3)

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.10.1			  1999-08-02				 OO(3)
[top]

List of man pages available for Mandriva

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net