<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>libgutenprint API Reference: include/gutenprint/dither.h File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <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="classes.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> </div> <div class="contents"> <h1>include/gutenprint/dither.h File Reference</h1>Dither functions. <a href="#_details">More...</a> <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> <tr><td class="memItemLeft" nowrap 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><td class="memItemLeft" nowrap 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><td class="memItemLeft" nowrap 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><td class="memItemLeft" nowrap 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><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__dotsize.html">stp_dotsize</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__shade.html">stp_shade</a></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#9da4fbd724d498250c7129ccbb88c9a3">STP_ECOLOR_K</a> 0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#fb855574a9dd1ce3c0ac8e353917cf40">STP_ECOLOR_C</a> 1</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#42c70bd6031d27d8ce2ab23133f7ed71">STP_ECOLOR_M</a> 2</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#ac7bfac809059b8c99338dfa9347cf85">STP_ECOLOR_Y</a> 3</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#bda31f8e7a9e473057644a5fe4a2339b">STP_NCOLORS</a> (4)</td></tr> <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <br> <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#9a2c54a4730e2c9bb25cf95f6cd3e597">stp_dither_matrix_short_t</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <br> <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#febf0484e151cf3cce4ef0b9911d0022">stp_dither_matrix_normal_t</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <br> <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#9f5f63d4f792df1d7becccf3fb5c8fdd">stp_dither_matrix_generic_t</a></td></tr> <tr><td class="memItemLeft" nowrap 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#f823fed10cb9591c0e659033ec49f55f">stp_dither_matrix_impl_t</a></td></tr> <tr><td class="memItemLeft" nowrap 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#7a74b9371fd47b48d961d2316e2126e4">stp_dotsize_t</a></td></tr> <tr><td class="memItemLeft" nowrap 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#5baefb325bf92b7ca10c2d057c04b835">stp_shade_t</a></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#36691189c1f859d82675f32f5046e674">stp_dither_matrix_iterated_init</a> (<a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *mat, size_t size, size_t exponent, const unsigned *array)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#df8bb5a54d552846dcf4d1534d612b65">stp_dither_matrix_shear</a> (<a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *mat, int x_shear, int y_shear)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#2c42ec7156263c024ea6f51ab3b17530">stp_dither_matrix_init</a> (<a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *mat, int x_size, int y_size, const unsigned int *array, int transpose, int prescaled)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#588103d2a828a6c5f51577a917b09cdf">stp_dither_matrix_init_short</a> (<a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *mat, int x_size, int y_size, const unsigned short *array, int transpose, int prescaled)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#ad322d923e2d9c3141cc50863d627b25">stp_dither_matrix_validate_array</a> (const <a class="el" href="group__array.html#g26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> *array)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#53b7ba7fd141db6ef43c68a6f500bda2">stp_dither_matrix_init_from_dither_array</a> (<a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *mat, const <a class="el" href="group__array.html#g26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> *array, int transpose)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#49ff7bd6b10cd34f9164b4414adbb87c">stp_dither_matrix_destroy</a> (<a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *mat)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#d0dfe2800ed318431a0a54c1ed7d383b">stp_dither_matrix_clone</a> (const <a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *src, <a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *dest, int x_offset, int y_offset)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#3ea3c72ff26afef246873edc0bc542d3">stp_dither_matrix_copy</a> (const <a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *src, <a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *dest)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a62e8e672a125150074ea9bddb474423">stp_dither_matrix_scale_exponentially</a> (<a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *mat, double exponent)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a6ca0a88b0bef517cc1909fb7074e8ac">stp_dither_matrix_set_row</a> (<a class="el" href="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> *mat, int y)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__array.html#g26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#c523d1ba539398308a7ea83f4188d6ae">stp_find_standard_dither_array</a> (int x_aspect, int y_aspect)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__vars.html#g40c1035f88ac38d77eddb65195b28595">stp_parameter_list_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#27fa3e870e438b0c399472a908555630">stp_dither_list_parameters</a> (const <a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#f1c4669d2bed56e2e1403a7d0f36f6ba">stp_dither_describe_parameter</a> (const <a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, const char *name, <a class="el" href="structstp__parameter__t.html">stp_parameter_t</a> *description)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#9835738585d6a9053eaeacdca25d0fe6">stp_dither_init</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, <a class="el" href="structstp__image.html">stp_image_t</a> *image, int out_width, int xdpi, int ydpi)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#57aecb702251a2e18848b02109521aed">stp_dither_set_iterated_matrix</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">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><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#a973f651768626a6eb7ab9ad4ce09b2c">stp_dither_set_matrix</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, const <a class="el" href="structstp__dither__matrix__generic.html">stp_dither_matrix_generic_t</a> *mat, int transpose, int x_shear, int y_shear)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#3155913bdc63c0545786fc427ca2396a">stp_dither_set_matrix_from_dither_array</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, const <a class="el" href="group__array.html#g26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> *array, int transpose)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#6f4efd170562a43139f7d6a4b41ecaf3">stp_dither_set_transition</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, double)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#560bcf46dfa233a01bdf6042e4680f54">stp_dither_set_randomizer</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, double)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#b47439fc32e7f669f8cd6c41acdcf398">stp_dither_set_ink_spread</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int spread)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#c6a4aa7bda3af1ae03d87f243311ebba">stp_dither_set_adaptive_limit</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, double limit)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#fe180672fad52d306e737a333ea113fb">stp_dither_get_first_position</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, int subchan)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#ddc996112f61432ff66a10eb502d9a4d">stp_dither_get_last_position</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, int subchan)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#4dd13ea23fe601571d864eabae4b0c40">stp_dither_set_inks_simple</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, int nlevels, const double *levels, double density, double darkness)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#f5822743e380d0d51a397dcb3eb6247c">stp_dither_set_inks_full</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, int nshades, const <a class="el" href="structstp__shade.html">stp_shade_t</a> *shades, double density, double darkness)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#5b8786ffa17dcc1604521b1d1cc5a3a5">stp_dither_set_inks</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int color, double density, double darkness, int nshades, const double *svalues, int ndotsizes, const double *dvalues)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#d70196f1a4510c43f3651bf1450be5fa">stp_dither_add_channel</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, unsigned char *data, unsigned channel, unsigned subchannel)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#8866521ed5c139e2048e5548cc4fb43f">stp_dither_get_channel</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, unsigned channel, unsigned subchannel)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#0a470a9c9daef26e90bdb890479a7f87">stp_dither</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> *v, int row, int duplicate_line, int zero_mask, const unsigned char *mask)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dither_8h.html#70a6b29366005ba76ee77e9f1aaae105">stp_dither_internal</a> (<a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">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"></a><h2>Detailed Description</h2> Dither functions. <p> <hr><h2>Define Documentation</h2> <a class="anchor" name="fb855574a9dd1ce3c0ac8e353917cf40"></a><!-- doxytag: member="dither.h::STP_ECOLOR_C" ref="fb855574a9dd1ce3c0ac8e353917cf40" args="" --> <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"> <p> </div> </div><p> <a class="anchor" name="9da4fbd724d498250c7129ccbb88c9a3"></a><!-- doxytag: member="dither.h::STP_ECOLOR_K" ref="9da4fbd724d498250c7129ccbb88c9a3" args="" --> <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"> <p> </div> </div><p> <a class="anchor" name="42c70bd6031d27d8ce2ab23133f7ed71"></a><!-- doxytag: member="dither.h::STP_ECOLOR_M" ref="42c70bd6031d27d8ce2ab23133f7ed71" args="" --> <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"> <p> </div> </div><p> <a class="anchor" name="ac7bfac809059b8c99338dfa9347cf85"></a><!-- doxytag: member="dither.h::STP_ECOLOR_Y" ref="ac7bfac809059b8c99338dfa9347cf85" args="" --> <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"> <p> </div> </div><p> <a class="anchor" name="bda31f8e7a9e473057644a5fe4a2339b"></a><!-- doxytag: member="dither.h::STP_NCOLORS" ref="bda31f8e7a9e473057644a5fe4a2339b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STP_NCOLORS (4) </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Typedef Documentation</h2> <a class="anchor" name="9f5f63d4f792df1d7becccf3fb5c8fdd"></a><!-- doxytag: member="dither.h::stp_dither_matrix_generic_t" ref="9f5f63d4f792df1d7becccf3fb5c8fdd" args="" --> <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="structstp__dither__matrix__generic.html">stp_dither_matrix_generic_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="f823fed10cb9591c0e659033ec49f55f"></a><!-- doxytag: member="dither.h::stp_dither_matrix_impl_t" ref="f823fed10cb9591c0e659033ec49f55f" args="" --> <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="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="febf0484e151cf3cce4ef0b9911d0022"></a><!-- doxytag: member="dither.h::stp_dither_matrix_normal_t" ref="febf0484e151cf3cce4ef0b9911d0022" args="" --> <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="structstp__dither__matrix__normal.html">stp_dither_matrix_normal_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="9a2c54a4730e2c9bb25cf95f6cd3e597"></a><!-- doxytag: member="dither.h::stp_dither_matrix_short_t" ref="9a2c54a4730e2c9bb25cf95f6cd3e597" args="" --> <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="structstp__dither__matrix__short.html">stp_dither_matrix_short_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="7a74b9371fd47b48d961d2316e2126e4"></a><!-- doxytag: member="dither.h::stp_dotsize_t" ref="7a74b9371fd47b48d961d2316e2126e4" args="" --> <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="structstp__dotsize.html">stp_dotsize_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="5baefb325bf92b7ca10c2d057c04b835"></a><!-- doxytag: member="dither.h::stp_shade_t" ref="5baefb325bf92b7ca10c2d057c04b835" args="" --> <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="structstp__shade.html">stp_shade_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="0a470a9c9daef26e90bdb890479a7f87"></a><!-- doxytag: member="dither.h::stp_dither" ref="0a470a9c9daef26e90bdb890479a7f87" args="(stp_vars_t *v, int row, int duplicate_line, int zero_mask, const unsigned char *mask)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d70196f1a4510c43f3651bf1450be5fa"></a><!-- doxytag: member="dither.h::stp_dither_add_channel" ref="d70196f1a4510c43f3651bf1450be5fa" args="(stp_vars_t *v, unsigned char *data, unsigned channel, unsigned subchannel)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="f1c4669d2bed56e2e1403a7d0f36f6ba"></a><!-- doxytag: member="dither.h::stp_dither_describe_parameter" ref="f1c4669d2bed56e2e1403a7d0f36f6ba" args="(const stp_vars_t *v, const char *name, stp_parameter_t *description)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="8866521ed5c139e2048e5548cc4fb43f"></a><!-- doxytag: member="dither.h::stp_dither_get_channel" ref="8866521ed5c139e2048e5548cc4fb43f" args="(stp_vars_t *v, unsigned channel, unsigned subchannel)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="fe180672fad52d306e737a333ea113fb"></a><!-- doxytag: member="dither.h::stp_dither_get_first_position" ref="fe180672fad52d306e737a333ea113fb" args="(stp_vars_t *v, int color, int subchan)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ddc996112f61432ff66a10eb502d9a4d"></a><!-- doxytag: member="dither.h::stp_dither_get_last_position" ref="ddc996112f61432ff66a10eb502d9a4d" args="(stp_vars_t *v, int color, int subchan)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="9835738585d6a9053eaeacdca25d0fe6"></a><!-- doxytag: member="dither.h::stp_dither_init" ref="9835738585d6a9053eaeacdca25d0fe6" args="(stp_vars_t *v, stp_image_t *image, int out_width, int xdpi, int ydpi)" --> <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#g2d49c94847d18d8b62a214995b14680f">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="structstp__image.html">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="70a6b29366005ba76ee77e9f1aaae105"></a><!-- doxytag: member="dither.h::stp_dither_internal" ref="70a6b29366005ba76ee77e9f1aaae105" args="(stp_vars_t *v, int row, const unsigned short *input, int duplicate_line, int zero_mask, const unsigned char *mask)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="27fa3e870e438b0c399472a908555630"></a><!-- doxytag: member="dither.h::stp_dither_list_parameters" ref="27fa3e870e438b0c399472a908555630" args="(const stp_vars_t *v)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__vars.html#g40c1035f88ac38d77eddb65195b28595">stp_parameter_list_t</a> stp_dither_list_parameters </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__vars.html#g2d49c94847d18d8b62a214995b14680f">stp_vars_t</a> * </td> <td class="paramname"> <em>v</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d0dfe2800ed318431a0a54c1ed7d383b"></a><!-- doxytag: member="dither.h::stp_dither_matrix_clone" ref="d0dfe2800ed318431a0a54c1ed7d383b" args="(const stp_dither_matrix_impl_t *src, stp_dither_matrix_impl_t *dest, int x_offset, int y_offset)" --> <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="structdither__matrix__impl.html">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="structdither__matrix__impl.html">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="3ea3c72ff26afef246873edc0bc542d3"></a><!-- doxytag: member="dither.h::stp_dither_matrix_copy" ref="3ea3c72ff26afef246873edc0bc542d3" args="(const stp_dither_matrix_impl_t *src, stp_dither_matrix_impl_t *dest)" --> <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="structdither__matrix__impl.html">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="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"> <em>dest</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="49ff7bd6b10cd34f9164b4414adbb87c"></a><!-- doxytag: member="dither.h::stp_dither_matrix_destroy" ref="49ff7bd6b10cd34f9164b4414adbb87c" args="(stp_dither_matrix_impl_t *mat)" --> <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="structdither__matrix__impl.html">stp_dither_matrix_impl_t</a> * </td> <td class="paramname"> <em>mat</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="2c42ec7156263c024ea6f51ab3b17530"></a><!-- doxytag: member="dither.h::stp_dither_matrix_init" ref="2c42ec7156263c024ea6f51ab3b17530" args="(stp_dither_matrix_impl_t *mat, int x_size, int y_size, const unsigned int *array, int transpose, int prescaled)" --> <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="structdither__matrix__impl.html">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="53b7ba7fd141db6ef43c68a6f500bda2"></a><!-- doxytag: member="dither.h::stp_dither_matrix_init_from_dither_array" ref="53b7ba7fd141db6ef43c68a6f500bda2" args="(stp_dither_matrix_impl_t *mat, const stp_array_t *array, int transpose)" --> <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="structdither__matrix__impl.html">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#g26a474575a39c1c36ad520b95aa813b0">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="588103d2a828a6c5f51577a917b09cdf"></a><!-- doxytag: member="dither.h::stp_dither_matrix_init_short" ref="588103d2a828a6c5f51577a917b09cdf" args="(stp_dither_matrix_impl_t *mat, int x_size, int y_size, const unsigned short *array, int transpose, int prescaled)" --> <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="structdither__matrix__impl.html">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="36691189c1f859d82675f32f5046e674"></a><!-- doxytag: member="dither.h::stp_dither_matrix_iterated_init" ref="36691189c1f859d82675f32f5046e674" args="(stp_dither_matrix_impl_t *mat, size_t size, size_t exponent, const unsigned *array)" --> <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="structdither__matrix__impl.html">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="a62e8e672a125150074ea9bddb474423"></a><!-- doxytag: member="dither.h::stp_dither_matrix_scale_exponentially" ref="a62e8e672a125150074ea9bddb474423" args="(stp_dither_matrix_impl_t *mat, double exponent)" --> <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="structdither__matrix__impl.html">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="a6ca0a88b0bef517cc1909fb7074e8ac"></a><!-- doxytag: member="dither.h::stp_dither_matrix_set_row" ref="a6ca0a88b0bef517cc1909fb7074e8ac" args="(stp_dither_matrix_impl_t *mat, int y)" --> <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="structdither__matrix__impl.html">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="df8bb5a54d552846dcf4d1534d612b65"></a><!-- doxytag: member="dither.h::stp_dither_matrix_shear" ref="df8bb5a54d552846dcf4d1534d612b65" args="(stp_dither_matrix_impl_t *mat, int x_shear, int y_shear)" --> <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="structdither__matrix__impl.html">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ad322d923e2d9c3141cc50863d627b25"></a><!-- doxytag: member="dither.h::stp_dither_matrix_validate_array" ref="ad322d923e2d9c3141cc50863d627b25" args="(const stp_array_t *array)" --> <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#g26a474575a39c1c36ad520b95aa813b0">stp_array_t</a> * </td> <td class="paramname"> <em>array</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="c6a4aa7bda3af1ae03d87f243311ebba"></a><!-- doxytag: member="dither.h::stp_dither_set_adaptive_limit" ref="c6a4aa7bda3af1ae03d87f243311ebba" args="(stp_vars_t *v, double limit)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="b47439fc32e7f669f8cd6c41acdcf398"></a><!-- doxytag: member="dither.h::stp_dither_set_ink_spread" ref="b47439fc32e7f669f8cd6c41acdcf398" args="(stp_vars_t *v, int spread)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="5b8786ffa17dcc1604521b1d1cc5a3a5"></a><!-- doxytag: member="dither.h::stp_dither_set_inks" ref="5b8786ffa17dcc1604521b1d1cc5a3a5" args="(stp_vars_t *v, int color, double density, double darkness, int nshades, const double *svalues, int ndotsizes, const double *dvalues)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="f5822743e380d0d51a397dcb3eb6247c"></a><!-- doxytag: member="dither.h::stp_dither_set_inks_full" ref="f5822743e380d0d51a397dcb3eb6247c" args="(stp_vars_t *v, int color, int nshades, const stp_shade_t *shades, double density, double darkness)" --> <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#g2d49c94847d18d8b62a214995b14680f">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="structstp__shade.html">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="4dd13ea23fe601571d864eabae4b0c40"></a><!-- doxytag: member="dither.h::stp_dither_set_inks_simple" ref="4dd13ea23fe601571d864eabae4b0c40" args="(stp_vars_t *v, int color, int nlevels, const double *levels, double density, double darkness)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="57aecb702251a2e18848b02109521aed"></a><!-- doxytag: member="dither.h::stp_dither_set_iterated_matrix" ref="57aecb702251a2e18848b02109521aed" args="(stp_vars_t *v, size_t edge, size_t iterations, const unsigned *data, int prescaled, int x_shear, int y_shear)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="a973f651768626a6eb7ab9ad4ce09b2c"></a><!-- doxytag: member="dither.h::stp_dither_set_matrix" ref="a973f651768626a6eb7ab9ad4ce09b2c" args="(stp_vars_t *v, const stp_dither_matrix_generic_t *mat, int transpose, int x_shear, int y_shear)" --> <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#g2d49c94847d18d8b62a214995b14680f">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="structstp__dither__matrix__generic.html">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="3155913bdc63c0545786fc427ca2396a"></a><!-- doxytag: member="dither.h::stp_dither_set_matrix_from_dither_array" ref="3155913bdc63c0545786fc427ca2396a" args="(stp_vars_t *v, const stp_array_t *array, int transpose)" --> <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#g2d49c94847d18d8b62a214995b14680f">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#g26a474575a39c1c36ad520b95aa813b0">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="560bcf46dfa233a01bdf6042e4680f54"></a><!-- doxytag: member="dither.h::stp_dither_set_randomizer" ref="560bcf46dfa233a01bdf6042e4680f54" args="(stp_vars_t *v, int color, double)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="6f4efd170562a43139f7d6a4b41ecaf3"></a><!-- doxytag: member="dither.h::stp_dither_set_transition" ref="6f4efd170562a43139f7d6a4b41ecaf3" args="(stp_vars_t *v, double)" --> <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#g2d49c94847d18d8b62a214995b14680f">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="c523d1ba539398308a7ea83f4188d6ae"></a><!-- doxytag: member="dither.h::stp_find_standard_dither_array" ref="c523d1ba539398308a7ea83f4188d6ae" args="(int x_aspect, int y_aspect)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__array.html#g26a474575a39c1c36ad520b95aa813b0">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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Aug 10 20:32:51 2010 for libgutenprint API Reference by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>