#!/usr/bin/perl -w

use Gimp;
use Gimp::Fu;
use strict;
use warnings;

podregister {
  $image->undo_group_start;
  for (; $repeat>0; $repeat--) {
    $drawable = $image->flatten;
    my $copylayer = $drawable->copy(1);
    $image->insert_layer($copylayer,0,0);
    $copylayer->scale($image->width - $offset, $image->height - $offset, 0);
  }
  $image->flatten;
  $image->undo_group_end;
  ();
};

exit main;
__END__

=head1 NAME

feedback - Take an image and feed it back onto itself multiple times

=head1 SYNOPSIS

<Image>/Filters/Noise/Feedback...

=head1 DESCRIPTION

This plug-in simulates video feedback. It makes for kinda a neat desktop
if you're into that sort of thing.

=head1 PARAMETERS

  [PF_SLIDER, "offset", "Amount the frames will offset", 3, [0, 255, 1]],
  [PF_SLIDER, "repeat", "Number of times to repeat the illusion", 3, [0, 100, 1]],

=head1 IMAGE TYPES

RGB, GRAY

=head1 AUTHOR

Seth Burgess <sjburges@gimp.org>

=head1 HISTORY

 Revision 1.0: Released it
          1.1: Marc Lehman added undo capability! <pcg@goof.com>
          1.2: Added my email, and put it in "Noise" where it belongs
                <sjburges@gimp.org>
          1.3: changed undo grouping to be 1.3.24+ compatible

=head1 DATE

2-15-99

=head1 LICENSE

Copyright Seth Burgess.
Distributed under the same terms as Gimp-Perl.
