Documentation for FlAniS - the Flash AnimationS
applet
June, 2008
updated: June, 2009
Current release version 1.4 -- June, 2009
Welcome to the homepage for the Flash Animations Applet (FlAniS for short). This is a
re-casting of the AniS Java applet, done in
Flash. Why? We needed to overcome limitations with memory size and problems with cross-platform
layout issues. Plus, we wanted to add a few more features!
This document is the detailed information. If you want to take a quick look at the
examples, please click here!. If you have
questions or comments, please let us know! If you find errors or things that are not
clear in this document, we would also appreciate hearing from you!
Click here for a Quick
Help for Flash page, if you or others are having problems with the Flash runtime.
To run FlAniS, you need these three files:
an HTML file that contains the size (width and height) specification,
and names the configuration file
the configuration file that contains the options ("parameters")
the flanis.swf file which is the "Flash program".
(during this beta-testing, we also have a flanisdebug.swf which contains
debugging output if there are problems)
Downloading: You may pick up this ZIP archive
file which contains an example of the HTML and config files, plus the two
.swf files mentioned above, as well as the source code.
Here is a skeleton HTML file. Both the OBJECT and EMBED tags
are needed to cover different browsers.
ly
You may use the above as a template, since very few changes will be needed. If you
copy this, then you must:
set the height and width values in both places above
to meet your needs.
if you want to use a different name for the configuration file,
you must change the "config.txt" in both places in the file.
It is also acceptable to put some of the parameters, described below, into the
"FlashVars" parameter in the HTML (in addition to the required configFilename=
parameter). You would have to do this in both declarations of FlashVars. In the
value part of the FlashVars parameter, each item must be separated by an ampersand (&). For example:
<PARAM NAME="FlashVars" value="configFilename=config.txt&active_zoom=true&backcolor=0x382433"> Although this makes the
specifications much more difficult to read than putting them into a configuration
file (below), it is acceptable. If you omit the "configFilename" parameter, then all the
parameters must be supplied this way.
An extension of this is to use server-side PHP scripting to return the contents of the
configuration file. In this mode, you may also cause some parameters to be passed to
the PHP script by using the vertical bar ("|") to separate these parameters. This will be
changed to the customary ampersand before the request string is sent to the host. For
example:
<PARAM NAME="FlashVars" value="configFilename=myscript.php?type=7|code=318|domain=us&active_zoom=true&backcolor=0x382433">
In this case, the "config filename" request sent to the server will be:
myscript.php?type=7&code=318&domain=us
and the active_zoom and the backcolor parameters will be used by FlAniS as
parameters.
The configuration file is a text file that contains the parameters and their values. If you
are familiar with the Java AniS applet, then these parameters are just like the ones you
used in the <PARAM> tags however, here they are contained in a separate text file.
Note, however, that each parameter and its arguments MUST be on one line of text
in the file! There are no "continuation" lines or marks available!
An example of this configuration file:
# config file for my stuff
backcolor=0x800000
controls=startstop, step, speed, framelabel, looprock, refresh, overlay
controls_tooltip = Start and stop , Step , change speed, Times , Toggle between looping and
rocking, Refresh the images from the server
bottom_controls = toggle
bottom_controls_tooltip=Click on frame square to remove from animation; click again to add
it back
file_of_filenames=fof.txt
transparency = #ffffff
no_enh = true
active_zoom=true
toggle_size=5,10,20
overlay_labels=Topo,Radar/on,/Counties,Legend
overlay_links=1,0,-1,0
overlay_labels_color=0,xff0000,0x00ff00,0
overlay_labels_mouseover_color=0xffffff,x00ff00,0xffffff, 0x801050
overlay_tooltip=Topographic map,, Map outline of counties, The legend
overlay_radio=f,t,t,f
overlay_smooth=f,t,f,f
overlay_transparent_amount=100,50,100,50
overlay_zorder=0,1,3,2
pause=500
rocking=true
keep_zoom=true
overlay_zoom=t,t,t,f
Note on specifying color values
Throughout this document, hexadecimal values are used to specify colors. The
hex values are always in the one of the formats:
0xRRGGBB
xRRGGBB
#RRGGBB
where "RR", "GG" and "BB" are the Red, Green, and Blue values from 00 to FF hex.
If you know the decimal value, you may use that as well.
Names and Definitions of Controls and Parameters
The rest of this document describes the parameter names and values
needed to drive the FlAniS applet. We begin with the controls and
then describe the specification of the filenames of the images.
This controls parameter will position the controls
above the image window. If you
would like some (or all) of the controls below the image
window, use the bottom_controls tag, as in:
Note: You must not specify the same control in
both the controls and the bottom_controls
parameters!
If you want to have your controls appear on more than one horizontal
line, preceed the first one on the new line with a /. For example:
controls=startstop, step, speed, /framelabel, looprock, refresh, overlay
would make two lines of controls, with the "framelabel" being the first one
on the second line.
Here are the details about each control:
startstop is a button for starting and stopping the looping.
If it is not specified, the loop will run forever (if you have otherwise
set the start_looping parameter to "true"). You may use the "rate"
parameter to set the initial looping speed.
looprock is a button that is used to control whether a movie
loop or a rock back-and-forth mode is used. The default is loop, but may be
specified as rocking using the "rocking" parameter.
step creates two little buttons useful for single stepping,
forward and backward. The left- and right-arrow keys on the keyboard
may also be used for this purpose.
firstlast creates two little buttons useful for going
immediately to the first or last frame in the sequence.
speed is a slider that determines the animation rate. If not
used, a default rate of 3 frames per second is used
(unless overridden by the 'rate' parameter).
refresh is a button that will attempt to force a
reload of the image files, ignoring any cached images (unless
the 'use_caching' parameter has been set). This is
useful for realtime data applications, where the contents of the
image files may be changing. NOTE: If you are using the
"file_of_filenames" method of naming the image files, it is
very important
not to change the total number of images if you change the
contents of the "file_of_filenames". Also, see the
quiet_reload parameter, below.
autotoggle (or now preferred:
autorefresh) is a button that will turn the auto
refresh function on and off. If you have the ability to zoom
or enhnace images, along with an auto refresh, you might want to
include this button (when an auto refresh cycle happens, all
zooming and enhancements are cancelled).
Normally the auto-refresh is enabled at the start. If you want
autorefresh to be initiall turned off then append the characters
/off...for example: autorefresh/off.
toggle provides a way for the user to toggle images
on and off. If you specify this control, a series of little
colored boxed will be displayed on a separate line. As each
frame is looped through, the box corresponding to the image will
change color. If the user (left button) clicks on a box, she will disable it
(clicking again will re-enable it). If the user Shift+clicks on a box,
she will cause the program to show that frame. Note:
you may set the width, height, and spacing of these boxes -- see the
toggle_size parameter below. Normally, a text line of help
information appears below the toggle boxes; if you want to supress
this, append the characters /nohelp....for example:
toggle/nohelp. Finally, this is the only control that
has a default "tool-tip" to explain the clicking functions.
setframe will provide a slider for setting the frame
being shown by simply sliding the slider.
Although this is designed to be used instead of
animation, it can be used with it.
zoom will provide a pixel-duplication zooming ability. When the
'zoom' button is clicked, the cursor will change shape. When the
user clicks with the left button that on the image,
it will be zoomed one factor (x2, x3, x4...)
at the cursor location. After the first zoom, the
button will be relabelled "un-zoom". The user may then 'roam' the
image around by dragging the mouse. More left-clicks will zoom
in farther; ctrl+click (command + click on Macs) will zoom out one step per click.
If the "un-zoom" button is clicked, the image will be restored to the original.
See the "active_zoom" parameter (below) to enable zooming without this
explicit control button. click to zoom in; ctrl+click to zoom out (Command+click
on Macs). The user may also use "ALT+click" to reset the
zoom when in this mode.
See the "keep_zoom" parameter (below) to make the zoomed state
persist after a "refresh" is done.
fader will provide a slider for setting the "fade" level.
You should NOT use this in combination with any of the first 4 controls
(which allow for animating faded images when the "fade" parameter
is set to 'true' and the 'fader' control is not specified).
fadertoggle will also provide a simple toggle button
to move the fader display to the next "base" image. This MUST only
be used in conjuntion with the fader control, above!
overlay provides one or more checkboxes that allows for
images to be overlaid on the base image.
Each box will be labelled according to the
'overlay_labels' parameter. You may also use "radio buttons" instead
of checkboxes for some or all of these, using the 'overlay_radio'
parameter.
framelabel provides a text field into which a label will
be put for each image in a sequence of images. The text may be
specified using the frame_label PARAM or from the
file_of_filenames file (see below).
print provides a button that can be used to print out
the contents of the display. This button will only be active when
the display is not animating. In addition, it will print what is
shown, so if the image is zoomed and/or roamed, that is what will
be printed. The printing is (right now) not scaled.
show provides a button that when clicked will call a
JavaScript routine named flanis_show that you define in the HTML.
The filename of the current displayed frame will be passed as the single
parameter. If the "image_base" parameter was specified, it will be
prepended to the filename.
See and example by clicking here
enhance enables on-the-fly enhancements (colorizing) of
the gray levels in the base images. When you specify this control,
you must have defined a text file named enh.tab in the
same directory as the image data. This file
contains the enhancement curves you want the user to be
able to choose from. Please click here
for more details. An attempt will be made to read this file,
regardless of whether this control is specified or not
(see the "no_enh" parameter, below).
location creates a button that can be used to toggle
the location "readout" display on/off. This display is dependent
upon the "coordinates" parameter (see below).
Parameters that may also be used (details for those parameters
related to filenames, portals and overlays appear after this section):
debug = true
Enables a "debug pop-up window" that will contain information about
errors encountered, and other information that might be helpful in
setting up your animations. The window may be moved around by
dragging on the "title bar". The default value for this parameter is "false".
controls_gap = 8
Specify the gap (space) between control widgets, in pixels. The default is 8.
controls_tooltip = Start-stop the animation, Refresh the display with current data,
Print the display, Set the animation speed......
specifies a "tooltip" for each of the controls. If you use the "toggle"
control, there must be a place-holder "tooltip" in the list.
bottom_controls_tooltip = Click to step one frame forward/backward, Click to go to the
first or last frame,.....
specifies a "tooltip" for each of the bottom_controls. If you use the "toggle"
control, there must be a place-holder "tooltip" in the list.
overlay_tooltip = Enable topographic display, Enable radar reflectivity display, Show the
roads, Show the watches and warnings,....
specifies a "tooltip" for each of the overlays. If you use the "hidden"
option on an overaly, there must be a place-holder "tooltip" in the list.
use_progress_bar = false
specifies whether to use the "Progress Bar" to indicate the
status of loading images from the server. The default for this
parameter is "true".
active_zoom = true
specifies that the zoom ability will always be active; this
cannot be used in conjunction with the "zoom control". If you
specify this parameter, user left-clicks on the image will zoom
at that point, right-clicks will zoom out. While zoomed, the image
may be roams by dragging the mouse around.
This option should not be used when portals are also used.
keep_zoom = true
specifies that the zoom level and position will be restored
after a "refresh" is done. Without this parameter, the zoom
is reset to the "un-zoomed" view.
zoom_factor = 3.4
sets the zoom factor to 3.4. The default is 1.0. This is the factor
that determines the zoom "step" for each mouse click. Note that a
value of 10.0 approximates what the old AniS did.
overlay_zoom = y,y,y,n
specifies whether an overlay will be zoomed along with other
images. If the value is "y", then the overlay will
be zoomed. This is the default.
If the value is "n" then the overlay will NOT be zoomed.
This is useful for overlays which are legends, since the legend
information will remain on the frame during zoom and roam.
image_window_size = 400,200
specifies that the images will be displayed in
a window with a width=400 and a height=200. Without this
parameter, the size of the window is the size of the first
frame (image). When this parameter is used, the images will be rescaled
to this size which might cause some distortion if the given
width and height are not proportional to the image width and height.
Normally, zooming is enabled (either with the "zoom" control or the
"active_zoom" parameter. If zooming is active, when the user zooms, the
image will be zoomed as usual, possibly showing more detail.
image_preserve=0,0,639,49, 610,0,639,479
specifies that when images are zoomed, the two rectangular
areas specified (top 50 lines, right-most 30 pixels) should be
preserved from the original image. This is useful for showing
labels and logos that are part of the original images. There
may be one or more such rectangles; the number of values
must be a multiple of 4.
The values of the coordinates are ordered:
x_upper_left,y_upper_left, x_lower_right, y_lower_right.
The (0,0) point for images is in the upper_left corner. The 'x'
coordinate is horizontal, the 'y' coordinate is vertical.
For overlays, see the overlay_zoom parameter.
use_caching = true
this will enable caching of the images. (The "file_of_filenames" is
always read without caching enabled). Whether or not a particular
user environment is configured to support caching is unknown.
exclude_caching = abcd
When caching is enabled (see use_caching above), you can
exclude from caching any file whose name contains the string "abcd".
use_anti_caching = false
Disables the use of altering the filename requested from a
web server for non-cached images. The default value is "true".
Normally, FlAniS will append
"?xxxx" to the request for a file from the HTTP server (where
'xxxx' is an ever-changing value). This will normally not
interfere with the HTTP request for the actual file, but has
the effect of usually preventing any intermediate
"caching servers" from caching images inappropriately.
If you experience any difficulties with this, then set the
value to false to prevent this.
no_enh = true
this supresses the attempt to read the enh.tab file which
contains the enhancement tables if you are using the "enhance"
control.
enhance_filename=myenh.txt
this specifies a different filename for the enhancement table. The
default filename is "enh.tab".
enhance_overlay = 3
this says that the "enhance" control will be applied to overlay #3
(the first overlay is number zero). Otherwise, the enhancement
will be applied to the "base" images.
auto_refresh = 16
specifies that the base images will be automatically
reloaded from the source every 16 minutes.
Note: be somewhat cautious with overlays or portals when using the
auto_refresh option -- they may not always work as expected.
base_static = true
specifies that the base images will be loaded only one
time from the server. Any "refresh" action (automatic or manual)
will not cause these images to be reloaded. This is appropriate
if your base images are unchanging (for example, a topography
image). [See also, the overlay_static parameter, below.
no_controls = true
this supresses showing any controls. Please see "start_looping"
parameter, below.
coordinates = 43.0, -89.5, 40.65, -81.241
this enables the readout (display) of the coordinates -- usually latitude
and longitude. The first two values are the latitude (y) and longitude (x)
coordinates of the upper left corner. The next two values are the
corresponding values for the lower right.
Linear variation is assumed.
If this parameter is used without specifying the location control
then the readout (display) will always appear on the screen!
coordinates_style = 0x000000, 0xffffff, 20, Lat=, Lon=, 2
This specifies the style for the readout (display>. The values are:
1. background color, 2. foreground color, 3. font size, 4. first coordnate label,
5. second coordinate label, 6. number of decimal digits to display. Note
that you may omit the last 3 parameters; however if you want to specify
them, then you must specify the font size (default is 10)!!
hotspot0 = 10, 20, 50, 50, pan, fof, mynewfof.txt, Click here for a new view
hotspot1 = 30, 500, 50, 50, pan, popup, this is the pop-up message
hotspot2 = 110, 0, icon, lnkimg.gif, nopan, link, http://www.ssec.wisc.edu/flanis
specifies three "hotspots" on the image display. Note that the
keyword name has an appended number -- this is used to make
each hotspot unique, but is only required in the "config" file;
it is not required in the "file_of_filenames", where you may just use "hotspots=".
The parameters are specified in one of two formats:
hotspot = x, y, width, height, pan, action, value [,tooltip]
hotspot = x, y, icon, filename, pan, action, value [,tooltip]
x,y are the coordinates of the upper left corner of the
rectangual hotspot.
width, height are the width and height of a rectangle that
is displayed using the color specified in the
hotspot_color parameter (see below)
to specify an image icon, use the second form:
"icon" is a required key (without quotes), and "filename"
is the name of the image file. Note that FlAniS will cache
these files.
"pan" (without quotes) says the hotspot will pan around
when the user zooms/pans. "nopan" means the hotspot is fixed
action may be:
"fof" (wihtout quotes) to load a new file_of_filenames)
"link" to call back to the HTML using the same technique
as for "show" control....expect the JS method called must be
named "flanis_link".
"popup" to pop-up a text window with the text given
"value" depends on the "action" chosen....it will either
be:
a new file_of_filenames to be loaded
a URL to pass back to the HTML
a message to display in a text box. You may use HTML tags
within the text -- just no commas!
optionally, a "tooltip" may be specified and will be
displayed when the user hovers the mouse pointer over the
hotspot.
NOTE -- sensing a hotspot click action takes priority over zooming. If the user puts the
mouse pointer on a hotspot and clicks, only the hotspot action will happen.
NOTE -- see "file_of_filenames", below, for additional information.
hotspot_color = 0x40ff00ff
specifies that when no hotspot icon image is specified, that
the hotspot(s) should use the specified color to fill the
rectangle. The format of this value is 0xAARRGGBB, where AA
is alpha (opacity, 00 = transparent, ff=opaque), RR is the red
intensity, GG is green, and BB is blue. The default for this
parameter is 0x00000000 -- a completely transparent
rectangle.
start_looping = false
specifies the initial state of the animation. A value of "false" means
the animation is not started automatically. The default value
is "true", meaning the animation begins automatically as soon
as all frames are loaded.
Note: if you do not put in a startstop control and
set start_looping to "true" then the animation will run "forever".
start_frame = 18
specifies the frame number (starting at zero) of the frame to
display after all loading is done. This option implies
"start_looping" is "false".
rate = 120
rate = 120, 5, 200
specifies the initial loop rate as a number corresponding
to frames per second times 10 (thus, 120 means 12 frames per
second). The second form provides the range for the "speed"
slider if it is enabled. The first value is the minimum speed
(0.5 fps or a dwell of 2 seconds per frame, here), and the second is the maximumg (20 fps).
minimum_dwell = 30
specifies the minimum dwell (milliseconds) that can be set with the
speed slider. The default value is 30ms; the minimum
value is 5ms. Not that using small values can cause slower
computers to have problems whilst looping. If the speed slider
is being used, please use the rate parameter, above,
to set the range you desire.
dwell_rates = 1000,1000,500,30,1000
specifies the dwell (in milliseconds) for each frame. There
must be the same number of values (comma-separated) as there are
frames in the animation. In this example, the first and second
frames have a fixed dwell if 1s, the third frame is a half-second,
the fourth is 30ms, and the fifth frame is 1s. NOTE: these times
assume no additional overhead, which is usuallly not the case!
Frame dwell rates may also be set in the file_of_filenames (see
below)
rocking = true
make "rocking" the startup mode for displaying the sequence;
otherwise, "movie loop" is the startup mode.
pause = 2000
pause on the last frame of a loop the additional number of
milliseconds given (2 seconds in this example). The default
is zero.
pause_percent = 250
pause on the last frame of a loop the additional percentage
of the current dwell time specified (250% in this example). In
addition, if the current dwell is > 1 second, a fixed value of
100% will be used whenever this pause_percent option is specified.
The default value is zero.
transparency =#FFFFFF
use the color "white" as the transparency value. This is only
needed for overlays, and is optional for fading. The value is
a hex value of red/green/blue (template: 0xrrggbb). "black"
(0x000000) is also commonly used. In the second example, the
transparent values range from 00 to 05 for red, green and blue.
This form is particularlly useful when the background is not quite
a constant value.
If the value = "image" then all the images are assumed
to be GIF images with the 'transparent' attribute assigned to
one color level. If used, this option will conserve memory and
load faster. When used, the next option
(overlay_transparent_amount) cannot be used.
overlay_transparent_amount = 100, 40, 20
The non-transparent pixels in overlays should be set to
the opacity percentage indicated. In this case, the first
overlay (see overlay_labels) is 100 opaque, the second is 40%
and the third is 20%. 0 = totally transparent (you will not
see anything! 100 = totally opaque (what would normally
happen).
overlay_zorder = 3,1,2,0
Changes the order of stacking of the overlays, so that the
overlay labels may be arranged in an order that is independent of
the stacking of the overlays. The default is: 0,1,2... When using
this parameter, there must be one and only one value for each
overlay. The example says that the first overlay will be "on top"
and the last one will be on the bottom, with the second and third
(values 1 & 2) will be in the default order.
overlay_labels_color = 0x000000, 0xff0000, 0x00ff00, 0xff00ff
Specifies the color of the text used to label the overlay selector
buttons. The values are in RGB order (0xRRGGBB) and coded as
hexadecimal values (00 = 0, ff = 255). There must be one
item for each label -- even if the label is hidden! See "overlays" below.
overlay_labels_mouseover_color = 0x808080, 0x00ff00, 0xffff00, 0x505050
Specifies the color of the text used to label the overlay selector
buttons when the mouse is "rolled over" the selector.
The values are in RGB order (0xRRGGBB) and coded as
hexadecimal values (00 = 0, ff = 255). There must be one
item for each label -- even if the label is hidden! See "overlays" below.
Pick colors that provide contrast with the background and are different
than the "overlay_labels_color" (above).
overlay_labels_bold = f,f,t,f
Specifies whether the weight of the overlay label should be Bold
or Normal. "t" (or "b") specifies bold.
overlay_static = y,y,n,n,y
Specifies that certain overlays are "static" and do not need to be re-read
when a Refresh is done. A value of "y" (yes) indicates this overlay
is static. "n" (no) indicates it is not static and it's image files should
be read during a refresh.
overlay_gap = 8
Specify the gap (space) between the overlay checkboxes, in pixels. The default is 8.
fade = true
NOT IMPLEMENTED -- although the "fader" control is!
instead of just showing the images, generate 'faded' images
between them and use the result as the sequence.
background_image=myimage.jpg
instead of a constant color for the background of the applet (see
"backcolor", below), this allows you to create an image. Most of
the image will be covered up by the main display "window". No
scaling of the image is done, so it should be the same size as
defined in the HTML for the HEIGHT and WIDTH parameters.
background_hotspot = x, y, width, height, action, value
define a hotspot for the background_image. If you use more than one background_hotspot,
you MUST use key names appended with an increasing number. For example, if you had 3
background_hotspots to define, you would use:
background_hotspot0 = 350, 200, 50, 50, fof, newfof.txt
background_hotspot1 = 200,100,50, 50, fof, new2fof.txt
background_hotspot2 = 100,540, 50, 50, popup, More info
content_position = 0, 3
Specify that the panel containing the controls and display will be placed
at x =0 and y=3 in the parent panel. This can be used when a background_image
is used to fine-tune the positioning.
backcolor = 0xff00ff
set the applet background color (used for backgrounds of all the
controls as well...) to the RGB value (in hex) given (in
this case, red=255, green=0 and blue=255).
forecolor = xffffff
set the color of the foreground (used for names on buttons,
etc.) to the RGB value (in hex) given (in this case, white). Note
that you should keep a good contrast between the background and
foreground colors.
font_size = 18
set the size of the fonts for all widgets to the value give;
the default is 10.
startstop_labels = Start, Stop, 20
looprock_labels = Loop, Rock, 20
autotoggle_labels=Auto On, Auto Off, 30
autorefresh_labels = Auto On, Auto Off, 30
refresh_label = Refresh
zoom_labels = Zoom, Un-zoom, 30
fader_label = Vis IR
fadertoggle_label = Step through images
pick_enhancement = Pick Enhancement
location_labels = Show Location, Hide Location, 100
Each of these parameters allows you to specify alternate labels for many of
the controls. For those controls having more than one label, you
may also specify a 3rd parameter which is the width (in pixels) of the
button -- this can be helpful to avoid any automatic resizing when toggling button states.
setframe_label = Image Frame Number *
set the template to use for labelling the "setframe" control
slider/scrollbar. The given string of characters must
contain an asterisk ("*") character; the actual frame number
will replace this when displayed.
frame_label = label for 1, label for 2, ...
TIME/DATE SUBSTITTUTION NOT IMPLEMENTED
when the framelabel control is specified, the values in
this comma-separated list will be used to label each frame. If
you enclose a standard format date-time between a pair
of "$$" characters, it will be replaced by a string for the
computer's local time zone. For example:
"Picture from $$5/10/00 15:00 GMT$$ in the morning"
will be displayed as:
Picture from May 10 10:00:00 CDT 2000 in the morning
The formatting is fixed by the Java library...
frame_label_width = 30
this specifies the width of the text box (in characters) to be
used for the frame_label strings. The default is 20
frame_label_style = 0x000000, 0xffffff, 20, 30
this parameter specifies the style of the frame_label display. The
arguments are: background color, foreground (text) color, font height,
and label (box) height.
image_base = http://www.my.host/mydir/
this directs that the base URL of the image files (and the
file_of_filenames, if used) should be the value given. The
default URL is the directory containing the HTML. Note that
the hostname in the specified URL must be the same as the
hostname where the applet is read from.
Note that if this is a directory reference, it MUST end
with a slash character (that is: / ).
toggle_size = 5,10,3
this sets the toggle control's little boxes width to 5, the height to 10,
and the spacing between them to 3. This can be very helpful if
you have a large number of frames and don't want to make your applet
width too large just to accomodate these boxes.
rotator_labels = N, E, S, W
NOT IMPLEMENTED
this defines the labels to be used with the rotator
widget. You may specify up to 8 labels (more just won't fit...)
that will be evenly distributed around the circle. The first label
will be placed at the top ("North"), and sucessive labels will be
positioned clockwise around the circle.
Depending on the
letters, you may be able to get up to 4 letters per label (certainly
more than that for the top and bottom (0 and 180 degrees). If you
use 'fading', then the number of frames will be recomputed when you
activate/de-activate it, but the rotator labels will not change.
NOT IMPLEMENTED
rotator_color = x00ff00
NOT IMPLEMENTED
this defines the color to use for the rotator "arm".
It is in for format: xRRGGBB, so the value shown will make a green
colored arm. The labels and circle will be drawn with the
foreground color specified. The default is yellow (xffff00).
NOT IMPLEMENTED
num_frames_choice = 5, 10, 15, all
NOT IMPLEMENTED
this defines the contents of the numframeschoice control
(see above) that allows the user to select the actual number of
images (frames) that are downloaded and displayed. By default,
the first element in this list defines the start-up conditions.
In the example herein, only the last 5 frames of the sequence
will be initially downloaded and displayed; this includes all
overlays and portals defined for only these frames as well.
There are some options available:
A value with a preceeding - (minus) sign implies
"this many images, sequentially and including the last one"
(example: -4, -8,...)
A value with a preceeding + (plus) sign implies
"this many images, sequentially and including the first one"
(example: +3, +9, ....)
A value with a preceeding -* implies "this
many frames, equally spaced from the whole set, but
always including the last one" (example: -*5, -*10, ...)
A value with a preceeding +* implies "this many
frames, equally spaced from the whole set, but
always including the first one" (example: +*3, +*6,...)
The word "all" implies all frames.
A value with no preceeding marks, implies a -.
default_num_frames_choice = 2
NOT IMPLEMENTED
this sets the initial (default) index of the choice for
num_frames_choice list (above). This value is zero-based
and the default value is 0 (zero) meaning the first item in the list.
The following are related to the image filenames specification - details
are immediately below.
basename = file
num_frames = 6
base_starting_number = 1
filenames = file0.gif, file1.gif, file2.gif
file_of_filenames = listoffiles.txt
Note that while the "file_of_filenames" argument is normally the name of
a text file, you may also use this to invoke a server-side php script
that will return lines of text just as if they were from a file. If you
need to pass parameters to your php script, you must use the vertical bar (|)
instead of the ampersand (&) in the declaration; the bars will be
changed into ampersands before making the server request, however.
An example might look like:
file_of_filenames=myscript.php?type=432|code=12|realtime=y
when this is sent to the server, it will be:
myscript.php?type=432&code=12&time=y
Image file names
All the image files can be in GIF, JPEG or PNG formats. The files
identified using the parameter names described in this section
should fill the desired window. If used, overlays and
portals should be the same size and have the same geometry
as these "background" images.
For the background images, the image files may be specified
in one of three, mutually exclusive, ways.
Using a "root" name, to which successive numbers are appended
to create the actual filenames:
basename = file
num_frames = 4
base_starting_number = 0
In this case, the root name is file and since there are 4
images specified with the numbering starting at 0,
the actual filenames must be: file0, file1, file2, and file3.
Please note that the default base_starting_number is zero, and
so it would not have to specified in this case...
Also, please see the Note below about this form and
wildcards
Using the filenames themselvels:
filenames = file0, file1, file2, file3
Using a file which contains a list of the image filenames
(one per record)
file_of_filenames = file-containing-filenames
where the file "file-containing-filenames" contains lines of text
that are in the form:
file0
file1
file2
file3
Lines beginning with # are ignored, so you may put comments
into your file_of_filenames.
NOTE: If you want to specify an optional frame label
(see the controls section above), you may put the value
with quote marks after the filenames. (The label may,
optionally, contain a date-time to be reformatted for the
user's timezone -- see "frame_label", above.) For example:
file0 "label one"
file1 "label two"
NOTE: If you want to specify an optional dwell rate
for each frame, put the value (in milliseconds) inside
brackets after the filename. Be sure to put a space before
and after the brackets. If you use this mode, you must
supply a dwell rate for every frame! For example:
file0 [800] "label one"
file1 [300] "label two"
NOTE: if you are using overlays, then you may put them into
the file_of_filenames as well. Please see the section, below,
on overlays.
NOTE: if you would like to re-define hotspots in the file_of_filenames,
use any of the forms specified in the definition of the
parameter "hotspot" (above). Some examples:
hotspot=x,y,w,h,pan,fof,mpx_ncr20090405.txt, Click here to load new data
hotspot=x,y,icon,himage3.png,pan,popup,This is the popup text and may be in bold
hotspot=x,y,icon,hotimage1.gif,nopan,link,http://www.ssec.wisc.edu,Click here to open a link to the SSEC homepage
....
You may also re-define the "coordinates" parameter within the file_of_filenames.
NOTE: For the first form (specifying a "basename"), you may also use
a wildcard format. There are two forms of this, one using a
single * (to substitute numbers 0,1,2...,10,11,.. at that
point) and the second using one or more ? (to substitute the
numbers with leading zeroes for all the ? marks). For example, if you say:
basename = file*.gif
the actual filenames must be: file0.gif,
file1.gif, file2.gif, and file3.gif
You may also use the form:
basename = file????.gif
the actual filenames in this case must be: file0000.gif,
file0001.gif, file0002.gif, and file0003.gif
Note that in both these cases,
you must use the num_frames parameter to defined the
total number of frames
you may also use the
"base_starting_number" parameter to modify the starting
value (which otherwise defaults to zero).
Overlays
You may also use overlays -- one or more images that are (optionally)
displayed on top of the base image, usually in such a
way that part of the base image shows through. For example, a
map or plotted data may be an overlay. In order to let some of the
base (background) image show through, you must designate one color level in
the overlay images as "transparent" and then specify that value using
the transparency parameter (above). You may also specify the
opacity/transparency of the non-transparent portions of overlay images
-- see the overlay_transparent_amount parameter (above).
You may also specify the color of the labels for each overlay using
the overlay_labels_colors parameter (above).
In addition, you need to specify the overlay control, and
provide a few more parameters:
Define the labels for the checkboxes and/or radio buttons:
overlay_labels = label1, label2, label3...
This specifies the labels that will be used on the controls for each
overlay. The ordering of the values should be the same as the
filenames (below). You'll want to keep these labels brief!
Specify the initial state of each overlay. By default, all
overlays are initially "off". If you want to force one to be on,
append /on to the label. From the previous example:
overlay_labels = label1, label2/on, label3...
would force the second overlay to be initially turned on.
An overlay with no control button. If the overlay is to be "on"
all the time (and thus, no checkbox or radio button will appear for
it), append /always to the label. For example:
overlay_labels = label1, label2/always, label3...
Hidden overlays. If the overlay is to be linked (see
"overlay_links", below) and should have no checkbox or radio button
for it), use /hidden. This is onlyuseful when
linked to an "owner" and will follow its state. (the
"hidden" item should have the negative link value, and thus is
the "target"). (Please note that if you are specifying the colors for
the overlay labels (see "overlay_labels_colors") you must specify a
color even for a hidden overlay!
Using "radio buttons". If you want to treat some or all of the
overlays as 'radio buttons' (that is, only one of them may be showing
at once), you may use the overlay_radio parameter. For
example:
overlay_radio = true,false,true,true,...
This would specify that overlays 1, 3, and 4 would be 'radio buttons'
and only one could appear (be "ON") at once. Overlay #2, however, may be
toggled on and off indepdently. If you want to use radio buttons for
all of your overlays, you may simply say <param
name="overlay_radio" value="true">
Layout of checkboxes and radio buttons. Normally, the
checkboxes and radio buttons will be laid out in a single row;
unfortunately, the layout manager will simply not show any that would
appear beyond the WIDTH. You may specify that the
checkboxes and/or radio buttons appear on two rows in the GUI. If you
preceed the label name with a "/" then this will start a second row.
For example:
overlay_labels = label1, label2/on, label3, /label4, label5/on...
specifies that the checkboxes for #1, #2 and #3 will appear on one
row, while the checkboxes for #4, #5, etc., will appear on a second
row. Using this option will increase the height required for
the applet!
Linking overlays together. It is also possible to link overlays
together so that when the user clicks one on, more than one is
activated. For example:
overlay_links = 0,1,0,-1,-2,0,2
The values of zero ("0") indicate no linking. Positive values are the
"owner" and the corresponding negative value is the "target". When an
"owner" is turned on, the corresponding "target" is also turned on.
When the "owner" is turned off, the "target" will not change,
unless it was a "/hidden" overlay (see above). Each "owner"
may have more than one "target", and vice-versa.
Positioning overlays on the screen.
NOT IMPLEMENTED
You may also change the
position of an overlay on the screen. Normally, overlay images are
located with the upper left corner in the upper-left of the display
(x=0, y=0). You may use the overlay_locations parameter to
move the overlay. For example:
overlay_locations = 10&20, 100&200, 0&0,...
This would specify the overlay #1 would be positioned with it's upper
left corner at location (x=10, y=20), overlay #2 would be at
(x=100,y=200), and overlay #3 at (x=0, y=0...the default). If you use
this parameter, you must specify a location for each overlay
for which you provide a label.
Static, unchanging overlay images.
If you have some overlays that are "static" and do not need to
be reloaded from the server when the user clicks "Refresh", you
can used the overlay_static parameter to designate which one(s)
are static (and which ones are not static, and should be reloaded).
overlay_static = y,y,n,n,y
Indicates the first, second and fifth overlays do not change and need
not be reloaded. The third and fourth will be reloaded when the user
so requests (or the automatic timer goes off).
To zoom, or not to zoom. It is often times useful for
some overlays not to be zoomed with the rest of the image(s) --
for example, legends. To keep a legend overlay on the image while the
rest are zoomed, use the overlay_zoom parameter.
overlay_zoom =y,y,y,n
Indicates that the first 3 overlays will be zoomed along with the
base or background image. The 4th overlay, however, will not be
zoomed along with them.
More parameters for overlays!!.
See information above about the overlay transparancy, "z-ordering" of overlays! Also, see the base_static parameter, above.
Overlay file names
To specify the names of the files for the overlays, you may use one of
these forms (note in each example, 3 overlays (A,B,c) are being defined
with the names associated with each separated by a comma; in the second
method, the files for each of 4 frames are explicitly named separated
by &).
NOT IMPLEMENTED
In the first case, you are specifying a "basename" for each
overlay (see file name conventions, above). Each name you specify
is for an individual overlay, and the software will load as many
images for each overlay as there are background image frames.
overlay_basenames value= ofileA, ofileB, ofileC
(Again, you may use the wildcard format -- see above.)
In the second case, you are naming each file explicitly. The
grouping of names is the same as above -- commas separate
portals. Ampersands separate filenames for each frame of a loop.
overlay_filenames = ofileA0 & ofileA1 & ofileA2 & ofileA3, ofileB0 & ofileB1 & ofileB2 & ofileB3, ofileC0 & ofileC1 & ofileC2 & ofileC3
Finally, you may also use a text file (the "file_of_filenames"
form) to specify all the filenames. To use overlays with this form,
the filenames for all the overlays for one frame appear on one line.
file0 overlay=ofileA0, ofileB0, ofileC0
file1 overlay=ofileA1, ofileB1, ofileC1
file2 overlay=ofileA2, ofileB2, ofileC2
file3 overlay=ofileA3,ofileB3, ofileC3
NOTE: You MUST supply all overlay file names for each frame, even
if the filename is repeated!!
NOTE: If you want to specify an optional frame label
(see the controls section above), you may put the value
with quote marks between the filenames and the keyword that
follows. For example:
file0 "label one" overlay=ofileA0, ofileB0, ofileC0
file1 "label two" overlay=ofileA1, ofileB1, ofileC1
NOTE: If you want to specify an optional dwell rate
for each frame, put the value (in milliseconds) inside
brackets after the filename. Be sure to put a space before
and after the brackets. If you use this mode, you must
supply a dwell rate for every frame! For example:
file0 [800] "label one" overlay=ofileA0, ofileB0, ofileC0
file1 [300] "label two" overlay=ofileA1, ofileB1, ofileC1
Updates after Beta
Since the first release version, here is a summary of changes:
Version 1.4
Fixes an issue with dynamic hotspots and the "refresh" action -- after a refresh,
the hotspots stopped responding to mouse clicks.
Version 1.3
Adds a minimum and maximum value parameter to the "rate" parameter.
Corrects another issues with the ??? wildcard in the "basename" parameter.
Prevent the user from panning the images out of the display window area.
Adds "hotspots" to provide auxillary actions (load a new file_of_filanems, popup a
message, link back to JavaScript).
Eliminate the requirement for a "configuration file" -- all the parameters may
now be put into the "FlashVars" HTML parameter.
Version 1.2
Corrects a problem using the ??? wildcard in filenames.
Better alignment of button labels.
Version 1.1
Decrease interval between image file loading and initial display -- this avoids issues
with showing a "blank" screen.
Removed some excess debug output.
What's new
Here is a brief list of those things that FlAniS has that AniS does not:
"tool tips" for the widgets (buttons, sliders, checkboxes)
"print" control to print what is in the display (replaces the "show" button)
consistent layout across all platforms/operating systems
no arbitrary memory limitations
configuration parameters to set widget labels and sizes
a "stepping" control when using a "fader" that snaps to the original frames
Updates during Beta
During the Beta "test" period, lots of changes were made....here's a summary:
allow controls to be put on more than one "line" in the GUI by preceeding the first
control on the "new line" control with a /.
added "show" control to pop up a separate browser window (see below, though - requires
JavaScript in the HTML)
added parameter "content_position" to change the locatio of the upper-left corner of
the 'content' (meaning all the controls, image window, etc.)
added "frame_label_style" parameter to allow setting of colors and font size for
framelabels
added "overlay_labels_mouseover_color" to allow setting the "mouse over" ("roll over")
color for the text labels on the checkboxes.
enable the use of php script for the file_of_filenames data
added the use of the right- and left-arrow keys to step frames (since it was documented
as working....)
added "enhance_filename" to allow the use of an enhancement file named other than
"enh.tab"
activated "image_base" parameter (see below)
now allow for part of the "configFilename" in the flashVars to be a php script and
parameters (see below).
added "debug" parameter - set "debug=true" and a pop-up (moveable) window appears with
debug information designed to help set up your animations
added latitude-longitude readout and assoicated control ("location") and parameters
("coordinates", "coordinates_style", and "location_labels")
added parameters for setting the spacing between the "controls" widgets and also the
"overlay checkboxes": "controls_gap" and "overlay_gap"
fixed a couple of issues related to zooming and refreshing when some images are missing.
when zooming, you may now use CTRL+click (Command+click on a Mac) to "step"
the zoom out. ALT+click still resets the zoom.
the "enhance" control has been activated along with a new parameter ("enhance_overlay")
that allows you to apply the enhancement to an overlay instead of the "base" iamges.
added "Shift+click" for the little "toggle boxes" to go to the selected frame; in AniS,
this was the "right-click" operation...but no right-button action allowed in Flash.
the "background_image" parameter added to allow you to use an image for the
background of the whole display (instead of a constant color).
the "no_controls" parameter has been activated
the "dwell_rates" parameter (including the specification in the file_of_filenames
for dwells) has been activated to allow fixed control of dwells for each frame
If you would like to get notified of updates to FlAniS,
send an email to:
leave ths subject and body blank. You will later be asked to
verify that you did, indeed, subscribe. Just follow the
instructions. We will keep the AniS and FlAniS lists the
same for the time being...so if you are already on the AniS
list, you do NOT need to sign up again!
This program is free software; you can redistribute it and/or modify
it but you may NOT repackage and sell it.
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.
The developers or their employers are not responsible for any
and all ramifications, etc., which may result from using
this software,
or software derived therefrom. Furthermore, you agree to hold us
harmless from any consequences related to the use of this
software.