reswrap(1)                  FOX Programmers Manual                  reswrap(1)



NAME
       reswrap - wrap icon resources into C code

SYNOPSIS
       reswrap [options] [-o[a] outfile] files...

DESCRIPTION
       Reswrap is a tool to turn images, text, and other resource files into
       C++ data arrays.  This allows various binary resources to be embedded
       in the source code, and compiled into an application.

       In development of graphical applications with FOX, it is used to embed
       icons and images for the user interface into the executable and
       eliminate the need to distribute separate icon and image files.

       Reswrap is typically invoked as a part of the build process to generate
       C++ source files from a collection of icons and images and other binary
       resources.

       By default reswrap will interpret the files listed as a stream of raw
       bytes and output them as an initialized data array to stdout.

OPTIONS
       -o[a] outfile
              Write the result into the file outfile instead of writing to
              stdout. With -o the outfile will be overwritten with the data
              from the input.  With the -oa option, the resulting code is
              appended to the output file, allowing multiple input files to be
              placed into one single source file.


       -h     Print a short usage message.


       -v     Just print out the version number and license information.


       -d     Write data as decimal numbers instead of using the default
              hexadecimal numbers.


       -m     Read files with MS-DOS mode (default is binary).  This replaces
              "\r\n" with "\n" when reading the resource file.


       -x     Write data as hexadecimal numbers (default).


       -t[a]  Write data as a text string, with each byte represented as a
              hexadecimal excape sequence, as in "\x33".

              Note that the C++ compiler appends a nul-character at the end of
              the text string, thus making the data array one character longer
              than the file.

              With the a option, printable ascii characters are passed
              unescaped, while special characters like tabs and newlines are
              given the usual escape codes.


       -e     Places the storage modifier extern in front of the data array,
              ensuring that the data array can be linked with other
              compilation units.  Normally, constant declarations are not
              visible in other compilation units.


       -i     Instead of generating an array definition only write a
              declaration, which can be included as a header file.


       -k     This option causes reswrap to keep the file extension, replacing
              the "."  with an underscore "_".  Usage of this option is
              recommended as it reduces errors when using the data arrays.


       -s     This option suppresses comments inserted by reswrap to indicate
              the original file name from which the data statement was
              generated.


       -p prefix
              Prepend the given prefix in front of the name of the resource;
              this may be used to generate class names or namespace names in
              front of symbols.


       -n namespace
              Generate all declarations inside the given C++ namespace
              declaration.  Using a namespace may be used to ensure that
              declarations are only accessible within the given scope, and
              thus won't clash with symbols.


       -c cols
              Writes cols columns instead of the default number of columns in
              the data statements generated by reswrap.  The default number of
              columns for decimal and hex printout is 16 characters; the
              default for text string printout is 80 characters.


       -u     Force output as unsigned chars in text mode.


       -z     Output the size of the resource in the declaration of a
              resource-array.  This allows the C++ sizeof() operator to return
              the correct size of the resource even for external declarations.
              Note that in text mode, (-t option), an extra byte is added to
              the size for the end of string character.


       -r name
              Instead of using a resource name based on the filename, reswrap
              substitutes name for the resource name used in the declaration
              or definition for the following resource file.  This is useful
              if the filename can not be used as an identifier, for example if
              the filename is a reserved word in C or C++, like "while".


CAVEATS
       When using the text string mode, please remember the C compiler appends
       one nul-character after the string, making the data array one element
       longer than the resource file.

AUTHOR
       This manpage was originally written by Torsten Landschoff
       (torsten@debian.org) for the Debian distribution of the FOX Toolkit,
       and is currently maintained by Jeroen van der Zijp (jeroen@fox-
       toolkit.org).

COPYRIGHT
       Copyright (C) 1997,2005 Jeroen van der Zijp.
       This is free software; see the source for copying conditions.  There is
       NO warranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR
       PURPOSE.

SEE ALSO
       The reswrap program is a part of the FOX GUI Toolkit.  Further
       information about reswrap can be found at:

       http://www.fox-toolkit.org

       The FOX Toolkit website includes detailed information about reswrap and
       its use.




The FOX C++ GUI Toolkit            Sept 2005                        reswrap(1)
