Gimp::OO

Gimp::OO is a Perl module with pseudo-OO for Gimp functions.
Download

Gimp::OO Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Marc Lehmann
  • Publisher web site:
  • http://www.goof.com/pcg/marc/

Gimp::OO Tags


Gimp::OO Description

Gimp::OO is a Perl module with pseudo-OO for Gimp functions. Gimp::OO is a Perl module with pseudo-OO for Gimp functions.SYNOPSIS use Gimp; # Gimp::OO is now part of Gimp.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 existThe 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... Requirements: · Perl


Gimp::OO Related Software