<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>libcaca documentation</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head> <body> <!-- $Id$ --> <!-- Generated by Doxygen 1.5.9 --> <div class="contents"> <h1>libcaca attribute conversions</h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#gfb35087f212d75b431fc501b3a777b6b">caca_get_attr</a> (<a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *, int, int)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the text attribute at the given coordinates. <a href="#gfb35087f212d75b431fc501b3a777b6b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#g3d19c3d519489534585901e0ca0516c9">caca_set_attr</a> (<a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, uint32_t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the default character attribute. <a href="#g3d19c3d519489534585901e0ca0516c9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#geec0a808344742989fd202b527993242">caca_put_attr</a> (<a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int, uint32_t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the character attribute at the given coordinates. <a href="#geec0a808344742989fd202b527993242"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#g1cd39df80cc6b537a4df18415a8605cf">caca_set_color_ansi</a> (<a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, uint8_t, uint8_t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the default colour pair for text (ANSI version). <a href="#g1cd39df80cc6b537a4df18415a8605cf"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#gc031e1af3a6bce86128bb1a3050550bc">caca_set_color_argb</a> (<a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, uint16_t, uint16_t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the default colour pair for text (truecolor version). <a href="#gc031e1af3a6bce86128bb1a3050550bc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#g44a5153d1839078c74fd2fbaf0d20e79">caca_attr_to_ansi</a> (uint32_t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get DOS ANSI information from attribute. <a href="#g44a5153d1839078c74fd2fbaf0d20e79"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#gccefc87375cb11220cee48d7ba7bd2e7">caca_attr_to_ansi_fg</a> (uint32_t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get ANSI foreground information from attribute. <a href="#gccefc87375cb11220cee48d7ba7bd2e7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#g0ef0d3750ad64e80a73af03393ae98db">caca_attr_to_ansi_bg</a> (uint32_t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get ANSI background information from attribute. <a href="#g0ef0d3750ad64e80a73af03393ae98db"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#gc300bca11f8fd08cca06aa474bcef1fd">caca_attr_to_rgb12_fg</a> (uint32_t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get 12-bit RGB foreground information from attribute. <a href="#gc300bca11f8fd08cca06aa474bcef1fd"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#ga2db22d90412331091727ccac65c95cb">caca_attr_to_rgb12_bg</a> (uint32_t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get 12-bit RGB background information from attribute. <a href="#ga2db22d90412331091727ccac65c95cb"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">__extern void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__attributes.html#ga673f18e9b8b2e52f4e67788cc41df4d">caca_attr_to_argb64</a> (uint32_t, uint8_t[8])</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get 64-bit ARGB information from attribute. <a href="#ga673f18e9b8b2e52f4e67788cc41df4d"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> These functions perform conversions between attribute values. <hr><h2>Function Documentation</h2> <a class="anchor" name="gfb35087f212d75b431fc501b3a777b6b"></a><!-- doxytag: member="caca.h::caca_get_attr" ref="gfb35087f212d75b431fc501b3a777b6b" args="(caca_canvas_t const *, int, int)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern uint32_t caca_get_attr </td> <td>(</td> <td class="paramtype"><a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const * </td> <td class="paramname"> <em>cv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>x</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> Get the internal <em>libcaca</em> attribute value of the character at the given coordinates. The attribute value has 32 significant bits, organised as follows from MSB to LSB:<ul> <li>3 bits for the background alpha</li><li>4 bits for the background red component</li><li>4 bits for the background green component</li><li>3 bits for the background blue component</li><li>3 bits for the foreground alpha</li><li>4 bits for the foreground red component</li><li>4 bits for the foreground green component</li><li>3 bits for the foreground blue component</li><li>4 bits for the bold, italics, underline and blink flags</li></ul> <p> If the coordinates are outside the canvas boundaries, the current attribute is returned.<p> This function never fails.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cv</em> </td><td>A handle to the libcaca canvas. </td></tr> <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>X coordinate. </td></tr> <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>Y coordinate. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The requested attribute. </dd></dl> <p>Referenced by <a class="el" href="dither_8c_source.html#l00942">caca_dither_bitmap()</a>.</p> </div> </div><p> <a class="anchor" name="g3d19c3d519489534585901e0ca0516c9"></a><!-- doxytag: member="caca.h::caca_set_attr" ref="g3d19c3d519489534585901e0ca0516c9" args="(caca_canvas_t *, uint32_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern int caca_set_attr </td> <td>(</td> <td class="paramtype"><a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> * </td> <td class="paramname"> <em>cv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>attr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Set the default character attribute for drawing. Attributes define foreground and background colour, transparency, bold, italics and underline styles, as well as blink. String functions such as <a class="el" href="group__caca__canvas.html#ga68d5ce7e429e58798b13af51d51c8f1" title="Print a formated string.">caca_printf()</a> and graphical primitive functions such as <a class="el" href="group__caca__primitives.html#gbc71affc6ade0542027ae550b3c9414d" title="Draw a line on the canvas using the given character.">caca_draw_line()</a> will use this attribute.<p> The value of <em>attr</em> is either:<ul> <li>a 32-bit integer as returned by <a class="el" href="group__caca__attributes.html#gfb35087f212d75b431fc501b3a777b6b" title="Get the text attribute at the given coordinates.">caca_get_attr()</a>, in which case it also contains colour information,</li><li>a combination (bitwise OR) of style values (<em>CACA_UNDERLINE</em>, <em>CACA_BLINK</em>, <em>CACA_BOLD</em> and <em>CACA_ITALICS</em>), in which case setting the attribute does not modify the current colour information.</li></ul> <p> To retrieve the current attribute value, use caca_get_attr(-1,-1).<p> This function never fails.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cv</em> </td><td>A handle to the libcaca canvas. </td></tr> <tr><td valign="top"></td><td valign="top"><em>attr</em> </td><td>The requested attribute value. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>This function always returns 0. </dd></dl> <p>Referenced by <a class="el" href="dither_8c_source.html#l00942">caca_dither_bitmap()</a>.</p> </div> </div><p> <a class="anchor" name="geec0a808344742989fd202b527993242"></a><!-- doxytag: member="caca.h::caca_put_attr" ref="geec0a808344742989fd202b527993242" args="(caca_canvas_t *, int, int, uint32_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern int caca_put_attr </td> <td>(</td> <td class="paramtype"><a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> * </td> <td class="paramname"> <em>cv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>x</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 class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>attr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Set the character attribute, without changing the character's value. If the character at the given coordinates is a fullwidth character, both cells' attributes are replaced.<p> The value of <em>attr</em> is either:<ul> <li>a 32-bit integer as returned by <a class="el" href="group__caca__attributes.html#gfb35087f212d75b431fc501b3a777b6b" title="Get the text attribute at the given coordinates.">caca_get_attr()</a>, in which case it also contains colour information,</li><li>a combination (bitwise OR) of style values (<em>CACA_UNDERLINE</em>, <em>CACA_BLINK</em>, <em>CACA_BOLD</em> and <em>CACA_ITALICS</em>), in which case setting the attribute does not modify the current colour information.</li></ul> <p> This function never fails.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cv</em> </td><td>A handle to the libcaca canvas. </td></tr> <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>X coordinate. </td></tr> <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>Y coordinate. </td></tr> <tr><td valign="top"></td><td valign="top"><em>attr</em> </td><td>The requested attribute value. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>This function always returns 0. </dd></dl> <p>References <a class="el" href="caca_8h_source.html#l00222">CACA_MAGIC_FULLWIDTH</a>.</p> </div> </div><p> <a class="anchor" name="g1cd39df80cc6b537a4df18415a8605cf"></a><!-- doxytag: member="caca.h::caca_set_color_ansi" ref="g1cd39df80cc6b537a4df18415a8605cf" args="(caca_canvas_t *, uint8_t, uint8_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern int caca_set_color_ansi </td> <td>(</td> <td class="paramtype"><a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> * </td> <td class="paramname"> <em>cv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>fg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>bg</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Set the default ANSI colour pair for text drawing. String functions such as <a class="el" href="group__caca__canvas.html#ga68d5ce7e429e58798b13af51d51c8f1" title="Print a formated string.">caca_printf()</a> and graphical primitive functions such as <a class="el" href="group__caca__primitives.html#gbc71affc6ade0542027ae550b3c9414d" title="Draw a line on the canvas using the given character.">caca_draw_line()</a> will use these attributes.<p> Color values are those defined in <a class="el" href="caca_8h.html" title="The libcaca public header.">caca.h</a>, such as CACA_RED or CACA_TRANSPARENT.<p> If an error occurs, 0 is returned and <b>errno</b> is set accordingly:<ul> <li><code>EINVAL</code> At least one of the colour values is invalid.</li></ul> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cv</em> </td><td>A handle to the libcaca canvas. </td></tr> <tr><td valign="top"></td><td valign="top"><em>fg</em> </td><td>The requested ANSI foreground colour. </td></tr> <tr><td valign="top"></td><td valign="top"><em>bg</em> </td><td>The requested ANSI background colour. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>0 in case of success, -1 if an error occurred. </dd></dl> <p>Referenced by <a class="el" href="canvas_8c_source.html#l00056">caca_create_canvas()</a>, and <a class="el" href="dither_8c_source.html#l00942">caca_dither_bitmap()</a>.</p> </div> </div><p> <a class="anchor" name="gc031e1af3a6bce86128bb1a3050550bc"></a><!-- doxytag: member="caca.h::caca_set_color_argb" ref="gc031e1af3a6bce86128bb1a3050550bc" args="(caca_canvas_t *, uint16_t, uint16_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern int caca_set_color_argb </td> <td>(</td> <td class="paramtype"><a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> * </td> <td class="paramname"> <em>cv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint16_t </td> <td class="paramname"> <em>fg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint16_t </td> <td class="paramname"> <em>bg</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Set the default ARGB colour pair for text drawing. String functions such as <a class="el" href="group__caca__canvas.html#ga68d5ce7e429e58798b13af51d51c8f1" title="Print a formated string.">caca_printf()</a> and graphical primitive functions such as <a class="el" href="group__caca__primitives.html#gbc71affc6ade0542027ae550b3c9414d" title="Draw a line on the canvas using the given character.">caca_draw_line()</a> will use these attributes.<p> Colors are 16-bit ARGB values, each component being coded on 4 bits. For instance, 0xf088 is solid dark cyan (A=15 R=0 G=8 B=8), and 0x8fff is white with 50% alpha (A=8 R=15 G=15 B=15).<p> This function never fails.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cv</em> </td><td>A handle to the libcaca canvas. </td></tr> <tr><td valign="top"></td><td valign="top"><em>fg</em> </td><td>The requested ARGB foreground colour. </td></tr> <tr><td valign="top"></td><td valign="top"><em>bg</em> </td><td>The requested ARGB background colour. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>This function always returns 0. </dd></dl> </div> </div><p> <a class="anchor" name="g44a5153d1839078c74fd2fbaf0d20e79"></a><!-- doxytag: member="caca.h::caca_attr_to_ansi" ref="g44a5153d1839078c74fd2fbaf0d20e79" args="(uint32_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern uint8_t caca_attr_to_ansi </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>attr</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Get the ANSI colour pair for a given attribute. The returned value is an 8-bit value whose higher 4 bits are the background colour and lower 4 bits are the foreground colour.<p> If the attribute has ARGB colours, the nearest colour is used. Special attributes such as <em>CACA_DEFAULT</em> and <em>CACA_TRANSPARENT</em> are not handled and are both replaced with <em>CACA_LIGHTGRAY</em> for the foreground colour and <em>CACA_BLACK</em> for the background colour.<p> This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>attr</em> </td><td>The requested attribute value. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The corresponding DOS ANSI value. </dd></dl> <p>References <a class="el" href="caca_8h_source.html#l00063">CACA_BLACK</a>, and <a class="el" href="caca_8h_source.html#l00070">CACA_LIGHTGRAY</a>.</p> </div> </div><p> <a class="anchor" name="gccefc87375cb11220cee48d7ba7bd2e7"></a><!-- doxytag: member="caca.h::caca_attr_to_ansi_fg" ref="gccefc87375cb11220cee48d7ba7bd2e7" args="(uint32_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern uint8_t caca_attr_to_ansi_fg </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>attr</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Get the ANSI foreground colour value for a given attribute. The returned value is either one of the <em>CACA_RED</em>, <em>CACA_BLACK</em> etc. predefined colours, or the special value <em>CACA_DEFAULT</em> meaning the media's default foreground value, or the special value <em>CACA_TRANSPARENT</em>.<p> If the attribute has ARGB colours, the nearest colour is returned.<p> This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>attr</em> </td><td>The requested attribute value. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The corresponding ANSI foreground value. </dd></dl> </div> </div><p> <a class="anchor" name="g0ef0d3750ad64e80a73af03393ae98db"></a><!-- doxytag: member="caca.h::caca_attr_to_ansi_bg" ref="g0ef0d3750ad64e80a73af03393ae98db" args="(uint32_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern uint8_t caca_attr_to_ansi_bg </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>attr</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Get the ANSI background colour value for a given attribute. The returned value is either one of the <em>CACA_RED</em>, <em>CACA_BLACK</em> etc. predefined colours, or the special value <em>CACA_DEFAULT</em> meaning the media's default background value, or the special value <em>CACA_TRANSPARENT</em>.<p> If the attribute has ARGB colours, the nearest colour is returned.<p> This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>attr</em> </td><td>The requested attribute value. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The corresponding ANSI background value. </dd></dl> </div> </div><p> <a class="anchor" name="gc300bca11f8fd08cca06aa474bcef1fd"></a><!-- doxytag: member="caca.h::caca_attr_to_rgb12_fg" ref="gc300bca11f8fd08cca06aa474bcef1fd" args="(uint32_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern uint16_t caca_attr_to_rgb12_fg </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>attr</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Get the 12-bit foreground colour value for a given attribute. The returned value is a native-endian encoded integer with each red, green and blue values encoded on 8 bits in the following order:<ul> <li>8-11 most significant bits: red</li><li>4-7 most significant bits: green</li><li>least significant bits: blue</li></ul> <p> This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>attr</em> </td><td>The requested attribute value. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The corresponding 12-bit RGB foreground value. </dd></dl> <p>References <a class="el" href="caca_8h_source.html#l00079">CACA_DEFAULT</a>, <a class="el" href="caca_8h_source.html#l00070">CACA_LIGHTGRAY</a>, and <a class="el" href="caca_8h_source.html#l00080">CACA_TRANSPARENT</a>.</p> </div> </div><p> <a class="anchor" name="ga2db22d90412331091727ccac65c95cb"></a><!-- doxytag: member="caca.h::caca_attr_to_rgb12_bg" ref="ga2db22d90412331091727ccac65c95cb" args="(uint32_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern uint16_t caca_attr_to_rgb12_bg </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>attr</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Get the 12-bit background colour value for a given attribute. The returned value is a native-endian encoded integer with each red, green and blue values encoded on 8 bits in the following order:<ul> <li>8-11 most significant bits: red</li><li>4-7 most significant bits: green</li><li>least significant bits: blue</li></ul> <p> This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>attr</em> </td><td>The requested attribute value. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The corresponding 12-bit RGB background value. </dd></dl> <p>References <a class="el" href="caca_8h_source.html#l00063">CACA_BLACK</a>, <a class="el" href="caca_8h_source.html#l00079">CACA_DEFAULT</a>, and <a class="el" href="caca_8h_source.html#l00080">CACA_TRANSPARENT</a>.</p> </div> </div><p> <a class="anchor" name="ga673f18e9b8b2e52f4e67788cc41df4d"></a><!-- doxytag: member="caca.h::caca_attr_to_argb64" ref="ga673f18e9b8b2e52f4e67788cc41df4d" args="(uint32_t, uint8_t[8])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">__extern void caca_attr_to_argb64 </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>attr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>argb</em>[8]</td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Get the 64-bit colour and alpha values for a given attribute. The values are written as 8-bit integers in the <em>argb</em> array in the following order:<ul> <li><em>argb</em>[0]: background alpha value</li><li><em>argb</em>[1]: background red value</li><li><em>argb</em>[2]: background green value</li><li><em>argb</em>[3]: background blue value</li><li><em>argb</em>[4]: foreground alpha value</li><li><em>argb</em>[5]: foreground red value</li><li><em>argb</em>[6]: foreground green value</li><li><em>argb</em>[7]: foreground blue value</li></ul> <p> This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>attr</em> </td><td>The requested attribute value. </td></tr> <tr><td valign="top"></td><td valign="top"><em>argb</em> </td><td>An array of 8-bit integers. </td></tr> </table> </dl> <p>References <a class="el" href="caca_8h_source.html#l00063">CACA_BLACK</a>, <a class="el" href="caca_8h_source.html#l00079">CACA_DEFAULT</a>, <a class="el" href="caca_8h_source.html#l00070">CACA_LIGHTGRAY</a>, and <a class="el" href="caca_8h_source.html#l00080">CACA_TRANSPARENT</a>.</p> <p>Referenced by <a class="el" href="font_8c_source.html#l00417">caca_render_canvas()</a>.</p> </div> </div><p> </div> <!-- $Id$ --> </body> </html>