snowflake.tar.gz
=======================================================================
= snowflake 0.01 a =
= december 21, 1998 =
= =
= getopt Copyright (C) 1987 - 1998 Free Software Foundation, Inc. =
= portions Copyright (C) 1997 Raph Levien =
= leftovers Copyright (C) 1998 Donald Johnson =
= =
= This software falls under the GNU Public License. =
= Please read the file COPYING for more information =
=======================================================================
DESCRIPTION:
snowflake is a snowflake image generator. Image generation is based
on original code by Raph Levien.
REQUIREMENTS:
gtk 1.0.6
System V IPC support
ADDRESSES:
e-mail: dlakwi@lynx.net
homepage: http://home.lynx.net/dlakwi
=======================================================================
BUILDING:
edit Makefile
"make"
INSTALLING:
mv snowflake /usr/local/bin
USING:
Type "snowflake" to start. Two windows will appear. One is the
controls window, the other is a image viewer. The controls window
has three areas: settings, generation method, and program and file
handling buttons.
SETTINGS ==
SIZE: The size of the generated snowflake image; the images
are square, and are powers of 2 in size (for no particular
reason).
SYMMETRY: Is the snowflake symmetrical about its vertical or
horizontal axis?
EDGES: The outer edge of the snowflake can be rendered
in a solid gray or patterned gray, or not at all.
COLOURS: White snow on a black background or Black snow on a
white background.
BANDING: This value affects the frequency of random 'growth' of
the snowflake.
CENTRE SIZE: This value affects the random starting 'growth' of
the snowflake.
Most settings can be initialzed from the command line, Type
"snowflake --help" to see the options.
GENERATION METHODS ==
NAMED:
name: Use the name's ASCII bit pattern as generation key.
The Enter key will generate an image and display it in
the View window. (I used the names of friends and family
to make snowflake images for Christmas cards.)
Draw: Generates an image using the current name.
Permute: Permute the name and Draw
Make a Key: Convert the name into a hexadecimal key and
copy it into the AUTOMATIC method's key field.
AUTOMATIC:
key: Use hexadecimal key as a generation key. The Enter
key will generate an image and display it in the
View window.
generation: A simple expression indicating how to transform
the current key into a new key:
? : assign a new random value.
+m : add m to the current key.
-n : subtract n from the current key.
-n .. +m : add a random number in the range -n to +m to
the current key.
<n : shift the current key left by n bits.
>n : shift the current key right by n bits.
The length of the key does not change, so all math is
performed with a modulus of the current key.
speed: The Run speed; the number of generations per minute.
Draw: Draw the current key's image.
Next: Generate the next key and Draw.
Run: Start automatically generating images.
Stop: Stop generating images.
LIST:
file: The name of a previously saved design file.
Open: Use a file selection dialog to find a design file.
speed: The Run speed.
loop: Should the design file designs be used once or repeated?
Run: Start generating images from the design file.
Stop: Stop generating images.
BUTTONS ==
Quit: Quit the program.
Save Image ...: Save the current image as a .xpm file.
Save Design ...: Open a snowflake design file.
Add Design: Append the current design to the save file.
About: Display some program information.
ISSUES:
Configuration needs work.
Command line option handling needs work.
Some settings do not produce different images.
I have only built and run the program on Intel/Linux and HP/HP-UX.
=======================================================================
MANIFEST:
17996 COPYING
14 Makefile -> Makefile.linux
496 Makefile.hpux
490 Makefile.linux
5177 README this file
6547 Raph_Levien.txt
2597 Snowflake48x48.xpm an icon
35163 getopt.c
4753 getopt.h
15947 sf.c
6510 sf.h
91585 sf_control.c
14418 sf_generate.c
30537 sf_snowflake_xpm.h initial image
12459 sf_view.c
=======================================================================
REVISIONS/FIXES:
Dec 24.1998
added <errno.h> include to sf_generate.c
=======================================================================