AnfyRotate - Copyright (C) by Fabio Ciucci 1996/98


This applet can zoom and rotate (eventually distorted) any GIF or JPG image.
The only requirement is that this image must be equally sized to one of the
powers of 2 (64x64 pixel, or 32x64, 128x128, ...).This applet is fully
parametrized, so you can generate all kinds of rotator effects.

The animation smalyelo.gif is a courtesy of Jim Self.

The following 3 ".class" files must be uploaded: Rot2.class, Lware.class and
anfy.class.

Insert the <applet> tag in your html document as follows to add this applet
to your page (Comments after the ";" symbol are code explanations and
acceptable min/max values. They are not part of the applet language):


<applet code="Rot2.class" width=150 height=150> ; Name, Width, Height
<param name=credits value="Applet by Fabio Ciucci (www.anfyjava.com)">
<param name=regcode value="NO">          ; Registration code (if you have it)
<param name=reglink value="NO">          ; Optional URL link when the applet
                                           is "clicked".
<param name=regnewframe value="YES">         ; Reglink opened in new frame?
<param name=regframename value="_blank">     ; Name of new frame for reglink
<param name=statusmsg value="Rotator applet"> ; Statusbar message
<param name=image value="img64n1.GIF">        ; Image to load
<param name=res value="1">                    ; resolution (1-8)
<param name=rotmode value="6">                ; mode (1-6)
<param name=rspeed value="2">                 ; rotation speed (1-8)
<param name=zoommin value="4">                ; zoom min value (0-80)
<param name=zoommax value="25">               ; zoom max value (0-80)
<param name=zoomspd value="4">                ; zoom speed (1-20)
<param name=modix value="1">                  ; distort modify x (0-8)
<param name=modiy value="2">                  ; distort modify y (0-8)
<param name=auto1 value="100">                ; auto wait 1 (0-10000)
<param name=auto2 value="230">                ; auto wait 2 (0-10000)
<param name=distval value="40">               ; Distort value (1 .. 255)
<param name=tile value="YES">                 ; Tile images ("YES" or "NO")
<param name=backimage value="NO">             ; Optional background image
<param name=backr value="64">                 ; Red in background (0 .. 255)
<param name=backg value="96">                 ; Green in background (0 .. 255)
<param name=backb value="160">                ; Blue in background (0 .. 255)
<param name=overimg value="NO">               ; Optional image over applet
<param name=overimgX value="0">               ; Over image X offset
<param name=overimgY value="0">               ; Over image Y offset
<param name=memdelay value="1000">         ; Memory deallocation delay
<param name=priority value="3">            ; Task priority (1..10)
<param name=MinSYNC value="10">            ; Min. milliseconds/frame for sync
Sorry, your browser doesn't support Java.  ; Message for no java browsers.
</applet>                                  ; End of applet tag

                             ---------


The following instructions detail how to change parameters:

Attempting to change the credits parameter will disable the applet.

To activate the reg parameters read the shareware registration notes.
In the "regcode" parameter, place the registration code you
purchased from the author. If the code is correct and the applet is run from
the registered domain name, you can use "link" parameters to link to a URL
when the applet is "clicked".

If you set "regnewframe" to "YES", you can specify a specific frame location
for the reglink:

"_blank"  : To load the link in a new blank unnamed browser window.
"_self"   : To load the link into the same window the applet occupies.
"_parent" : To load the link into the immediate FRAMESET parent.
"_top"    : To load the link into the top body of the window.

You can also set a custom frame name, such as "myframe1".

With the "overimg" parameter you can specify the name of an image that will
be painted over the applet. The best options are transparent GIF images.
NOTE: Animated GIF images are supported, but will be displayed as animated
only on latest browsers (Netscape 4 and Explorer 4 or newer).
With "overimgX" and "overimgY" you can center the image over the applet area.

The GIF or JPEG image must be equally sized to one of the powers of 2 (64x64
pixel, or 32x64, 128x128, ...). For example, valid sizes are 8*8, 8*16, 8*32,
16*32, 32*16, 32*32, 64*64,64*32, 128*32, 128*64, 32*128, 128*128, 256*128...

The size of the applet is determined by the width and height tags, and can be
different from the size of the image.

The "res" parameter determines the resolution: with res=1 pixels are small,
but effect is slow.With res=8 pixels are too big but the effect is faster.
Optimum choices are 1-3.

If you want to fill the applet area tiling the image, set the "tile"
parameter to "YES". If you set it to "NO", a background color will be
used to fill the space outside the single image.

With "backr", "backg" and "backb" parameters you can control the RED, GREEN
and BLUE components of the background color.

You can load a background image by placing it's name in the "backimage"
parameter. This image must be same size as the applet if res=1, half the
size of the applet if res=2, and so on.

Rotmode is the mode of running. Here are the modes:

1) Zoom and Rotate
2) Rotate only
3) Zoom only
4) Distort only
5) Zoom and Distort
6) Automatic show: ZoomOnly, then Zoom&Rotate, then Zoom&Distort

You can control the speed of rotation with rspeed; the min value
and max value for zoom (when change zoom direction) with zoommin and zoommax,
and  the speed of zoom with zoomspd.

You can also determine the distort factors: modix for X axis and modiy for
the Y axis.
Wuth "distval", you can control the overall distortion strength, placing a
value from 1 to 255.

Finally, you can decide the timing of mode 6 (automatic show): auto1 is the
time to wait before swap between zoom and zoom&rotate, and auto2 is used
to wait for the other swap, from zoom&rotate to zoom&distort.
Swap2 must be >= swap1. If swap1=0 then you skip Zoom and start
directly with Zoom&rotate. If swap1=swap2 you skip Zoom&Rotate, jumping
from zoom only to distort & rotate, and so on....