blob: 7e5623238e2f3d9963e44e5790f7f25b2fc5ec47 [file] [log] [blame]
<!doctype HTML public "-//W3O//DTD W3 HTML 2.0//EN">
<HTML>
<HEAD>
<TITLE>gifcompose</TITLE>
<link rev=made href=mailto:esr@snark.thyrsus.com>
</HEAD>
<BODY>
Go to <a href="index.html">index page</a>.
<CENTER><H1>gifcompose</H1></CENTER>
The gifcompose program uses the GIFLIB utility tools to support a minilanguage
for describing GIF pasteup sequences.<P>
<H1>Usage:</H1>
<pre>
gifcompose [-v] &lt;specfile
</pre>
<H1>Specification Syntax</H1>
The gifcompose tool takes a series of text lines and interprets them as
commands to do pasteup operations. The commands are:<P>
<CENTER><H2>Generators</H2></CENTER>
<DL>
<DT><CODE>gif &lt;name&gt;</CODE><DD>
Paste in &lt;name&gt;.gif<P>
<DT><CODE>raw &lt;name&gt; &lt;width&gt; &lt;height&gt;</CODE><DD>
Paste in the given raw-format file (no suffix supplied). Raw format
is a stream of 8-bit indices into the EGA color map. Accordingly, the
width and height must be specified, and the source must be exactly
width times height bytes long.<P>
<DT><CODE>rgb &lt;name&gt; &lt;width&gt; &lt;height&gt;</CODE><DD>
Paste in the given RGB-format file (no suffix supplied). Raw format
is a stream of 24-bit color values. Accordingly, the width and height
must be specified, and the source must be exactly 3 times width times
height bytes long.<P>
<DT><CODE>rle &lt;name&gt;</CODE><DD>
Paste in the given RLE-format file (no suffix supplied). This converts
the Utah Raster Kit format to GIF.<P>
<DT><CODE>text &lt;text&gt; [foreground &lt;index&gt;] [color &lt;r&gt; &lt;g&gt; &lt;b&gt;]</CODE><DD>
Copy 8x8 monospace font, with transparent background and index 1 as
foreground. If the text string contains whitespaces, they must be
escaped or the string must be quoted (shell conventions).<P>
The optional suffix `foreground &lt;n&gt;' sets the foreground color index.
The optional suffix `color &lt;r&gt; &lt;g&gt; &lt;b&gt;' sets the RGB color to be used
for the foreground index.<P>
</DL>
Each generator operation may be followed by any combination of the
following suffixes:
<CENTER><H2>Modifiers</H2></CENTER>
<DT><CODE>at &lt;x&gt; &lt;y&gt;</CODE><DD>
Place the image at the given (upper-left-hand-corner) coordinates
in the pasted-up result.<P>
<DT><CODE>clip &lt;name&gt; &lt;top-x&gt; &lt;top-y&gt; &lt;bottom-x&gt; &lt;bottom-y&gt;</CODE><DD>
Clip image using the given rectange, paste it onto.<P>
<DT><CODE>xflip</CODE><DD>
Flip the image around the X axis before placing it.<P>
<DT><CODE>yflip</CODE><DD>
Flip the image around the Y axis before placing it.<P>
<DT><CODE>left</CODE><DD>
Rotate the image 90 degrees counterclockwise before placing it.<P>
<DT><CODE>right</CODE><DD>
Rotate the image 90 degrees clockwise before placing it.<P>
<CENTER><H2>Target Operations</H2></CENTER>
<DT><CODE>screen size &lt;x-size&gt; &lt;y-size&gt;</CODE><DD>
Set the global screen size of the final image.<P>
<DT><CODE>screen position &lt;x&gt; &lt;y&gt;</CODE><DD>
Set the global screen position of the final image.<P>
<CENTER><H2>Comments</H2></CENTER>
Comments or comment lines may be preceded with `#' and will be ignored.<P>
<H1>Memory required:</H1>
Proportional to the size of the largest pasted image.<P>
<H1>Options:</H1>
<DL>
<DT> [-v]
<DD> Emit a report on each composition action to stderr as it happens.
</DL>
<H1>Bugs:</H1>
The suffix sequence `left left' sometimes mysteriously fails to work,
probably due to some restriction in <a href="gifflip.html">gifflip</a>.<P>
No support for resizing or odd-angle rotations yet.<P>
The `color' suffix of text is a no-op, because the present version of
<a href="gifovly.html">gifovly</a> throws away color tables.<P>
Error checking is rudimentary.<P>
<H1>Author:</H1>
Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;
<HR>
<ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>
</BODY>
</HTML>