Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > 6d7587e5535e7142017769f96c14d623 > files > 41

libcaca-devel-0.99-0.beta16.5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
    <title>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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</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>&nbsp;</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>attr</em></td><td>&nbsp;</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>&nbsp;</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>attr</em></td><td>&nbsp;</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>&nbsp;</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>fg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>bg</em></td><td>&nbsp;</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>&nbsp;</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fg</em>&nbsp;</td><td>The requested ANSI foreground colour. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bg</em>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>fg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>bg</em></td><td>&nbsp;</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>&nbsp;</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fg</em>&nbsp;</td><td>The requested ARGB foreground colour. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bg</em>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>attr</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>attr</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>attr</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>attr</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>attr</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>attr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>argb</em>[8]</td><td>&nbsp;</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>&nbsp;</td><td>The requested attribute value. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>argb</em>&nbsp;</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>