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 © 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.