Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 6c56f23f3632aee885c74b9d9eae6b45 > files > 50

libcaca-devel-0.99-0.10.beta17.fc14.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
    <title>libcaca documentation</title>
    <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head>
  <body>
<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="contents">
<h1>libcaca basic functions</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern <a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#ga00caafb33b9d7033d064a642bcad83da">caca_create_canvas</a> (int, int)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise a <em>libcaca</em> canvas.  <a href="#ga00caafb33b9d7033d064a642bcad83da"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#gab5f079a934949a06c100b0db604d697e">caca_manage_canvas</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int(*)(void *), void *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manage a canvas.  <a href="#gab5f079a934949a06c100b0db604d697e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#ga9a793c6b42c90884e650fa03f4640b17">caca_unmanage_canvas</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int(*)(void *), void *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unmanage a canvas.  <a href="#ga9a793c6b42c90884e650fa03f4640b17"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#ga8814d2faa76cad0d7d15381b7eeacab6">caca_set_canvas_size</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resize a canvas.  <a href="#ga8814d2faa76cad0d7d15381b7eeacab6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#gad85b2ff4c7f952b3cc32f117343a6375">caca_get_canvas_width</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the canvas width.  <a href="#gad85b2ff4c7f952b3cc32f117343a6375"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#gaa529140e8cf31379a6b57af7c37c9d2f">caca_get_canvas_height</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the canvas height.  <a href="#gaa529140e8cf31379a6b57af7c37c9d2f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern uint32_t const *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#ga7112bdf128f94eeae9d66fbc49f96d81">caca_get_canvas_chars</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the canvas character array.  <a href="#ga7112bdf128f94eeae9d66fbc49f96d81"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern uint32_t const *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#ga6d451ebbe4f6af86851f1f2abefabbd4">caca_get_canvas_attrs</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the canvas attribute array.  <a href="#ga6d451ebbe4f6af86851f1f2abefabbd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#ga12394c16c9ca94b61198be929ef8580d">caca_free_canvas</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a <em>libcaca</em> canvas.  <a href="#ga12394c16c9ca94b61198be929ef8580d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#ga685374ff836369f58a5c32a414096f2e">caca_rand</a> (int, int)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a random integer within a range.  <a href="#ga685374ff836369f58a5c32a414096f2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">__extern char const *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libcaca.html#ga3c7edc520b7ea69a721317a9d8649440">caca_get_version</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the <em>libcaca</em> version.  <a href="#ga3c7edc520b7ea69a721317a9d8649440"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>These functions provide the basic <em>libcaca</em> routines for library initialisation, system information retrieval and configuration. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga00caafb33b9d7033d064a642bcad83da"></a><!-- doxytag: member="caca.h::caca_create_canvas" ref="ga00caafb33b9d7033d064a642bcad83da" args="(int, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern <a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a>* caca_create_canvas </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initialise internal <em>libcaca</em> structures and the backend that will be used for subsequent graphical operations. It must be the first <em>libcaca</em> function to be called in a function. <a class="el" href="group__libcaca.html#ga12394c16c9ca94b61198be929ef8580d" title="Free a libcaca canvas.">caca_free_canvas()</a> should be called at the end of the program to free all allocated resources.</p>
<p>Both the cursor and the canvas' handle are initialised at the top-left corner.</p>
<p>If an error occurs, NULL is returned and <b>errno</b> is set accordingly:</p>
<ul>
<li><code>EINVAL</code> Specified width or height is invalid.</li>
<li><code>ENOMEM</code> Not enough memory for the requested canvas size.</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The desired canvas width </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The desired canvas height </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A libcaca canvas handle upon success, NULL if an error occurred. </dd></dl>

<p>References <a class="el" href="caca_8h_source.html#l00085">CACA_DEFAULT</a>, <a class="el" href="attr_8c_source.html#l00234">caca_set_color_ansi()</a>, and <a class="el" href="caca_8h_source.html#l00086">CACA_TRANSPARENT</a>.</p>

<p>Referenced by <a class="el" href="figfont_8c_source.html#l00054">caca_canvas_set_figfont()</a>, <a class="el" href="caca__conio_8c_source.html#l00332">caca_conio_movetext()</a>, <a class="el" href="caca_2caca_8c_source.html#l00098">caca_create_display_with_driver()</a>, <a class="el" href="export_8c_source.html#l00145">caca_export_area_to_memory()</a>, <a class="el" href="import_8c_source.html#l00233">caca_import_area_from_file()</a>, <a class="el" href="import_8c_source.html#l00194">caca_import_area_from_memory()</a>, and <a class="el" href="string_8c_source.html#l00550">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="gab5f079a934949a06c100b0db604d697e"></a><!-- doxytag: member="caca.h::caca_manage_canvas" ref="gab5f079a934949a06c100b0db604d697e" args="(caca_canvas_t *, int(*)(void *), void *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_manage_canvas </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">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(*)(void *)&nbsp;</td>
          <td class="paramname"> <em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Lock a canvas to prevent it from being resized. If non-NULL, the <em>callback</em> function pointer will be called upon each <em>caca_set_canvas_size</em> call and if the returned value is zero, the canvas resize request will be denied.</p>
<p>This function is only useful for display drivers such as the <em>libcaca</em> library.</p>
<p>If an error occurs, -1 is returned and <b>errno</b> is set accordingly:</p>
<ul>
<li><code>EBUSY</code> The canvas is already being managed.</li>
</ul>
<dl><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 libcaca canvas. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>callback</em>&nbsp;</td><td>An optional callback function pointer. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The argument to be passed to <em>callback</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><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="caca_2caca_8c_source.html#l00098">caca_create_display_with_driver()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9a793c6b42c90884e650fa03f4640b17"></a><!-- doxytag: member="caca.h::caca_unmanage_canvas" ref="ga9a793c6b42c90884e650fa03f4640b17" args="(caca_canvas_t *, int(*)(void *), void *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_unmanage_canvas </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">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(*)(void *)&nbsp;</td>
          <td class="paramname"> <em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>unlock a canvas previously locked by <a class="el" href="group__libcaca.html#gab5f079a934949a06c100b0db604d697e" title="Manage a canvas.">caca_manage_canvas()</a>. for safety reasons, the callback and callback data arguments must be the same as for the <a class="el" href="group__libcaca.html#gab5f079a934949a06c100b0db604d697e" title="Manage a canvas.">caca_manage_canvas()</a> call.</p>
<p>this function is only useful for display drivers such as the <em>libcaca</em> library.</p>
<p>if an error occurs, -1 is returned and <b>errno</b> is set accordingly:</p>
<ul>
<li><code>einval</code> the canvas is not managed, or the callback arguments do not match.</li>
</ul>
<dl><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 libcaca canvas. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>callback</em>&nbsp;</td><td>the <em>callback</em> argument previously passed to <a class="el" href="group__libcaca.html#gab5f079a934949a06c100b0db604d697e" title="Manage a canvas.">caca_manage_canvas()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>the <em>p</em> argument previously passed to <a class="el" href="group__libcaca.html#gab5f079a934949a06c100b0db604d697e" title="Manage a canvas.">caca_manage_canvas()</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><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="caca_2caca_8c_source.html#l00098">caca_create_display_with_driver()</a>, and <a class="el" href="caca_2caca_8c_source.html#l00238">caca_free_display()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8814d2faa76cad0d7d15381b7eeacab6"></a><!-- doxytag: member="caca.h::caca_set_canvas_size" ref="ga8814d2faa76cad0d7d15381b7eeacab6" args="(caca_canvas_t *, int, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_set_canvas_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">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>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>height</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 canvas' width and height, in character cells.</p>
<p>The contents of the canvas are preserved to the extent of the new canvas size. Newly allocated character cells at the right and/or at the bottom of the canvas are filled with spaces.</p>
<p>If as a result of the resize the cursor coordinates fall outside the new canvas boundaries, they are readjusted. For instance, if the current X cursor coordinate is 11 and the requested width is 10, the new X cursor coordinate will be 10.</p>
<p>It is an error to try to resize the canvas if an output driver has been attached to the canvas using <a class="el" href="group__caca__display.html#gac393d4446d813f6e4ba93d2b583c1edb" title="Attach a caca graphical context to a caca canvas.">caca_create_display()</a>. You need to remove the output driver using <a class="el" href="group__caca__display.html#gac1b5b4540a500dd59eaa673d784fab1f" title="Detach a caca graphical context from a caca backend context.">caca_free_display()</a> before you can change the canvas size again. However, the caca output driver can cause a canvas resize through user interaction. See the caca_event() documentation for more about this.</p>
<p>If an error occurs, -1 is returned and <b>errno</b> is set accordingly:</p>
<ul>
<li><code>EINVAL</code> Specified width or height is invalid.</li>
<li><code>EBUSY</code> The canvas is in use by a display driver and cannot be resized.</li>
<li><code>ENOMEM</code> Not enough memory for the requested canvas size. If this happens, the canvas handle becomes invalid and should not be used.</li>
</ul>
<dl><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 libcaca canvas. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>The desired canvas width. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>The desired canvas height. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><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="figfont_8c_source.html#l00054">caca_canvas_set_figfont()</a>, <a class="el" href="figfont_8c_source.html#l00254">caca_flush_figlet()</a>, and <a class="el" href="figfont_8c_source.html#l00130">caca_put_figchar()</a>.</p>

</div>
</div>
<a class="anchor" id="gad85b2ff4c7f952b3cc32f117343a6375"></a><!-- doxytag: member="caca.h::caca_get_canvas_width" ref="gad85b2ff4c7f952b3cc32f117343a6375" args="(caca_canvas_t const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_get_canvas_width </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&nbsp;</td>
          <td class="paramname"> <em>cv</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the current canvas' width, in character cells.</p>
<p>This function never fails.</p>
<dl><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 libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The canvas width. </dd></dl>

<p>Referenced by <a class="el" href="caca__conio_8c_source.html#l00075">caca_conio_clreol()</a>, <a class="el" href="caca__conio_8c_source.html#l00332">caca_conio_movetext()</a>, and <a class="el" href="event_8c_source.html#l00148">caca_get_mouse_x()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa529140e8cf31379a6b57af7c37c9d2f"></a><!-- doxytag: member="caca.h::caca_get_canvas_height" ref="gaa529140e8cf31379a6b57af7c37c9d2f" args="(caca_canvas_t const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_get_canvas_height </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&nbsp;</td>
          <td class="paramname"> <em>cv</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current canvas' height, in character cells.</p>
<p>This function never fails.</p>
<dl><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 libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The canvas height. </dd></dl>

<p>Referenced by <a class="el" href="figfont_8c_source.html#l00254">caca_flush_figlet()</a>, and <a class="el" href="event_8c_source.html#l00170">caca_get_mouse_y()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7112bdf128f94eeae9d66fbc49f96d81"></a><!-- doxytag: member="caca.h::caca_get_canvas_chars" ref="ga7112bdf128f94eeae9d66fbc49f96d81" args="(caca_canvas_t const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern uint32_t const* caca_get_canvas_chars </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&nbsp;</td>
          <td class="paramname"> <em>cv</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the current canvas' internal character array. The array elements consist in native endian 32-bit Unicode values as returned by <a class="el" href="group__caca__canvas.html#ga66bd04edac05780b3fd4435e3ef874af" title="Get the Unicode character at the given coordinates.">caca_get_char()</a>.</p>
<p>This function is probably only useful for <em>libcaca</em> 's internal display drivers.</p>
<p>This function never fails.</p>
<dl><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 libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The canvas character array. </dd></dl>

</div>
</div>
<a class="anchor" id="ga6d451ebbe4f6af86851f1f2abefabbd4"></a><!-- doxytag: member="caca.h::caca_get_canvas_attrs" ref="ga6d451ebbe4f6af86851f1f2abefabbd4" args="(caca_canvas_t const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern uint32_t const* caca_get_canvas_attrs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&nbsp;</td>
          <td class="paramname"> <em>cv</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current canvas' internal attribute array. The array elements consist in native endian 32-bit attribute values as returned by <a class="el" href="group__caca__attributes.html#gafb35087f212d75b431fc501b3a777b6b" title="Get the text attribute at the given coordinates.">caca_get_attr()</a>.</p>
<p>This function is probably only useful for <em>libcaca</em> 's internal display drivers.</p>
<p>This function never fails.</p>
<dl><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 libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The canvas attribute array. </dd></dl>

</div>
</div>
<a class="anchor" id="ga12394c16c9ca94b61198be929ef8580d"></a><!-- doxytag: member="caca.h::caca_free_canvas" ref="ga12394c16c9ca94b61198be929ef8580d" args="(caca_canvas_t *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_free_canvas </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&nbsp;</td>
          <td class="paramname"> <em>cv</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Free all resources allocated by <a class="el" href="group__libcaca.html#ga00caafb33b9d7033d064a642bcad83da" title="Initialise a libcaca canvas.">caca_create_canvas()</a>. The canvas pointer becomes invalid and must no longer be used unless a new call to <a class="el" href="group__libcaca.html#ga00caafb33b9d7033d064a642bcad83da" title="Initialise a libcaca canvas.">caca_create_canvas()</a> is made.</p>
<p>If an error occurs, -1 is returned and <b>errno</b> is set accordingly:</p>
<ul>
<li><code>EBUSY</code> The canvas is in use by a display driver and cannot be freed.</li>
</ul>
<dl><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 libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 in case of success, -1 if an error occurred. </dd></dl>

<p>References <a class="el" href="figfont_8c_source.html#l00054">caca_canvas_set_figfont()</a>.</p>

<p>Referenced by <a class="el" href="figfont_8c_source.html#l00054">caca_canvas_set_figfont()</a>, <a class="el" href="caca_2caca_8c_source.html#l00098">caca_create_display_with_driver()</a>, <a class="el" href="export_8c_source.html#l00145">caca_export_area_to_memory()</a>, <a class="el" href="caca_2caca_8c_source.html#l00238">caca_free_display()</a>, <a class="el" href="import_8c_source.html#l00233">caca_import_area_from_file()</a>, and <a class="el" href="import_8c_source.html#l00194">caca_import_area_from_memory()</a>.</p>

</div>
</div>
<a class="anchor" id="ga685374ff836369f58a5c32a414096f2e"></a><!-- doxytag: member="caca.h::caca_rand" ref="ga685374ff836369f58a5c32a414096f2e" args="(int, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_rand </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>max</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Generate a random integer within the given range.</p>
<p>This function never fails.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>min</em>&nbsp;</td><td>The lower bound of the integer range. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>max</em>&nbsp;</td><td>The upper bound of the integer range. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A random integer comprised between <code>min</code> and <code>max</code> - 1 (inclusive). </dd></dl>

</div>
</div>
<a class="anchor" id="ga3c7edc520b7ea69a721317a9d8649440"></a><!-- doxytag: member="caca.h::caca_get_version" ref="ga3c7edc520b7ea69a721317a9d8649440" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern char const* caca_get_version </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return a read-only string with the <em>libcaca</em> version information.</p>
<p>This function never fails.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The <em>libcaca</em> version information. </dd></dl>

</div>
</div>
</div>
  </body>
</html>