Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > a448496bc6699fe9a728c8c4b8431481 > files > 121

lib64wmf0.2_7-devel-0.2.8.4-16mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>api.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
<hr><h1>api.h File Reference</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a0">WMF_ERROR</a>(Z, M)&nbsp;&nbsp;&nbsp;wmf_error (Z,__FILE__,__LINE__,M)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a1">WMF_DEBUG</a>(Z, M)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a2">WMF_ASSERT</a>(Z, M)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a3">WMF_OPT_ALLOC</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a4">WMF_OPT_ARGS</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a5">WMF_OPT_FONTDIRS</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a6">WMF_OPT_FONTMAP</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a7">WMF_OPT_SYS_FONTS</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a8">WMF_OPT_SYS_FONTMAP</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a9">WMF_OPT_XTRA_FONTS</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;6)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a10">WMF_OPT_XTRA_FONTMAP</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;7)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a11">WMF_OPT_GS_FONTMAP</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;8)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a12">WMF_OPT_WRITE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;9)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a13">WMF_OPT_FUNCTION</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;10)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a14">WMF_OPT_MODULE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;11)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a15">WMF_OPT_MODULE_DIRS</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;12)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a16">WMF_OPT_IGNORE_NONFATAL</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;14)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a17">WMF_OPT_NO_ERROR</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;15)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a18">WMF_OPT_NO_DEBUG</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;16)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a19">WMF_OPT_LOG_ERROR</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;17)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a20">WMF_OPT_LOG_DEBUG</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;18)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a21">WMF_OPT_DIAGNOSTICS</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;19)</td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a22">wmf_api_create</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> **, unsigned long, <a class="el" href="types_8h.html#a21">wmfAPI_Options</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a23">wmf_api_destroy</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a24">wmf_lite_create</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> **, unsigned long, <a class="el" href="types_8h.html#a21">wmfAPI_Options</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a25">wmf_lite_destroy</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a26">wmf_header_read</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a27">wmf_scan</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, unsigned long, <a class="el" href="types_8h.html#a15">wmfD_Rect</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a28">wmf_play</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, unsigned long, <a class="el" href="types_8h.html#a15">wmfD_Rect</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a29">wmf_size</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, float *, float *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a30">wmf_display_size</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, unsigned int *, unsigned int *, double, double)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a31">wmf_bbuf_input</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, <a class="el" href="types_8h.html#a8">wmfRead</a>, <a class="el" href="types_8h.html#a9">wmfSeek</a>, <a class="el" href="types_8h.html#a10">wmfTell</a>, void *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a32">wmf_file_open</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, const char *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a33">wmf_file_close</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a34">wmf_mem_open</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, unsigned char *, long)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a35">wmf_mem_close</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a23">wmfStream</a> *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a36">wmf_ztream_create</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, gzFile)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a23">wmfStream</a> *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a37">wmf_stream_create</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, FILE *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a38">wmf_ztream_destroy</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, <a class="el" href="types_8h.html#a23">wmfStream</a> *, char **, unsigned long *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a39">wmf_stream_destroy</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, <a class="el" href="types_8h.html#a23">wmfStream</a> *, char **, unsigned long *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a40">wmf_stream_printf</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, <a class="el" href="types_8h.html#a23">wmfStream</a> *, char *,...)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a41">wmf_malloc</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, size_t)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a42">wmf_calloc</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, size_t, size_t)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a43">wmf_realloc</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, void *, size_t)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a44">wmf_free</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, void *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a45">wmf_detach</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, void *)</td></tr>
<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a46">wmf_strdup</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, const char *)</td></tr>
<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a47">wmf_str_append</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, char *, char *)</td></tr>
<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a48">wmf_strstr</a> (const char *, const char *)</td></tr>
<tr><td nowrap align=right valign=top>unsigned long&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a49">wmf_strbuf_grow</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a50">wmf_player_init</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *)</td></tr>
<tr><td nowrap align=right valign=top>U16&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a51">wmf_aldus_checksum</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *)</td></tr>
<tr><td nowrap align=right valign=top>U16&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a52">wmf_read_16</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *)</td></tr>
<tr><td nowrap align=right valign=top>U32&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a53">wmf_read_32</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, U16 *, U16 *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a54">wmf_file_read</a> (void *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a55">wmf_file_seek</a> (void *, long)</td></tr>
<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a56">wmf_file_tell</a> (void *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a57">wmf_mem_read</a> (void *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a58">wmf_mem_seek</a> (void *, long)</td></tr>
<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a59">wmf_mem_tell</a> (void *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a60">wmf_stream_zputs</a> (char *, void *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a61">wmf_stream_rezet</a> (void *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a62">wmf_stream_sputs</a> (char *, void *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a63">wmf_stream_reset</a> (void *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a64">wmf_error</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, char *, int, char *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a65">wmf_debug</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, char *, int, char *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a66">wmf_printf</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, char *,...)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a67">wmf_assert</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, char *, int)</td></tr>
<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a68">wmf_help</a> (void)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a69">wmf_set_viewport_origin</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, <a class="el" href="types_8h.html#a14">wmfD_Coord</a>)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a70">wmf_status_function</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, void *, <a class="el" href="types_8h.html#a13">wmfStatus</a>)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a71">wmf_write</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, unsigned long, unsigned int, const char *, char **, const unsigned char *, unsigned long)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a72">wmf_write_begin</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, const char *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a73">wmf_write_end</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a74">wmf_attr_new</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, <a class="el" href="types_8h.html#a25">wmfAttributes</a> *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a75">wmf_attr_clear</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, <a class="el" href="types_8h.html#a25">wmfAttributes</a> *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a76">wmf_attr_free</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, <a class="el" href="types_8h.html#a25">wmfAttributes</a> *)</td></tr>
<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a77">wmf_attr_add</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, <a class="el" href="types_8h.html#a25">wmfAttributes</a> *, const char *, const char *)</td></tr>
<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a78">wmf_attr_query</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, <a class="el" href="types_8h.html#a25">wmfAttributes</a> *, const char *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a5">wmf_error_t</a>&nbsp;</td><td valign=bottom><a class="el" href="api_8h.html#a79">wmf_wmfxml_import</a> (<a class="el" href="types_8h.html#a22">wmfAPI</a> *, const char *)</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a name="a2" doxytag="api.h::WMF_ASSERT"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_ASSERT</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">Z,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>M&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>Z</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>M</em>&nbsp;</td><td>
an &lt;expr&gt;, if zero then call <a class="el" href="api_8h.html#a67">wmf_assert()</a></td></tr>
</table>
</dl>(debug build only)     </td>
  </tr>
</table>
<a name="a1" doxytag="api.h::WMF_DEBUG"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_DEBUG</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">Z,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>M&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>Z</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>M</em>&nbsp;</td><td>
string to send to the debug stream via <a class="el" href="api_8h.html#a65">wmf_debug()</a></td></tr>
</table>
</dl>(debug build only)     </td>
  </tr>
</table>
<a name="a0" doxytag="api.h::WMF_ERROR"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_ERROR</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">Z,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>M&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;wmf_error (Z,__FILE__,__LINE__,M)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>Z</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>M</em>&nbsp;</td><td>
string to send to the error stream via <a class="el" href="api_8h.html#a64">wmf_error()</a> </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a3" doxytag="api.h::WMF_OPT_ALLOC"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_ALLOC&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
use provided [*]alloc/free functions     </td>
  </tr>
</table>
<a name="a4" doxytag="api.h::WMF_OPT_ARGS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_ARGS&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
check provided command line for --wmf-&lt;option&gt;     </td>
  </tr>
</table>
<a name="a21" doxytag="api.h::WMF_OPT_DIAGNOSTICS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_DIAGNOSTICS&nbsp;&nbsp;&nbsp;(1&lt;&lt;19)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
emit diagnostic information --wmf-diagnostics     </td>
  </tr>
</table>
<a name="a5" doxytag="api.h::WMF_OPT_FONTDIRS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_FONTDIRS&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
font directories specified     </td>
  </tr>
</table>
<a name="a6" doxytag="api.h::WMF_OPT_FONTMAP"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_FONTMAP&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
font mappings specified     </td>
  </tr>
</table>
<a name="a13" doxytag="api.h::WMF_OPT_FUNCTION"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_FUNCTION&nbsp;&nbsp;&nbsp;(1&lt;&lt;10)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
initialize device-layer with supplied function     </td>
  </tr>
</table>
<a name="a11" doxytag="api.h::WMF_OPT_GS_FONTMAP"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_GS_FONTMAP&nbsp;&nbsp;&nbsp;(1&lt;&lt;8)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
use specified ghostscript fontmap file     </td>
  </tr>
</table>
<a name="a16" doxytag="api.h::WMF_OPT_IGNORE_NONFATAL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_IGNORE_NONFATAL&nbsp;&nbsp;&nbsp;(1&lt;&lt;14)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
ignore (some) non-fatal errors --wmf-ignore-nonfatal     </td>
  </tr>
</table>
<a name="a20" doxytag="api.h::WMF_OPT_LOG_DEBUG"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_LOG_DEBUG&nbsp;&nbsp;&nbsp;(1&lt;&lt;18)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
divert debug reports to specified stream     </td>
  </tr>
</table>
<a name="a19" doxytag="api.h::WMF_OPT_LOG_ERROR"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_LOG_ERROR&nbsp;&nbsp;&nbsp;(1&lt;&lt;17)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
divert error reports to specified stream     </td>
  </tr>
</table>
<a name="a14" doxytag="api.h::WMF_OPT_MODULE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_MODULE&nbsp;&nbsp;&nbsp;(1&lt;&lt;11)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
initialize device-layer with specified module     </td>
  </tr>
</table>
<a name="a15" doxytag="api.h::WMF_OPT_MODULE_DIRS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_MODULE_DIRS&nbsp;&nbsp;&nbsp;(1&lt;&lt;12)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
check for module also in specified directories     </td>
  </tr>
</table>
<a name="a18" doxytag="api.h::WMF_OPT_NO_DEBUG"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_NO_DEBUG&nbsp;&nbsp;&nbsp;(1&lt;&lt;16)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
suppress all debug reports --wmf-debug     </td>
  </tr>
</table>
<a name="a17" doxytag="api.h::WMF_OPT_NO_ERROR"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_NO_ERROR&nbsp;&nbsp;&nbsp;(1&lt;&lt;15)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
suppress all error reports --wmf-error     </td>
  </tr>
</table>
<a name="a8" doxytag="api.h::WMF_OPT_SYS_FONTMAP"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_SYS_FONTMAP&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
use specified XML system fontmap file     </td>
  </tr>
</table>
<a name="a7" doxytag="api.h::WMF_OPT_SYS_FONTS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_SYS_FONTS&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
use system fonts, if found     </td>
  </tr>
</table>
<a name="a12" doxytag="api.h::WMF_OPT_WRITE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_WRITE&nbsp;&nbsp;&nbsp;(1&lt;&lt;9)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
write metafile to specified file     </td>
  </tr>
</table>
<a name="a10" doxytag="api.h::WMF_OPT_XTRA_FONTMAP"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_XTRA_FONTMAP&nbsp;&nbsp;&nbsp;(1&lt;&lt;7)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
use specified XML non-system fontmap file     </td>
  </tr>
</table>
<a name="a9" doxytag="api.h::WMF_OPT_XTRA_FONTS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define WMF_OPT_XTRA_FONTS&nbsp;&nbsp;&nbsp;(1&lt;&lt;6)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Option to <a class="el" href="api_8h.html#a22">wmf_api_create()</a>
<p>
use non-system fonts, if found     </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a51" doxytag="api.h::wmf_aldus_checksum"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> U16 wmf_aldus_checksum </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>API</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Compute the Aldus checksum of the metafile's header.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle</td></tr>
</table>
</dl>(Must read the header first, either via <a class="el" href="api_8h.html#a27">wmf_scan()</a> or by calling <a class="el" href="api_8h.html#a26">wmf_header_read()</a> directly.)
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the checksum. </dl>    </td>
  </tr>
</table>
<a name="a22" doxytag="api.h::wmf_api_create"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_api_create </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API_return</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned long&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>flags</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a21">wmfAPI_Options</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>options</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Creates and initializes an instance of the <b>libwmf</b> library for a specified device layer.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API_return</em>&nbsp;</td><td>
pointer to a wmfAPI* (the API handle use henceforth) </td></tr>
<tr><td valign=top><em>flags</em>&nbsp;</td><td>
bitwise OR of WMF_OPT_ options </td></tr>
<tr><td valign=top><em>options</em>&nbsp;</td><td>
pointer to wmfAPI_Options structure</td></tr>
</table>
</dl>This is the first and necessary step when using <b>libwmf</b>. Options are passed via the wmfAPI_Options structure and <code>flags</code>. wmf_api_create allocates the wmfAPI structure and initializes the color and font tables, the metafile player, and the device layer. If successful then the pointer to the wmfAPI structure is returned via <code>API_return</code>, otherwise all allocated memory is released and the library exits with an appropriate error.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
The error state of the library: <b>wmf_E_None</b> indicates successful creation and initialization of the library, and <code>*API_return</code> will be non-zero. For any other error value <code>*API_return</code> will be zero. </dl>    </td>
  </tr>
</table>
<a name="a23" doxytag="api.h::wmf_api_destroy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_api_destroy </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>API</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Close the device layer, if open, and release all allocated memory attached to the memory manager.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
The final error state of the library. </dl>    </td>
  </tr>
</table>
<a name="a67" doxytag="api.h::wmf_assert"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_assert </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>file</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>line</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the error state of the library to wmf_E_Assert.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>file</em>&nbsp;</td><td>
file name </td></tr>
<tr><td valign=top><em>line</em>&nbsp;</td><td>
line number</td></tr>
</table>
</dl>This should only be called via the macro <a class="el" href="api_8h.html#a2">WMF_ASSERT(API,&lt;expr&gt;)</a> which is defined (for debug builds only) as: <div class="fragment"><pre>
#define WMF_ASSERT(Z,M) if (!(M)) wmf_assert (Z,__FILE__,__LINE__)
</pre></div> i.e., if &lt;expr&gt; evaluates to 0 then call <a class="el" href="api_8h.html#a67">wmf_assert()</a> with current file name and line number.     </td>
  </tr>
</table>
<a name="a77" doxytag="api.h::wmf_attr_add"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char* wmf_attr_add </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a25">wmfAttributes</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add an name&amp;value to a wmfAttributes structure; returns ptr to value-in-list     </td>
  </tr>
</table>
<a name="a75" doxytag="api.h::wmf_attr_clear"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_attr_clear </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a25">wmfAttributes</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Clear/Empty a wmfAttributes structure     </td>
  </tr>
</table>
<a name="a76" doxytag="api.h::wmf_attr_free"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_attr_free </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a25">wmfAttributes</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Free memory associated with a wmfAttributes structure     </td>
  </tr>
</table>
<a name="a74" doxytag="api.h::wmf_attr_new"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_attr_new </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a25">wmfAttributes</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Initialize a wmfAttributes structure     </td>
  </tr>
</table>
<a name="a78" doxytag="api.h::wmf_attr_query"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char* wmf_attr_query </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a25">wmfAttributes</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return value of name in a wmfAttributes structure; returns 0 if name not found     </td>
  </tr>
</table>
<a name="a31" doxytag="api.h::wmf_bbuf_input"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_bbuf_input </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a8">wmfRead</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>fp_read</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a9">wmfSeek</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>fp_seek</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a10">wmfTell</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>fp_tell</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>user_data</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set custom metafile input-stream handler functions.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>fp_read</em>&nbsp;</td><td>
function to read a byte </td></tr>
<tr><td valign=top><em>fp_seek</em>&nbsp;</td><td>
function to set position </td></tr>
<tr><td valign=top><em>fp_tell</em>&nbsp;</td><td>
function to get position </td></tr>
<tr><td valign=top><em>user_data</em>&nbsp;</td><td>
handle for user data</td></tr>
</table>
</dl><b>libwmf</b> has simple methods for reading either from file or from memory, but many applications will want to use customized variants of these. <a class="el" href="api_8h.html#a31">wmf_bbuf_input()</a> enables this.
<p>
<div class="fragment"><pre>
typedef int  (*wmfRead) (void* user_data);
typedef int  (*wmfSeek) (void* user_data,long position);
typedef long (*wmfTell) (void* user_data);
</pre></div>
<p>
<b><a class="el" href="types_8h.html#a8">wmfRead</a></b> returns unsigned char cast to int, or EOF (cf. fgetc())
<p>
<b><a class="el" href="types_8h.html#a9">wmfSeek</a></b> returns (-1) on error, otherwise 0 (cf. fseek())
<p>
<b><a class="el" href="types_8h.html#a10">wmfTell</a></b> returns (-1) on error, otherwise current position (cf. ftell())
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the library error state (<b>wmf_E_None</b> on success). Possible library error state of <b>wmf_E_Glitch</b>, if any of the three functions is zero. </dl>    </td>
  </tr>
</table>
<a name="a42" doxytag="api.h::wmf_calloc"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* wmf_calloc </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>number</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>size</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Allocate memory of specified size and attach to the API's memory manager's internal list.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>number</em>&nbsp;</td><td>
number or elements </td></tr>
<tr><td valign=top><em>size</em>&nbsp;</td><td>
size in bytes of memory required by one element</td></tr>
</table>
</dl>With syntax similar to calloc(), <a class="el" href="api_8h.html#a42">wmf_calloc()</a> allocates <code>number</code> * <code>size</code> bytes of memory and adds a reference to it in the memory manager's list. To free the memory, use <a class="el" href="api_8h.html#a44">wmf_free()</a>.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Pointer to new memory, or zero on failure. Sets error state <b>wmf_E_InsMem</b> on failure. </dl>    </td>
  </tr>
</table>
<a name="a65" doxytag="api.h::wmf_debug"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_debug </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>file</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>line</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>msg</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Print message to debug stream.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>file</em>&nbsp;</td><td>
file name </td></tr>
<tr><td valign=top><em>line</em>&nbsp;</td><td>
line number </td></tr>
<tr><td valign=top><em>msg</em>&nbsp;</td><td>
message to print</td></tr>
</table>
</dl>This should only be called via the macro <a class="el" href="api_8h.html#a1">WMF_DEBUG(API,msg)</a> which (in debug builds only) calls <a class="el" href="api_8h.html#a65">wmf_debug()</a> with the current file name and line number.     </td>
  </tr>
</table>
<a name="a45" doxytag="api.h::wmf_detach"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_detach </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mem</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Detach memory attached to the API's memory manager's internal list.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>mem</em>&nbsp;</td><td>
pointer to memory previously allocated via the API</td></tr>
</table>
</dl>This removes the reference in the API's memory manager's internal list, and the memory will not, therefore, be released by <a class="el" href="api_8h.html#a23">wmf_api_destroy()</a>. To free subsequently, use free().     </td>
  </tr>
</table>
<a name="a30" doxytag="api.h::wmf_display_size"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_display_size </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned int *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>width</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned int *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>height</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>double&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>res_x</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>double&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>res_y</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get estimate of image display size.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>width</em>&nbsp;</td><td>
width return </td></tr>
<tr><td valign=top><em>height</em>&nbsp;</td><td>
height return </td></tr>
<tr><td valign=top><em>res_x</em>&nbsp;</td><td>
x-resolution of display </td></tr>
<tr><td valign=top><em>res_y</em>&nbsp;</td><td>
y-resolution of display</td></tr>
</table>
</dl><a class="el" href="api_8h.html#a30">wmf_display_size()</a> returns image width in <code>*width</code> and image height in <code>*height</code>. <a class="el" href="api_8h.html#a29">wmf_size()</a> is used to get the calculated/estimate width and height of the image, and these values are converted to integer width and height estimates for display.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the library error state (<b>wmf_E_None</b> on success). Possible library error state of <b>wmf_E_Glitch</b> (the metafile has not been scanned). </dl>    </td>
  </tr>
</table>
<a name="a64" doxytag="api.h::wmf_error"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_error </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>file</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>line</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>msg</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Print message to error stream.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>file</em>&nbsp;</td><td>
file name </td></tr>
<tr><td valign=top><em>line</em>&nbsp;</td><td>
line number </td></tr>
<tr><td valign=top><em>msg</em>&nbsp;</td><td>
message to print</td></tr>
</table>
</dl>This should only be called via the macro <a class="el" href="api_8h.html#a0">WMF_ERROR(API,msg)</a> which calls <a class="el" href="api_8h.html#a64">wmf_error()</a> with the current file name and line number.     </td>
  </tr>
</table>
<a name="a33" doxytag="api.h::wmf_file_close"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_file_close </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>API</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Close metafile input file stream.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
Returns the library error state (<b>wmf_E_None</b> on success). Possible library error state of <b>wmf_E_Glitch</b>. </dl>    </td>
  </tr>
</table>
<a name="a32" doxytag="api.h::wmf_file_open"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_file_open </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>file</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Open file as metafile.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>file</em>&nbsp;</td><td>
file name</td></tr>
</table>
</dl>Simple method for reading from file.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the library error state (<b>wmf_E_None</b> on success). Possible library error states of <b>wmf_E_Glitch</b> or <b>wmf_E_BadFile</b>. </dl>    </td>
  </tr>
</table>
<a name="a54" doxytag="api.h::wmf_file_read"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int wmf_file_read </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
file input (wmf_file_open): fgetc()     </td>
  </tr>
</table>
<a name="a55" doxytag="api.h::wmf_file_seek"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int wmf_file_seek </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>long&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
file input (wmf_file_open): fseek()     </td>
  </tr>
</table>
<a name="a56" doxytag="api.h::wmf_file_tell"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> long wmf_file_tell </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
file input (wmf_file_open): ftell()     </td>
  </tr>
</table>
<a name="a44" doxytag="api.h::wmf_free"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_free </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mem</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Frees memory attached to the API's memory manager's internal list.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>mem</em>&nbsp;</td><td>
pointer to memory previously allocated via the API</td></tr>
</table>
</dl>Syntax is similar to free().     </td>
  </tr>
</table>
<a name="a26" doxytag="api.h::wmf_header_read"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_header_read </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>API</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Read the metafile's header.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle</td></tr>
</table>
</dl>(Must read the header first, either via <a class="el" href="api_8h.html#a27">wmf_scan()</a> or by calling <a class="el" href="api_8h.html#a26">wmf_header_read()</a> directly.)
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the library error state (<b>wmf_E_None</b> on success). Possible library error states of <b>wmf_E_Glitch</b>, <b>wmf_E_BadFormat</b> (bad header), <b>wmf_E_BadFile</b> (no open input stream) and <b>wmf_E_EOF</b> (premature end-of-file). </dl>    </td>
  </tr>
</table>
<a name="a68" doxytag="api.h::wmf_help"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* wmf_help </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<div class="fragment"><pre> 
Additional wmf-related options:

  --wmf-error[=yes|no]            switch for error reports.
  --wmf-debug[=yes|no]            switch for debug reports, if any.
  --wmf-ignore-nonfatal[=yes|no]  switch to ignore (some) non-fatal errors.
  --wmf-diagnostics               emit diagnostic information.
  --wmf-fontdir=&lt;path&gt;            add &lt;path&gt; to list of font directories.
  --wmf-sys-fonts                 use system fonts, if any found.
  --wmf-sys-fontmap=&lt;file&gt;        use system xml-fontmap file &lt;file&gt;.
  --wmf-xtra-fonts                use non-system fonts, if any found.
  --wmf-xtra-fontmap=&lt;file&gt;       use non-system xml-fontmap file &lt;file&gt;.
  --wmf-gs-fontmap=&lt;file&gt;         use ghostscript file &lt;file&gt;.
  --wmf-write=&lt;file&gt;              write metafile to &lt;file&gt;.

Report bugs to &lt;http://www.wvware.com/&gt;.
</pre></div>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the above as a string. </dl>    </td>
  </tr>
</table>
<a name="a24" doxytag="api.h::wmf_lite_create"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_lite_create </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API_return</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned long&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>flags</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a21">wmfAPI_Options</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>options</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Creates and initializes an instance of the <b>libwmf</b> library (lite interface) for a specified device layer.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API_return</em>&nbsp;</td><td>
pointer to a wmfAPI* (the API handle use henceforth) </td></tr>
<tr><td valign=top><em>flags</em>&nbsp;</td><td>
bitwise OR of WMF_OPT_ options </td></tr>
<tr><td valign=top><em>options</em>&nbsp;</td><td>
pointer to wmfAPI_Options structure</td></tr>
</table>
</dl>This is the first and necessary step when using <b>libwmf</b>. Options are passed via the wmfAPI_Options structure and <code>flags</code>. wmf_api_create allocates the wmfAPI structure and initializes the color tables, the metafile player, and the device layer. If successful then the pointer to the wmfAPI structure is returned via <code>API_return</code>, otherwise all allocated memory is released and the library exits with an appropriate error.
<p>
wmf_lite_create () ignores command line arguments, if any are given, and does <b>not</b> attempt to set up font mapping.
<p>
The library should be closed using the corresponding wmf_lite_destroy () function.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
The error state of the library: <b>wmf_E_None</b> indicates successful creation and initialization of the library, and <code>*API_return</code> will be non-zero. For any other error value <code>*API_return</code> will be zero. </dl>    </td>
  </tr>
</table>
<a name="a25" doxytag="api.h::wmf_lite_destroy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_lite_destroy </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>API</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Close the device layer, if open, and release all allocated memory attached to the memory manager.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
The final error state of the library. </dl>    </td>
  </tr>
</table>
<a name="a41" doxytag="api.h::wmf_malloc"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* wmf_malloc </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>size</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Allocate memory of specified size and attach to the API's memory manager's internal list.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>size</em>&nbsp;</td><td>
size in bytes of memory required</td></tr>
</table>
</dl>With syntax similar to malloc(), <a class="el" href="api_8h.html#a41">wmf_malloc()</a> allocates <code>size</code> bytes of memory and adds a reference to it in the memory manager's list. To free the memory, use <a class="el" href="api_8h.html#a44">wmf_free()</a>.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Pointer to new memory, or zero on failure. Sets error state <b>wmf_E_InsMem</b> on failure. </dl>    </td>
  </tr>
</table>
<a name="a35" doxytag="api.h::wmf_mem_close"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_mem_close </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>API</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Close metafile input memory stream.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
Returns the library error state (<b>wmf_E_None</b> on success). </dl>    </td>
  </tr>
</table>
<a name="a34" doxytag="api.h::wmf_mem_open"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_mem_open </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mem</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>long&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>length</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Open metafile in memory.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>mem</em>&nbsp;</td><td>
the metafile in memory </td></tr>
<tr><td valign=top><em>length</em>&nbsp;</td><td>
the length in bytes of metafile data</td></tr>
</table>
</dl>Simple method for reading from memory as array of unsigned char.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the library error state (<b>wmf_E_None</b> on success). Possible library error state of <b>wmf_E_Glitch</b>. </dl>    </td>
  </tr>
</table>
<a name="a57" doxytag="api.h::wmf_mem_read"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int wmf_mem_read </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
memory input (wmf_mem_open): fgetc() equiv.     </td>
  </tr>
</table>
<a name="a58" doxytag="api.h::wmf_mem_seek"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int wmf_mem_seek </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>long&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
memory input (wmf_mem_open): fseek() equiv.     </td>
  </tr>
</table>
<a name="a59" doxytag="api.h::wmf_mem_tell"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> long wmf_mem_tell </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
memory input (wmf_mem_open): ftell() equiv.     </td>
  </tr>
</table>
<a name="a28" doxytag="api.h::wmf_play"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_play </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned long&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>flags</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a15">wmfD_Rect</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>d_r</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Play the metafile.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>flags</em>&nbsp;</td><td>
(unused) </td></tr>
<tr><td valign=top><em>d_r</em>&nbsp;</td><td>
for bounding-box return</td></tr>
</table>
</dl>Before the metafile can be played, it must be scanned - see <a class="el" href="api_8h.html#a27">wmf_scan()</a>.
<p>
The first time (and only the first time) the metafile is played, it first calls <b>device_open()</b> for the device layer specified (and initialized) in <a class="el" href="api_8h.html#a22">wmf_api_create()</a>. Then, and also each subsequent time the metafile is played, it calls <b>device_begin()</b>, plays the metafile (with calls to various other device layer functions), and finally it calls <b>device_end()</b>. <b>device_close()</b> is only ever called via <a class="el" href="api_8h.html#a23">wmf_api_destroy()</a>.
<p>
<code>d_r</code> is recomputed, but should not change.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the library error state (<b>wmf_E_None</b> on success). </dl>    </td>
  </tr>
</table>
<a name="a50" doxytag="api.h::wmf_player_init"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_player_init </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Initializes the metafile player (called by <a class="el" href="api_8h.html#a22">wmf_api_create()</a>)     </td>
  </tr>
</table>
<a name="a66" doxytag="api.h::wmf_printf"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_printf </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>msg</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>...&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Print formatted message to debug stream.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>msg</em>&nbsp;</td><td>
message to print</td></tr>
</table>
</dl>With syntax similar to printf(), <a class="el" href="api_8h.html#a66">wmf_printf()</a> prints formatted output to the debug stream.     </td>
  </tr>
</table>
<a name="a52" doxytag="api.h::wmf_read_16"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> U16 wmf_read_16 </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Reads a two-byte sequence from the current metafile, returns U16     </td>
  </tr>
</table>
<a name="a53" doxytag="api.h::wmf_read_32"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> U32 wmf_read_32 </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>U16 *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>U16 *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Reads a four-byte sequence from the current metafile, returns U32     </td>
  </tr>
</table>
<a name="a43" doxytag="api.h::wmf_realloc"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* wmf_realloc </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mem</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>size</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
(Re)Allocate memory of specified size and attach to the API's memory manager's internal list.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>mem</em>&nbsp;</td><td>
pointer to memory previously allocated via the API </td></tr>
<tr><td valign=top><em>size</em>&nbsp;</td><td>
new size in bytes of memory required</td></tr>
</table>
</dl>With syntax similar to realloc(), <a class="el" href="api_8h.html#a43">wmf_realloc()</a> allocates <code>size</code> bytes of memory and adds a reference to it in the memory manager's list. To free the memory, use <a class="el" href="api_8h.html#a44">wmf_free()</a>. If <code>mem</code> is zero, this is equivalent to a call to <a class="el" href="api_8h.html#a41">wmf_malloc()</a>. If <code>size</code> is zero, the memory is released via <a class="el" href="api_8h.html#a44">wmf_free()</a>.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Pointer to new memory, or zero on failure. Sets error state <b>wmf_E_InsMem</b> on failure. </dl>    </td>
  </tr>
</table>
<a name="a27" doxytag="api.h::wmf_scan"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_scan </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned long&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>flags</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a15">wmfD_Rect</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>d_r</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Scan the metafile.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>flags</em>&nbsp;</td><td>
(unused) </td></tr>
<tr><td valign=top><em>d_r</em>&nbsp;</td><td>
for bounding-box return</td></tr>
</table>
</dl>Before the metafile can be played, it must be scanned. This is because metafile headers do not always provide image size information. Although the device layer (the graphics exporter) is initialized in <a class="el" href="api_8h.html#a22">wmf_api_create()</a>, the output device is not opened until after the metafile is scanned. By scanning, therefore, the device layer can be provided on opening not only with size information but also a list of colors to expect (not including those in raster images) and of other required resources, if necessary. Finally, if scanning fails, then there's certainly no point in playing the metafile.
<p>
The bounding box, in device coordinates, is returned in <code>*d_r</code>.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the library error state (<b>wmf_E_None</b> on success). </dl>    </td>
  </tr>
</table>
<a name="a69" doxytag="api.h::wmf_set_viewport_origin"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_set_viewport_origin </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a14">wmfD_Coord</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>d_pt</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the device origin coordinate.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>d_pt</em>&nbsp;</td><td>
origin in device coordinates</td></tr>
</table>
</dl>Not really recommended.     </td>
  </tr>
</table>
<a name="a29" doxytag="api.h::wmf_size"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_size </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>float *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>width</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>float *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>height</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get image size.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>width</em>&nbsp;</td><td>
width return </td></tr>
<tr><td valign=top><em>height</em>&nbsp;</td><td>
height return</td></tr>
</table>
</dl><a class="el" href="api_8h.html#a29">wmf_size()</a> returns image width in <code>*width</code> and image height in <code>*height</code>. If supplied, the metafile header values are used, otherwise the width and height found by <a class="el" href="api_8h.html#a27">wmf_scan()</a> are used.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the library error state (<b>wmf_E_None</b> on success). Possible library error state of <b>wmf_E_Glitch</b> (the metafile has not been scanned). </dl>    </td>
  </tr>
</table>
<a name="a70" doxytag="api.h::wmf_status_function"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_status_function </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>context</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a13">wmfStatus</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>function</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set a status call-back function.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>context</em>&nbsp;</td><td>
handle for user data </td></tr>
<tr><td valign=top><em>function</em>&nbsp;</td><td>
call-back function</td></tr>
</table>
</dl>The metafile player calls the status function after each record.     </td>
  </tr>
</table>
<a name="a47" doxytag="api.h::wmf_str_append"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* wmf_str_append </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>pre</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>post</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create concatenatation of two strings and attach to the API's memory manager's internal list.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>pre</em>&nbsp;</td><td>
a string </td></tr>
<tr><td valign=top><em>post</em>&nbsp;</td><td>
a string</td></tr>
</table>
</dl><a class="el" href="api_8h.html#a47">wmf_str_append()</a> allocates the necessary memory via <a class="el" href="api_8h.html#a41">wmf_malloc()</a>, copies <code>pre</code> into the string and appends <code>post</code>. Use <a class="el" href="api_8h.html#a44">wmf_free()</a> to free the string.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Pointer to new string, or zero on failure. Sets error state <b>wmf_E_InsMem</b> on failure, or <b>wmf_E_Glitch</b> if str is zero. </dl>    </td>
  </tr>
</table>
<a name="a49" doxytag="api.h::wmf_strbuf_grow"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> unsigned long wmf_strbuf_grow </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>API</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Increase the size of the internal string buffer.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle</td></tr>
</table>
</dl><b>libwmf</b> maintains an internal buffer for string operations. <a class="el" href="api_8h.html#a49">wmf_strbuf_grow()</a> increases the size by 64.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the new size of the buffer. Uses <a class="el" href="api_8h.html#a43">wmf_realloc()</a>, so may set <b>wmf_E_InsMem</b> on failure. </dl>    </td>
  </tr>
</table>
<a name="a46" doxytag="api.h::wmf_strdup"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* wmf_strdup </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>str</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Duplicate string and attach to the API's memory manager's internal list.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>str</em>&nbsp;</td><td>
a string</td></tr>
</table>
</dl>With syntax similar to strdup(), <a class="el" href="api_8h.html#a46">wmf_strdup()</a> allocates the necessary memory via <a class="el" href="api_8h.html#a41">wmf_malloc()</a> and copies the string. Use <a class="el" href="api_8h.html#a44">wmf_free()</a> to free the string.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Pointer to new string, or zero on failure. Sets error state <b>wmf_E_InsMem</b> on failure, or <b>wmf_E_Glitch</b> if str is zero. </dl>    </td>
  </tr>
</table>
<a name="a37" doxytag="api.h::wmf_stream_create"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a23">wmfStream</a>* wmf_stream_create </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>FILE *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>out</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Open an uncompressed character output stream.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>out</em>&nbsp;</td><td>
descriptor for a file stream; or zero to write to memory</td></tr>
</table>
</dl><a class="el" href="api_8h.html#a37">wmf_stream_create()</a> creates a <b><a class="el" href="types_8h.html#a23">wmfStream</a></b> (a character-based output stream) for output to a file or, if <code>out</code> is zero, to memory.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns a <b><a class="el" href="types_8h.html#a23">wmfStream</a></b> pointer, or zero on failure. Possible library error states of <b>wmf_E_InsMem</b> or <b>wmf_E_BadFile</b>. </dl>    </td>
  </tr>
</table>
<a name="a39" doxytag="api.h::wmf_stream_destroy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_stream_destroy </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a23">wmfStream</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>stream</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned long *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>length</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Close an uncompressed character output stream.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>stream</em>&nbsp;</td><td>
stream handle </td></tr>
<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
for memory return </td></tr>
<tr><td valign=top><em>length</em>&nbsp;</td><td>
for length return</td></tr>
</table>
</dl>In the case of write-to-memory, on return <code>*buffer</code> is an array of length <code>length</code>.     </td>
  </tr>
</table>
<a name="a40" doxytag="api.h::wmf_stream_printf"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int wmf_stream_printf </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a23">wmfStream</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>stream</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>...&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Formatted print to character output stream.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>stream</em>&nbsp;</td><td>
stream handle </td></tr>
<tr><td valign=top><em>format</em>&nbsp;</td><td>
print format</td></tr>
</table>
</dl>With syntax similar to printf(), <a class="el" href="api_8h.html#a40">wmf_stream_printf()</a> prints a formatted message to a <b><a class="el" href="types_8h.html#a23">wmfStream</a></b> character stream.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns the number of characters written, or zero on failure. Possible library error state of <b>wmf_E_InsMem</b>. </dl>    </td>
  </tr>
</table>
<a name="a63" doxytag="api.h::wmf_stream_reset"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int wmf_stream_reset </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
uncompressed char output (wmf_stream_create): rewind()     </td>
  </tr>
</table>
<a name="a61" doxytag="api.h::wmf_stream_rezet"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int wmf_stream_rezet </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
compressed char output (wmf_ztream_create): rewind()     </td>
  </tr>
</table>
<a name="a62" doxytag="api.h::wmf_stream_sputs"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int wmf_stream_sputs </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
uncompressed char output (wmf_stream_create): fputs()     </td>
  </tr>
</table>
<a name="a60" doxytag="api.h::wmf_stream_zputs"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int wmf_stream_zputs </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
compressed char output (wmf_ztream_create): fputs()     </td>
  </tr>
</table>
<a name="a48" doxytag="api.h::wmf_strstr"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* wmf_strstr </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>haystack</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>needle</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Substring search.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>haystack</em>&nbsp;</td><td>
a string </td></tr>
<tr><td valign=top><em>needle</em>&nbsp;</td><td>
a substring to search for in haystack</td></tr>
</table>
</dl>With syntax identical to strstr(), <a class="el" href="api_8h.html#a48">wmf_strstr()</a> searches for string <code>needle</code> in string <code>haystack</code>.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Pointer to substring <code>needle</code> found in <code>haystack</code>, or zero if not found. </dl>    </td>
  </tr>
</table>
<a name="a79" doxytag="api.h::wmf_wmfxml_import"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a5">wmf_error_t</a> wmf_wmfxml_import </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Load wmfxml file and <a class="el" href="api_8h.html#a34">wmf_mem_open()</a> it     </td>
  </tr>
</table>
<a name="a71" doxytag="api.h::wmf_write"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_write </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>long</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>int</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const unsigned char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>long</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Writes to --wmf-write file (which may be WMF or home-made wmfxml)     </td>
  </tr>
</table>
<a name="a72" doxytag="api.h::wmf_write_begin"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_write_begin </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Open --wmf-write file (which may be WMF or home-made wmfxml)     </td>
  </tr>
</table>
<a name="a73" doxytag="api.h::wmf_write_end"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_write_end </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Close --wmf-write file (which may be WMF or home-made wmfxml)     </td>
  </tr>
</table>
<a name="a36" doxytag="api.h::wmf_ztream_create"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a23">wmfStream</a>* wmf_ztream_create </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>gzFile&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>out</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Open a compressed character output stream.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>out</em>&nbsp;</td><td>
descriptor for a zlib compressed file stream</td></tr>
</table>
</dl><a class="el" href="api_8h.html#a36">wmf_ztream_create()</a> creates a <b><a class="el" href="types_8h.html#a23">wmfStream</a></b> (a character-based output stream) for output to a file opened via <b>zlib</b>. (Writing compressed data to memory is not currently supported.)
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Returns a <b><a class="el" href="types_8h.html#a23">wmfStream</a></b> pointer, or zero on failure. Possible library error state of <b>wmf_E_InsMem</b>. </dl>    </td>
  </tr>
</table>
<a name="a38" doxytag="api.h::wmf_ztream_destroy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void wmf_ztream_destroy </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a22">wmfAPI</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>API</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a23">wmfStream</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>stream</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned long *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>length</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Close a compressed character output stream.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>API</em>&nbsp;</td><td>
the API handle </td></tr>
<tr><td valign=top><em>stream</em>&nbsp;</td><td>
stream handle </td></tr>
<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
(unused) </td></tr>
<tr><td valign=top><em>length</em>&nbsp;</td><td>
(unused) </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<hr><address style="align: right;"><small>Generated on Tue Dec 10 19:53:47 2002 for libwmf by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.18 </small></address>
</body>
</html>