# The GIMP -- an 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 2 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, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # "Perlized" from C source by Manish Singh sub mitch_misc { $author = 'Michael Natterer '; $copyright = 'Michael Natterer'; $date = '2004'; $since = '2.2'; } sub pattern_arg () {{ name => 'name', type => 'string', desc => 'The pattern name.' }} # The defs sub pattern_get_info { $blurb = 'Retrieve information about the specified pattern.'; $help = <<'HELP'; This procedure retrieves information about the specified pattern. This includes the pattern extents (width and height). HELP &mitch_misc; @inargs = ( &pattern_arg ); @outargs = ( { name => 'width', type => 'int32', no_declare => '1', alias => 'pattern->mask->width', void_ret => '1', desc => "The pattern width" }, { name => 'height', type => 'int32', no_declare => '1', alias => 'pattern->mask->height', desc => "The pattern height" }, { name => 'bpp', type => 'int32', no_declare => '1', alias => 'pattern->mask->bytes', desc => "The pattern bpp" } ); %invoke = ( vars => [ 'GimpPattern *pattern = NULL' ], code => <<'CODE' { pattern = (GimpPattern *) gimp_container_get_child_by_name (gimp->pattern_factory->container, name); success = (pattern != NULL); } CODE ); } sub pattern_get_pixels { $blurb = <<'BLURB'; Retrieve information about the specified pattern (including pixels). BLURB $help = <<'HELP'; This procedure retrieves information about the specified. This includes the pattern extents (width and height), its bpp and its pixel data. HELP &mitch_misc; @inargs = ( &pattern_arg ); @outargs = ( { name => 'width', type => 'int32', no_declare => '1', alias => 'pattern->mask->width', void_ret => '1', desc => "The pattern width" }, { name => 'height', type => 'int32', no_declare => '1', alias => 'pattern->mask->height', desc => "The pattern height" }, { name => 'bpp', type => 'int32', no_declare => '1', alias => 'pattern->mask->bytes', desc => "The pattern bpp" }, { name => 'color_bytes', type => 'int8array', init => 1, desc => 'The pattern data.', array => { init => 1, desc => 'Number of pattern bytes' } } ); %invoke = ( vars => [ 'GimpPattern *pattern = NULL' ], code => <<'CODE' { pattern = (GimpPattern *) gimp_container_get_child_by_name (gimp->pattern_factory->container, name); if (pattern) { num_color_bytes = pattern->mask->height * pattern->mask->width * pattern->mask->bytes; color_bytes = g_memdup (temp_buf_data (pattern->mask), num_color_bytes); } else success = FALSE; } CODE ); } @headers = qw( "base/temp-buf.h" "core/gimp.h" "core/gimpcontext.h" "core/gimplist.h" "core/gimpdatafactory.h" "core/gimppattern.h" ); @procs = qw(pattern_get_info pattern_get_pixels); %exports = (app => [@procs], lib => [@procs]); $desc = 'Pattern'; 1;