
   ____ _ _  _ _ ___  __  _
   |_   |  \/  | |    | | |\ |
   |    | _/\_ | |__  |_| | \|


        by Angelo Mottola



bfixicon is an utility that lets you set the icon of your programs. In BeOS
icons are filesystem attributes that can be attached to any file, so in
order to set the icon for your program, you first have to compile it. Once
you are ready to add the icon, you can use this command line utility; icons
can be images in any format supported by Allegro, in any size and color
depth. bfixicon expects you to pass one or two images to be converted to
icons: the first will be converted to a 32x32 256 colors icon, that BeOS
will use in the Tracker when displaying files with large icons; the second
will be converted to a 16x16 256 colors icon, mainly to be used in the
Deskbar when your program is running. If you give bfixicon one image only,
both the large and small icon versions will be generated by stretching it.

It has two main execution modes: you can either directly pass it image files
from your hard drive or bitmaps and RLE sprites from an Allegro datafile.
The only difference between the two modes is for 8-bit images: in the former
case, bfixicon will automatically extract the palette from the image file,
whereas in the latter case you will have to explicitly provide a palette
object from the datafile.

The general syntax for the first mode is as follows:

   'bfixicon exename bitmap [bitmap]'

where 'exename' is the (supposed executable) file onto which the icons are
going to be attached, and each 'bitmap' is a source bitmap to be processed.

The general syntax for the second mode is as follows:

   'bfixicon exename -d datafile object [palette] [object [palette]]'

where 'exename' is the executable file to be patched (see above),
'datafile' is the source from which all objects are taken, and each
'object' is a bitmap or RLE sprite (DAT_BITMAP or DAT_RLE) within the
datafile, specified by name.

If you have used any 8-bit images, you must also specify a palette. For
each palette object you include on the command line, any images between
it and the last palette will be given that palette. For example:


   'bfixicon myprogram -d d.dat icon icon2 pal1'

will give both the icons called 'icon' and 'icon2' the palette 'pal1'.

An example of use is provided in the Allegro distribution: once you have
compiled and properly installed the library, type 'make fixdemo' from the
main directory.

