see plug-ins/perl/Changes

This commit is contained in:
Marc Lehmann 2000-01-04 19:23:14 +00:00
parent e8914730c6
commit b1c8deb483
13 changed files with 37 additions and 29 deletions

View File

@ -40,6 +40,7 @@ Revision history for Gimp-Perl extension.
- updated logulator from scheme sources. oh yeah :( - updated logulator from scheme sources. oh yeah :(
- Net.xs didn't compile without PDL. - Net.xs didn't compile without PDL.
- applied (but did not test) UI patch by Sven. - applied (but did not test) UI patch by Sven.
- fixed stupid non-ansi errors in Gimp/Lib.xs.
1.17 Wed Nov 24 21:25:19 CET 1999 1.17 Wed Nov 24 21:25:19 CET 1999
- re-fitted i18n translation for most plug-ins. - re-fitted i18n translation for most plug-ins.

View File

@ -995,9 +995,13 @@ convert_sv2gimp (char *croak_str, GParam *arg, SV *sv)
AV *av = (AV *)SvRV(sv); AV *av = (AV *)SvRV(sv);
if (av_len(av) == 2) if (av_len(av) == 2)
{ {
STRLEN size;
arg->data.d_parasite.name = SvPv(*av_fetch(av, 0, 0)); arg->data.d_parasite.name = SvPv(*av_fetch(av, 0, 0));
arg->data.d_parasite.flags = SvIV(*av_fetch(av, 1, 0)); arg->data.d_parasite.flags = SvIV(*av_fetch(av, 1, 0));
arg->data.d_parasite.data = SvPV(*av_fetch(av, 2, 0), arg->data.d_parasite.size); arg->data.d_parasite.data = SvPV(*av_fetch(av, 2, 0), size);
arg->data.d_parasite.size = size;
} }
else else
sprintf (croak_str, __("illegal parasite specification, expected three array members")); sprintf (croak_str, __("illegal parasite specification, expected three array members"));
@ -1962,7 +1966,7 @@ gimp_pixel_rgn_get_row2(pr, x, y, width)
int width int width
CODE: CODE:
RETVAL = newSVn (width * pr->bpp); RETVAL = newSVn (width * pr->bpp);
gimp_pixel_rgn_get_row (pr, SvPV_nolen(RETVAL), x, y, width); gimp_pixel_rgn_get_row (pr, (guchar *)SvPV_nolen(RETVAL), x, y, width);
OUTPUT: OUTPUT:
RETVAL RETVAL
@ -1975,7 +1979,7 @@ gimp_pixel_rgn_get_rect2(pr, x, y, width, height)
int height int height
CODE: CODE:
RETVAL = newSVn (width * height * pr->bpp); RETVAL = newSVn (width * height * pr->bpp);
gimp_pixel_rgn_get_rect (pr, SvPV_nolen(RETVAL), x, y, width, height); gimp_pixel_rgn_get_rect (pr, (guchar *)SvPV_nolen(RETVAL), x, y, width, height);
OUTPUT: OUTPUT:
RETVAL RETVAL
@ -1988,7 +1992,7 @@ gimp_pixel_rgn_set_rect2(pr, data, x, y, w=pr->w)
int w int w
CODE: CODE:
{ {
STRLEN dlen; char *dta = SvPV (data, dlen); STRLEN dlen; guchar *dta = (guchar *)SvPV (data, dlen);
gimp_pixel_rgn_set_rect (pr, dta, x, y, w, dlen / (w*pr->bpp)); gimp_pixel_rgn_set_rect (pr, dta, x, y, w, dlen / (w*pr->bpp));
} }
@ -2113,8 +2117,8 @@ gimp_pixel_rgn_data(pr,newdata=0)
CODE: CODE:
if (newdata) if (newdata)
{ {
char *src; guchar *src;
char *dst; guchar *dst;
int y, stride; int y, stride;
old_pdl (&newdata, 2, pr->bpp); old_pdl (&newdata, 2, pr->bpp);
@ -2223,11 +2227,11 @@ gimp_patterns_get_pattern_data(name)
{ {
EXTEND (SP, 5); EXTEND (SP, 5);
PUSHs (sv_2mortal (newSVpv (return_vals[1].data.d_string, 0))); PUSHs (sv_2mortal (newSVpv ( return_vals[1].data.d_string, 0)));
PUSHs (sv_2mortal (newSViv (return_vals[2].data.d_int32))); PUSHs (sv_2mortal (newSViv ( return_vals[2].data.d_int32)));
PUSHs (sv_2mortal (newSViv (return_vals[3].data.d_int32))); PUSHs (sv_2mortal (newSViv ( return_vals[3].data.d_int32)));
PUSHs (sv_2mortal (newSViv (return_vals[4].data.d_int32))); PUSHs (sv_2mortal (newSViv ( return_vals[4].data.d_int32)));
PUSHs (sv_2mortal (newSVpvn(return_vals[6].data.d_int8array, return_vals[5].data.d_int32))); PUSHs (sv_2mortal (newSVpvn((char *)return_vals[6].data.d_int8array, return_vals[5].data.d_int32)));
} }
gimp_destroy_params (return_vals, nreturn_vals); gimp_destroy_params (return_vals, nreturn_vals);

View File

@ -3,7 +3,7 @@
# Blow In/Out # Blow In/Out
# John Pitney # John Pitney
use Gimp 1.06; use Gimp qw(:auto __ N_);
use Gimp::Fu; use Gimp::Fu;
# print "hello there\n"; # print "hello there\n";
@ -44,11 +44,11 @@ sub blowinout {
$i * $distance / $nsteps * sin($angle * 3.14159 / 180) : $i * $distance / $nsteps * sin($angle * 3.14159 / 180) :
$distance ** ($i/$nsteps) * sin($angle * 3.14159 / 180); $distance ** ($i/$nsteps) * sin($angle * 3.14159 / 180);
gimp_edit_clear($dmlayer); gimp_edit_clear($dmlayer);
plug_in_noisify(1, $dm, $dmlayer, 0, 255, 255, 255, 0); plug_in_noisify($dm, $dmlayer, 0, 255, 255, 255, 0);
gimp_levels($dmlayer, 0, 0, 255, 1.0, 128, 255); gimp_levels($dmlayer, 0, 0, 255, 1.0, 128, 255);
$drawable = gimp_layer_copy($drawable, 0); $drawable = gimp_layer_copy($drawable, 0);
gimp_image_add_layer($img, $drawable, -1); gimp_image_add_layer($img, $drawable, -1);
plug_in_displace(1, $img, $drawable, $xdist, $ydist, 1, 1, $dmlayer, plug_in_displace($img, $drawable, $xdist, $ydist, 1, 1, $dmlayer,
$dmlayer, 1); $dmlayer, 1);
if ( $inmode == 1 ) if ( $inmode == 1 )
{ {
@ -62,11 +62,11 @@ sub blowinout {
$i * $distance / $nsteps * sin($angle * 3.14159 / 180) : $i * $distance / $nsteps * sin($angle * 3.14159 / 180) :
$distance ** ($i/$nsteps) * sin($angle * 3.14159 / 180); $distance ** ($i/$nsteps) * sin($angle * 3.14159 / 180);
gimp_edit_clear($dmlayer); gimp_edit_clear($dmlayer);
plug_in_noisify(1, $dm, $dmlayer, 0, 255, 255, 255, 0); plug_in_noisify($dm, $dmlayer, 0, 255, 255, 255, 0);
gimp_levels($dmlayer, 0, 0, 255, 1.0, 128, 255); gimp_levels($dmlayer, 0, 0, 255, 1.0, 128, 255);
$drawable = gimp_layer_copy($drawable, 0); $drawable = gimp_layer_copy($drawable, 0);
gimp_image_add_layer($img, $drawable, -1); gimp_image_add_layer($img, $drawable, -1);
plug_in_displace(1, $img, $drawable, $xdist, $ydist, 1, 1, $dmlayer, plug_in_displace($img, $drawable, $xdist, $ydist, 1, 1, $dmlayer,
$dmlayer, 1); $dmlayer, 1);
if ( $inmode == 1 ) if ( $inmode == 1 )
{ {

View File

@ -37,7 +37,7 @@ register "plug_in_ditherize",
sub { sub {
my($image,$drawable,$dither,$colours)=@_; my($image,$drawable,$dither,$colours)=@_;
Gimp::set_trace(-1); # Gimp::set_trace(-1);
$drawable->is_layer or die "this plug-in only works for layers"; $drawable->is_layer or die "this plug-in only works for layers";

View File

@ -13,7 +13,7 @@ register "layer_apply",
"*", "*",
[ [
[PF_TEXT, "expr", "the perl expression to run for each layer", [PF_TEXT, "expr", "the perl expression to run for each layer",
'$d->gauss_rle($P*100,1,1)'], '$d->gauss_rle($P*100+1,1,1)'],
[PF_DRAWABLE, "drawable2", "an optional extra drawable for use by the code"], [PF_DRAWABLE, "drawable2", "an optional extra drawable for use by the code"],
], ],
[], [],

View File

@ -76,7 +76,9 @@ register "guide_grid",
## ##
#$img->selection_all(); #$img->selection_all();
#$img->selection_none(); #$img->selection_none();
$layer->update(0, 0, $img->height, $img->width);
return(); return();
}; };
exit main; exit main;

View File

@ -7,7 +7,7 @@
# working btw). You can follow step by step with the website at # working btw). You can follow step by step with the website at
# http://tigert.gimp.org/gimp/tutorials/beveled_text/ # http://tigert.gimp.org/gimp/tutorials/beveled_text/
use Gimp; use Gimp qw(:auto __ N_);
use Gimp::Fu; use Gimp::Fu;
use Gimp::Util; use Gimp::Util;

View File

@ -53,7 +53,7 @@ EOF
my($image,$drawable)=(shift,shift); my($image,$drawable)=(shift,shift);
$drawable->has_alpha or die "It makes no sense to call $menupath with a drawable lacking alpha!\n"; $drawable->has_alpha or die "It makes no sense to call $menupath with a drawable lacking alpha!\n";
$i=0; $i=0;
while($i<@_) { while($i<=@_) {
if($i==$ti) { if($i==$ti) {
splice @_,$i,0,"-- Text --"; splice @_,$i,0,"-- Text --";
} elsif ($i==$fsi) { } elsif ($i==$fsi) {

View File

@ -240,7 +240,7 @@ sub create_main {
$attach_func = sub { shift->parasite_attach (shift) }; $attach_func = sub { shift->parasite_attach (shift) };
$detach_func = sub { shift->parasite_detach (shift) }; $detach_func = sub { shift->parasite_detach (shift) };
&$set_submenu(map [$_,$_->image->get_filename." / " &$set_submenu(map [$_,$_->image->get_filename." / "
.($_->layer ? $_->layer_get_name : $_->channel_get_name)], .($_->is_layer ? $_->layer_get_name : $_->channel_get_name)],
map (($_->get_layers,$_->get_channels),Gimp->image_list)); map (($_->get_layers,$_->get_channels),Gimp->image_list));
}); });
$menu->append($item); $menu->append($item);

View File

@ -3,7 +3,7 @@
# This is adrian's idea - take random blends and difference them. You're # This is adrian's idea - take random blends and difference them. You're
# bound to come up w/ something cool eventually. # bound to come up w/ something cool eventually.
use Gimp; use Gimp qw(:auto __ N_);
use Gimp::Fu; use Gimp::Fu;
use Gimp::Util; use Gimp::Util;

View File

@ -26,7 +26,7 @@
#[terral] input levels of 0, .24, 113 [22:11] #[terral] input levels of 0, .24, 113 [22:11]
#[terral] --end of script [22:12] #[terral] --end of script [22:12]
use Gimp 1.06; use Gimp qw(:auto __ N_);
use Gimp::Fu; use Gimp::Fu;
use Gimp::Util; use Gimp::Util;

View File

@ -3,7 +3,7 @@
# sent to me by Seth Burgess <sjburges@gimp.org> # sent to me by Seth Burgess <sjburges@gimp.org>
# small changes my Marc Lehmann <pcg@goof.com> # small changes my Marc Lehmann <pcg@goof.com>
use Gimp; use Gimp qw(:auto __ N_);
use Gimp::Fu; use Gimp::Fu;
#Gimp::set_trace(TRACE_CALL); #Gimp::set_trace(TRACE_CALL);
@ -21,11 +21,11 @@ sub windify {
gimp_image_add_layer($out,$windlayer,0); gimp_image_add_layer($out,$windlayer,0);
my $windlayercopy = gimp_layer_copy($windlayer, 1); my $windlayercopy = gimp_layer_copy($windlayer, 1);
gimp_image_add_layer($out,$windlayercopy,0); gimp_image_add_layer($out,$windlayercopy,0);
plug_in_noisify(1,$out,$windlayercopy,0,$density/255, plug_in_noisify($out,$windlayercopy,0,$density/255,
$density/255, $density/255,
$density/255,1); $density/255,1);
plug_in_mblur(1,$out,$windlayercopy,0,15,$angle); plug_in_mblur($out,$windlayercopy,0,15,$angle);
gimp_layer_set_mode($windlayercopy, 10); # Lighten Only gimp_layer_set_mode($windlayercopy, 10); # Lighten Only
gimp_image_merge_visible_layers($out,0); gimp_image_merge_visible_layers($out,0);
@ -33,7 +33,7 @@ sub windify {
# gimp_image_merge_visible_layers bug # gimp_image_merge_visible_layers bug
my $newlay = gimp_image_get_active_layer ($out); my $newlay = gimp_image_get_active_layer ($out);
plug_in_displace(1,$img,$drawable,-$distance*cos($angle*180/3.14159), plug_in_displace($img,$drawable,-$distance*cos($angle*180/3.14159),
$distance*sin($angle*180/3.14159), $distance*sin($angle*180/3.14159),
1,1, $newlay,$newlay, $wrap); 1,1, $newlay,$newlay, $wrap);
gimp_image_remove_layer($out,$newlay); gimp_image_remove_layer($out,$newlay);

View File

@ -41,7 +41,8 @@ register "xachvision",
$midlayer->plug_in_noisify(1,$amt, $amt, $amt, $amt); $midlayer->plug_in_noisify(1,$amt, $amt, $amt, $amt);
$midmask = $midlayer->create_mask(0); $midmask = $midlayer->create_mask(0);
$img->add_layer_mask($midlayer, $midmask); $img->add_layer_mask($midlayer, $midmask);
$midmask->plug_in_grid($img->height * 3, 3, 0, 0); $midmask->plug_in_grid(1,$img->height * 3,0,[0,0,0],255, 1,3,0,[0,0,0],255,
0,0,0,[0,0,0],255 );
$midmask->plug_in_gauss_iir(1.01, 1, 1); $midmask->plug_in_gauss_iir(1.01, 1, 1);
gimp_palette_set_background($oldbackground); gimp_palette_set_background($oldbackground);