NAME

seth_spin - Seth Spin

SYNOPSIS

<Image>/Filters/Animation/Seth Spin...

DESCRIPTION

Take one image. Spin it about the horizontal axis, and end up with another image. I made it for easy web buttons.

PARAMETERS

[PF_DRAWABLE, "destination","Drawable to spin to"],
[PF_INT8, "frames", "How many frames to use", 16],
[PF_COLOR, "color", "Color to use for background if not transparent", [0,0,0]],
[PF_SLIDER, "perspective", "How much perspective effect to get", 40, [0,255,5]],
[PF_TOGGLE, "spinback", "Spin back" , 1],
[PF_TOGGLE, "indexed", "Convert to indexed", 1],

RETURN VALUES

[PF_IMAGE, "output","Output image"],

IMAGE TYPES

*

HISTORY

Note: Seth has transferred the maintainer `position' to me, so bother me
instead of him now :-)
      - Steinar H. Gunderson <sgunderson@bigfoot.com>

This one's all mine.  Well, its GPL/Artistic but I'm the author and creator.
You need gimp 1.1 or better for this; too much has changed, and I don't think
1.0.x had a perspective PDB function anyway

Here's the working theory on this:
 There's a function called spinlayer which will spin from a spinlayer to a
 destlayer.  It won't touch those 2 layers at all, and will leave its results
 on the top of the layer stack.

 If the user wants to spin back, it will take 1/2 the layers otherwise required
 per call to the spin_layer, so that the number of total layers comes out the
 same.

 The main function makes a new image, copies the source and destination onto it
 with appropriate offsets, and passes this image with the bottom 2 layers to
 spin_layer.  At the end, remove the original 2 layers, since they won't be
 needed, and add in some Layer comments for timing your gif.

 Many thanks to Steinar and Marc, for expressing an interest in the
 script that kept me going, and to Steinar in particular for helping me
 track down why the script was crashing gimp (hint - don't make layers
 of height=0, and if you do make sure you're logging to console since
 the Gtk messagebox will never show up due to a rapid segfault).

 Just a comment on that: We fixed the bug, so height=0 no longer segfaults, but
 gives the error message it should. However, if GIMP segfaults, you should try
 logging to console to make sure you get all applicable error messages. This
 will make it _much_ easier to find the bug. - Steinar

Revision History:
1.0 - Initial (too early) release
1.1 - Second (still ugly) release: Made the perspective setting actually do
      something
1.2 - Used some of the convienence functions, and made things a little eaiser
      from the user's standpoint too.  Also moved it from the
      Filters->Animations-> menu to Xtns->Animations.  I think its
      clearer whats going on this way.  It also works w/ any 2 layers now.
1.5 - Some debugging by Steinar and myself to make it work again.
1.6 - Moved some renaming into the main loop, more cleanups.
1.7 - Fixed up set_name to drawable_set_name

Seth Burgess
<sjburges@gimp.org>

AUTHOR

Seth Burgess <sjburges@gimp.org>

DATE

1.7

LICENSE

Distributed under the same terms as Gimp-Perl.