<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>libgutenprint API Reference: include/gutenprint/dither.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libgutenprint API Reference  <span id="projectnumber">5.2.9</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_1aca62f7c2d1ca2bd7aa79274e259f3c.html">gutenprint</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">dither.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Dither functions. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__dither__matrix__short.html">stp_dither_matrix_short</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__dither__matrix__normal.html">stp_dither_matrix_normal</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__dither__matrix__generic.html">stp_dither_matrix_generic</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structdither__matrix__impl.html">dither_matrix_impl</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__dotsize.html">stp_dotsize</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__shade.html">stp_shade</a></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a9da4fbd724d498250c7129ccbb88c9a3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a9da4fbd724d498250c7129ccbb88c9a3">STP_ECOLOR_K</a>   0</td></tr> <tr class="memitem:afb855574a9dd1ce3c0ac8e353917cf40"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#afb855574a9dd1ce3c0ac8e353917cf40">STP_ECOLOR_C</a>   1</td></tr> <tr class="memitem:a42c70bd6031d27d8ce2ab23133f7ed71"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a42c70bd6031d27d8ce2ab23133f7ed71">STP_ECOLOR_M</a>   2</td></tr> <tr class="memitem:aac7bfac809059b8c99338dfa9347cf85"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#aac7bfac809059b8c99338dfa9347cf85">STP_ECOLOR_Y</a>   3</td></tr> <tr class="memitem:abda31f8e7a9e473057644a5fe4a2339b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#abda31f8e7a9e473057644a5fe4a2339b">STP_NCOLORS</a>   (4)</td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:a9a2c54a4730e2c9bb25cf95f6cd3e597"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structstp__dither__matrix__short.html">stp_dither_matrix_short</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a9a2c54a4730e2c9bb25cf95f6cd3e597">stp_dither_matrix_short_t</a></td></tr> <tr class="memitem:afebf0484e151cf3cce4ef0b9911d0022"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structstp__dither__matrix__normal.html">stp_dither_matrix_normal</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#afebf0484e151cf3cce4ef0b9911d0022">stp_dither_matrix_normal_t</a></td></tr> <tr class="memitem:a9f5f63d4f792df1d7becccf3fb5c8fdd"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structstp__dither__matrix__generic.html">stp_dither_matrix_generic</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a9f5f63d4f792df1d7becccf3fb5c8fdd">stp_dither_matrix_generic_t</a></td></tr> <tr class="memitem:af823fed10cb9591c0e659033ec49f55f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structdither__matrix__impl.html">dither_matrix_impl</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a></td></tr> <tr class="memitem:a7a74b9371fd47b48d961d2316e2126e4"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structstp__dotsize.html">stp_dotsize</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a7a74b9371fd47b48d961d2316e2126e4">stp_dotsize_t</a></td></tr> <tr class="memitem:a5baefb325bf92b7ca10c2d057c04b835"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structstp__shade.html">stp_shade</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a5baefb325bf92b7ca10c2d057c04b835">stp_shade_t</a></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a36691189c1f859d82675f32f5046e674"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a36691189c1f859d82675f32f5046e674">stp_dither_matrix_iterated_init</a> (<a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *mat, size_t size, size_t exponent, const unsigned *array)</td></tr> <tr class="memitem:adf8bb5a54d552846dcf4d1534d612b65"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#adf8bb5a54d552846dcf4d1534d612b65">stp_dither_matrix_shear</a> (<a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *mat, int x_shear, int y_shear)</td></tr> <tr class="memitem:a2c42ec7156263c024ea6f51ab3b17530"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a2c42ec7156263c024ea6f51ab3b17530">stp_dither_matrix_init</a> (<a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *mat, int x_size, int y_size, const unsigned int *array, int transpose, int prescaled)</td></tr> <tr class="memitem:a588103d2a828a6c5f51577a917b09cdf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a588103d2a828a6c5f51577a917b09cdf">stp_dither_matrix_init_short</a> (<a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *mat, int x_size, int y_size, const unsigned short *array, int transpose, int prescaled)</td></tr> <tr class="memitem:aad322d923e2d9c3141cc50863d627b25"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#aad322d923e2d9c3141cc50863d627b25">stp_dither_matrix_validate_array</a> (const <a class="el" href="group__array.html#ga26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> *array)</td></tr> <tr class="memitem:a53b7ba7fd141db6ef43c68a6f500bda2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a53b7ba7fd141db6ef43c68a6f500bda2">stp_dither_matrix_init_from_dither_array</a> (<a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *mat, const <a class="el" href="group__array.html#ga26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> *array, int transpose)</td></tr> <tr class="memitem:a49ff7bd6b10cd34f9164b4414adbb87c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a49ff7bd6b10cd34f9164b4414adbb87c">stp_dither_matrix_destroy</a> (<a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *mat)</td></tr> <tr class="memitem:ad0dfe2800ed318431a0a54c1ed7d383b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#ad0dfe2800ed318431a0a54c1ed7d383b">stp_dither_matrix_clone</a> (const <a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *src, <a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *dest, int x_offset, int y_offset)</td></tr> <tr class="memitem:a3ea3c72ff26afef246873edc0bc542d3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a3ea3c72ff26afef246873edc0bc542d3">stp_dither_matrix_copy</a> (const <a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *src, <a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *dest)</td></tr> <tr class="memitem:aa62e8e672a125150074ea9bddb474423"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#aa62e8e672a125150074ea9bddb474423">stp_dither_matrix_scale_exponentially</a> (<a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *mat, double exponent)</td></tr> <tr class="memitem:aa6ca0a88b0bef517cc1909fb7074e8ac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#aa6ca0a88b0bef517cc1909fb7074e8ac">stp_dither_matrix_set_row</a> (<a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> *mat, int y)</td></tr> <tr class="memitem:ac523d1ba539398308a7ea83f4188d6ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__array.html#ga26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#ac523d1ba539398308a7ea83f4188d6ae">stp_find_standard_dither_array</a> (int x_aspect, int y_aspect)</td></tr> <tr class="memitem:a27fa3e870e438b0c399472a908555630"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__vars.html#ga40c1035f88ac38d77eddb65195b28595">stp_parameter_list_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a27fa3e870e438b0c399472a908555630">stp_dither_list_parameters</a> (const <a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v)</td></tr> <tr class="memitem:af1c4669d2bed56e2e1403a7d0f36f6ba"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#af1c4669d2bed56e2e1403a7d0f36f6ba">stp_dither_describe_parameter</a> (const <a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, const char *name, <a class="el" href="structstp__parameter__t.html">stp_parameter_t</a> *description)</td></tr> <tr class="memitem:a9835738585d6a9053eaeacdca25d0fe6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a9835738585d6a9053eaeacdca25d0fe6">stp_dither_init</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, <a class="el" href="group__image.html#gaae0b5ef92b619849a51cb75d376a90fb">stp_image_t</a> *image, int out_width, int xdpi, int ydpi)</td></tr> <tr class="memitem:a57aecb702251a2e18848b02109521aed"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a57aecb702251a2e18848b02109521aed">stp_dither_set_iterated_matrix</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, size_t edge, size_t iterations, const unsigned *data, int prescaled, int x_shear, int y_shear)</td></tr> <tr class="memitem:aa973f651768626a6eb7ab9ad4ce09b2c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#aa973f651768626a6eb7ab9ad4ce09b2c">stp_dither_set_matrix</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, const <a class="el" href="dither_8h.html#a9f5f63d4f792df1d7becccf3fb5c8fdd">stp_dither_matrix_generic_t</a> *mat, int transpose, int x_shear, int y_shear)</td></tr> <tr class="memitem:a3155913bdc63c0545786fc427ca2396a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a3155913bdc63c0545786fc427ca2396a">stp_dither_set_matrix_from_dither_array</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, const <a class="el" href="group__array.html#ga26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> *array, int transpose)</td></tr> <tr class="memitem:a6f4efd170562a43139f7d6a4b41ecaf3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a6f4efd170562a43139f7d6a4b41ecaf3">stp_dither_set_transition</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, double)</td></tr> <tr class="memitem:a560bcf46dfa233a01bdf6042e4680f54"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a560bcf46dfa233a01bdf6042e4680f54">stp_dither_set_randomizer</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, double)</td></tr> <tr class="memitem:ab47439fc32e7f669f8cd6c41acdcf398"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#ab47439fc32e7f669f8cd6c41acdcf398">stp_dither_set_ink_spread</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int spread)</td></tr> <tr class="memitem:ac6a4aa7bda3af1ae03d87f243311ebba"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#ac6a4aa7bda3af1ae03d87f243311ebba">stp_dither_set_adaptive_limit</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, double limit)</td></tr> <tr class="memitem:afe180672fad52d306e737a333ea113fb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#afe180672fad52d306e737a333ea113fb">stp_dither_get_first_position</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, int subchan)</td></tr> <tr class="memitem:addc996112f61432ff66a10eb502d9a4d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#addc996112f61432ff66a10eb502d9a4d">stp_dither_get_last_position</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, int subchan)</td></tr> <tr class="memitem:a4dd13ea23fe601571d864eabae4b0c40"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a4dd13ea23fe601571d864eabae4b0c40">stp_dither_set_inks_simple</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, int nlevels, const double *levels, double density, double darkness)</td></tr> <tr class="memitem:af5822743e380d0d51a397dcb3eb6247c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#af5822743e380d0d51a397dcb3eb6247c">stp_dither_set_inks_full</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, int nshades, const <a class="el" href="dither_8h.html#a5baefb325bf92b7ca10c2d057c04b835">stp_shade_t</a> *shades, double density, double darkness)</td></tr> <tr class="memitem:a5b8786ffa17dcc1604521b1d1cc5a3a5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a5b8786ffa17dcc1604521b1d1cc5a3a5">stp_dither_set_inks</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, double density, double darkness, int nshades, const double *svalues, int ndotsizes, const double *dvalues)</td></tr> <tr class="memitem:ad70196f1a4510c43f3651bf1450be5fa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#ad70196f1a4510c43f3651bf1450be5fa">stp_dither_add_channel</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, unsigned char *data, unsigned channel, unsigned subchannel)</td></tr> <tr class="memitem:a8866521ed5c139e2048e5548cc4fb43f"><td class="memItemLeft" align="right" valign="top">unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a8866521ed5c139e2048e5548cc4fb43f">stp_dither_get_channel</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, unsigned channel, unsigned subchannel)</td></tr> <tr class="memitem:a0a470a9c9daef26e90bdb890479a7f87"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a0a470a9c9daef26e90bdb890479a7f87">stp_dither</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int row, int duplicate_line, int zero_mask, const unsigned char *mask)</td></tr> <tr class="memitem:a70a6b29366005ba76ee77e9f1aaae105"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a70a6b29366005ba76ee77e9f1aaae105">stp_dither_internal</a> (<a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int row, const unsigned short *input, int duplicate_line, int zero_mask, const unsigned char *mask)</td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Dither functions. </p> </div><hr/><h2>Macro Definition Documentation</h2> <a class="anchor" id="afb855574a9dd1ce3c0ac8e353917cf40"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STP_ECOLOR_C   1</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a9da4fbd724d498250c7129ccbb88c9a3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STP_ECOLOR_K   0</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a42c70bd6031d27d8ce2ab23133f7ed71"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STP_ECOLOR_M   2</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aac7bfac809059b8c99338dfa9347cf85"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STP_ECOLOR_Y   3</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="abda31f8e7a9e473057644a5fe4a2339b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STP_NCOLORS   (4)</td> </tr> </table> </div><div class="memdoc"> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="a9f5f63d4f792df1d7becccf3fb5c8fdd"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structstp__dither__matrix__generic.html">stp_dither_matrix_generic</a> <a class="el" href="dither_8h.html#a9f5f63d4f792df1d7becccf3fb5c8fdd">stp_dither_matrix_generic_t</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="af823fed10cb9591c0e659033ec49f55f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structdither__matrix__impl.html">dither_matrix_impl</a> <a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="afebf0484e151cf3cce4ef0b9911d0022"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structstp__dither__matrix__normal.html">stp_dither_matrix_normal</a> <a class="el" href="dither_8h.html#afebf0484e151cf3cce4ef0b9911d0022">stp_dither_matrix_normal_t</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a9a2c54a4730e2c9bb25cf95f6cd3e597"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structstp__dither__matrix__short.html">stp_dither_matrix_short</a> <a class="el" href="dither_8h.html#a9a2c54a4730e2c9bb25cf95f6cd3e597">stp_dither_matrix_short_t</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a7a74b9371fd47b48d961d2316e2126e4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structstp__dotsize.html">stp_dotsize</a> <a class="el" href="dither_8h.html#a7a74b9371fd47b48d961d2316e2126e4">stp_dotsize_t</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a5baefb325bf92b7ca10c2d057c04b835"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structstp__shade.html">stp_shade</a> <a class="el" href="dither_8h.html#a5baefb325bf92b7ca10c2d057c04b835">stp_shade_t</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a0a470a9c9daef26e90bdb890479a7f87"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>duplicate_line</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>zero_mask</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>mask</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ad70196f1a4510c43f3651bf1450be5fa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_add_channel </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned </td> <td class="paramname"><em>channel</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned </td> <td class="paramname"><em>subchannel</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="af1c4669d2bed56e2e1403a7d0f36f6ba"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_describe_parameter </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structstp__parameter__t.html">stp_parameter_t</a> * </td> <td class="paramname"><em>description</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a8866521ed5c139e2048e5548cc4fb43f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char* stp_dither_get_channel </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned </td> <td class="paramname"><em>channel</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned </td> <td class="paramname"><em>subchannel</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="afe180672fad52d306e737a333ea113fb"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int stp_dither_get_first_position </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>color</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>subchan</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="addc996112f61432ff66a10eb502d9a4d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int stp_dither_get_last_position </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>color</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>subchan</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a9835738585d6a9053eaeacdca25d0fe6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_init </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__image.html#gaae0b5ef92b619849a51cb75d376a90fb">stp_image_t</a> * </td> <td class="paramname"><em>image</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>out_width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>xdpi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ydpi</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a70a6b29366005ba76ee77e9f1aaae105"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_internal </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned short * </td> <td class="paramname"><em>input</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>duplicate_line</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>zero_mask</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>mask</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a27fa3e870e438b0c399472a908555630"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__vars.html#ga40c1035f88ac38d77eddb65195b28595">stp_parameter_list_t</a> stp_dither_list_parameters </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ad0dfe2800ed318431a0a54c1ed7d383b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_matrix_clone </td> <td>(</td> <td class="paramtype">const <a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>dest</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>x_offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>y_offset</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a3ea3c72ff26afef246873edc0bc542d3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_matrix_copy </td> <td>(</td> <td class="paramtype">const <a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>dest</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a49ff7bd6b10cd34f9164b4414adbb87c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_matrix_destroy </td> <td>(</td> <td class="paramtype"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>mat</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a2c42ec7156263c024ea6f51ab3b17530"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_matrix_init </td> <td>(</td> <td class="paramtype"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>mat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>x_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>y_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned int * </td> <td class="paramname"><em>array</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>transpose</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>prescaled</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a53b7ba7fd141db6ef43c68a6f500bda2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_matrix_init_from_dither_array </td> <td>(</td> <td class="paramtype"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>mat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="group__array.html#ga26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> * </td> <td class="paramname"><em>array</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>transpose</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a588103d2a828a6c5f51577a917b09cdf"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_matrix_init_short </td> <td>(</td> <td class="paramtype"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>mat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>x_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>y_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned short * </td> <td class="paramname"><em>array</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>transpose</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>prescaled</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a36691189c1f859d82675f32f5046e674"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_matrix_iterated_init </td> <td>(</td> <td class="paramtype"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>mat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>exponent</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned * </td> <td class="paramname"><em>array</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aa62e8e672a125150074ea9bddb474423"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_matrix_scale_exponentially </td> <td>(</td> <td class="paramtype"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>mat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>exponent</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aa6ca0a88b0bef517cc1909fb7074e8ac"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_matrix_set_row </td> <td>(</td> <td class="paramtype"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>mat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>y</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="adf8bb5a54d552846dcf4d1534d612b65"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_matrix_shear </td> <td>(</td> <td class="paramtype"><a class="el" href="dither_8h.html#af823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"><em>mat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>x_shear</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>y_shear</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aad322d923e2d9c3141cc50863d627b25"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int stp_dither_matrix_validate_array </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__array.html#ga26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> * </td> <td class="paramname"><em>array</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ac6a4aa7bda3af1ae03d87f243311ebba"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_set_adaptive_limit </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>limit</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ab47439fc32e7f669f8cd6c41acdcf398"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_set_ink_spread </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>spread</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a5b8786ffa17dcc1604521b1d1cc5a3a5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_set_inks </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>color</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>density</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>darkness</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nshades</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const double * </td> <td class="paramname"><em>svalues</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ndotsizes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const double * </td> <td class="paramname"><em>dvalues</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="af5822743e380d0d51a397dcb3eb6247c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_set_inks_full </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>color</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nshades</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="dither_8h.html#a5baefb325bf92b7ca10c2d057c04b835">stp_shade_t</a> * </td> <td class="paramname"><em>shades</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>density</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>darkness</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a4dd13ea23fe601571d864eabae4b0c40"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_set_inks_simple </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>color</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nlevels</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const double * </td> <td class="paramname"><em>levels</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>density</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>darkness</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a57aecb702251a2e18848b02109521aed"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_set_iterated_matrix </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>edge</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>iterations</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>prescaled</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>x_shear</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>y_shear</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aa973f651768626a6eb7ab9ad4ce09b2c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_set_matrix </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="dither_8h.html#a9f5f63d4f792df1d7becccf3fb5c8fdd">stp_dither_matrix_generic_t</a> * </td> <td class="paramname"><em>mat</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>transpose</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>x_shear</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>y_shear</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a3155913bdc63c0545786fc427ca2396a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_set_matrix_from_dither_array </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="group__array.html#ga26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> * </td> <td class="paramname"><em>array</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>transpose</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a560bcf46dfa233a01bdf6042e4680f54"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_set_randomizer </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>color</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a6f4efd170562a43139f7d6a4b41ecaf3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void stp_dither_set_transition </td> <td>(</td> <td class="paramtype"><a class="el" href="group__vars.html#ga2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"><em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ac523d1ba539398308a7ea83f4188d6ae"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__array.html#ga26a474575a39c1c36ad520b95aa813b0">stp_array_t</a>* stp_find_standard_dither_array </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>x_aspect</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>y_aspect</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1 </small></address> </body> </html>