Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-release > by-pkgid > 2a9a0500ba8dfb95025148f22d49b751 > files > 52

lib64caca-devel-0.99-0.beta18.13.mga6.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.8.11 -->
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">libcaca canvas drawing</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaf0eacf54c042ec78a69942ebc8d7ffd5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#gaf0eacf54c042ec78a69942ebc8d7ffd5">CACA_MAGIC_FULLWIDTH</a>&#160;&#160;&#160;0x000ffffe</td></tr>
<tr class="separator:gaf0eacf54c042ec78a69942ebc8d7ffd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gabeada7cbf8b4f68940dd6d7bb901734a"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#gabeada7cbf8b4f68940dd6d7bb901734a">caca_gotoxy</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int)</td></tr>
<tr class="memdesc:gabeada7cbf8b4f68940dd6d7bb901734a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set cursor position.  <a href="#gabeada7cbf8b4f68940dd6d7bb901734a">More...</a><br /></td></tr>
<tr class="separator:gabeada7cbf8b4f68940dd6d7bb901734a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga618d8ec60adc7317e624d5ead9b465bb"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#ga618d8ec60adc7317e624d5ead9b465bb">caca_wherex</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *)</td></tr>
<tr class="memdesc:ga618d8ec60adc7317e624d5ead9b465bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get X cursor position.  <a href="#ga618d8ec60adc7317e624d5ead9b465bb">More...</a><br /></td></tr>
<tr class="separator:ga618d8ec60adc7317e624d5ead9b465bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae8f91833ba0e61d93817e264bbae079b"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#gae8f91833ba0e61d93817e264bbae079b">caca_wherey</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *)</td></tr>
<tr class="memdesc:gae8f91833ba0e61d93817e264bbae079b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Y cursor position.  <a href="#gae8f91833ba0e61d93817e264bbae079b">More...</a><br /></td></tr>
<tr class="separator:gae8f91833ba0e61d93817e264bbae079b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21864614dada3ee29f10987a6e0d3064"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#ga21864614dada3ee29f10987a6e0d3064">caca_put_char</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int, uint32_t)</td></tr>
<tr class="memdesc:ga21864614dada3ee29f10987a6e0d3064"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print an ASCII or Unicode character.  <a href="#ga21864614dada3ee29f10987a6e0d3064">More...</a><br /></td></tr>
<tr class="separator:ga21864614dada3ee29f10987a6e0d3064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66bd04edac05780b3fd4435e3ef874af"><td class="memItemLeft" align="right" valign="top">__extern uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#ga66bd04edac05780b3fd4435e3ef874af">caca_get_char</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *, int, int)</td></tr>
<tr class="memdesc:ga66bd04edac05780b3fd4435e3ef874af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Unicode character at the given coordinates.  <a href="#ga66bd04edac05780b3fd4435e3ef874af">More...</a><br /></td></tr>
<tr class="separator:ga66bd04edac05780b3fd4435e3ef874af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9370c0854f358b88d0cb8caf07fb6d3"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#gac9370c0854f358b88d0cb8caf07fb6d3">caca_put_str</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int, char const *)</td></tr>
<tr class="memdesc:gac9370c0854f358b88d0cb8caf07fb6d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a string.  <a href="#gac9370c0854f358b88d0cb8caf07fb6d3">More...</a><br /></td></tr>
<tr class="separator:gac9370c0854f358b88d0cb8caf07fb6d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa68d5ce7e429e58798b13af51d51c8f1"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#gaa68d5ce7e429e58798b13af51d51c8f1">caca_printf</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int, char const *,...)</td></tr>
<tr class="memdesc:gaa68d5ce7e429e58798b13af51d51c8f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a formated string.  <a href="#gaa68d5ce7e429e58798b13af51d51c8f1">More...</a><br /></td></tr>
<tr class="separator:gaa68d5ce7e429e58798b13af51d51c8f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecf2b26354e6e17d57330c08706f7c6a"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#gaecf2b26354e6e17d57330c08706f7c6a">caca_vprintf</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int, char const *, va_list)</td></tr>
<tr class="memdesc:gaecf2b26354e6e17d57330c08706f7c6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a formated string (va_list version).  <a href="#gaecf2b26354e6e17d57330c08706f7c6a">More...</a><br /></td></tr>
<tr class="separator:gaecf2b26354e6e17d57330c08706f7c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e4271568497c86d3b9969b767f21424"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#ga6e4271568497c86d3b9969b767f21424">caca_clear_canvas</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *)</td></tr>
<tr class="memdesc:ga6e4271568497c86d3b9969b767f21424"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the canvas.  <a href="#ga6e4271568497c86d3b9969b767f21424">More...</a><br /></td></tr>
<tr class="separator:ga6e4271568497c86d3b9969b767f21424"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga44b59e2b689dd1489110bd7c1bbd9f36"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#ga44b59e2b689dd1489110bd7c1bbd9f36">caca_set_canvas_handle</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int)</td></tr>
<tr class="memdesc:ga44b59e2b689dd1489110bd7c1bbd9f36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set cursor handle.  <a href="#ga44b59e2b689dd1489110bd7c1bbd9f36">More...</a><br /></td></tr>
<tr class="separator:ga44b59e2b689dd1489110bd7c1bbd9f36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d79ed0406204f209c6afb3182c17bae"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#ga4d79ed0406204f209c6afb3182c17bae">caca_get_canvas_handle_x</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *)</td></tr>
<tr class="memdesc:ga4d79ed0406204f209c6afb3182c17bae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get X handle position.  <a href="#ga4d79ed0406204f209c6afb3182c17bae">More...</a><br /></td></tr>
<tr class="separator:ga4d79ed0406204f209c6afb3182c17bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21f39ab1806b05bd15521eaee63558b8"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#ga21f39ab1806b05bd15521eaee63558b8">caca_get_canvas_handle_y</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *)</td></tr>
<tr class="memdesc:ga21f39ab1806b05bd15521eaee63558b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Y handle position.  <a href="#ga21f39ab1806b05bd15521eaee63558b8">More...</a><br /></td></tr>
<tr class="separator:ga21f39ab1806b05bd15521eaee63558b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9cad4c6bc9bc7f43cb8403cf26ee7d0a"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#ga9cad4c6bc9bc7f43cb8403cf26ee7d0a">caca_blit</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int, <a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *, <a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *)</td></tr>
<tr class="memdesc:ga9cad4c6bc9bc7f43cb8403cf26ee7d0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blit a canvas onto another one.  <a href="#ga9cad4c6bc9bc7f43cb8403cf26ee7d0a">More...</a><br /></td></tr>
<tr class="separator:ga9cad4c6bc9bc7f43cb8403cf26ee7d0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga194b440e32158e876bb25849105db74d"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int, int, int)</td></tr>
<tr class="memdesc:ga194b440e32158e876bb25849105db74d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a canvas' new boundaries.  <a href="#ga194b440e32158e876bb25849105db74d">More...</a><br /></td></tr>
<tr class="separator:ga194b440e32158e876bb25849105db74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>These functions provide low-level character printing routines and higher level graphics functions. </p>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gaf0eacf54c042ec78a69942ebc8d7ffd5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CACA_MAGIC_FULLWIDTH&#160;&#160;&#160;0x000ffffe</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Used to indicate that the previous character was a fullwidth glyph. </p>

<p>Referenced by <a class="el" href="group__caca__canvas.html#ga9cad4c6bc9bc7f43cb8403cf26ee7d0a">caca_blit()</a>, <a class="el" href="group__caca__transform.html#ga5e59b6806d57b694b9e3fb9646ffdd39">caca_flip()</a>, <a class="el" href="group__caca__importexport.html#ga264bcf9f821d67f33bd5ee5aa5e048a0">caca_get_export_list()</a>, <a class="el" href="group__caca__attributes.html#gaeec0a808344742989fd202b527993242">caca_put_attr()</a>, <a class="el" href="group__caca__canvas.html#ga21864614dada3ee29f10987a6e0d3064">caca_put_char()</a>, <a class="el" href="group__caca__transform.html#gaba6aa4d50a8351794715ac5085a4daf0">caca_rotate_180()</a>, and <a class="el" href="group__caca__transform.html#ga00922bbead3429b4a2562f90fa61dd78">caca_stretch_right()</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gabeada7cbf8b4f68940dd6d7bb901734a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_gotoxy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&#160;</td>
          <td class="paramname"><em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Put the cursor at the given coordinates. Functions making use of the cursor will use the new values. Setting the cursor position outside the canvas is legal but the cursor will not be shown.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td class="paramname">x</td><td>X cursor coordinate. </td></tr>
    <tr><td class="paramname">y</td><td>Y cursor coordinate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This function always returns 0. </dd></dl>

<p>Referenced by <a class="el" href="group__conio.html#gafe2192e61867cec9f1fad466070bb2c6">caca_conio_cgets()</a>, <a class="el" href="group__conio.html#ga88ca083917392ed0143f78db3c0a630e">caca_conio_clrscr()</a>, <a class="el" href="group__conio.html#ga4cc0faf95fba13fa0d892eaedb11430a">caca_conio_cprintf()</a>, <a class="el" href="group__conio.html#gae383520dc36b12ec37b6c1c86a8ccdb0">caca_conio_cputs()</a>, <a class="el" href="group__conio.html#gabd60419a6f46fb44b97c9f64e8b95a02">caca_conio_gotoxy()</a>, <a class="el" href="group__conio.html#gaf5fba19f31882d8199fc1566facf6f2f">caca_conio_printf()</a>, <a class="el" href="group__conio.html#ga8c0c3d08f84ddd2472f597f8d1f5aa8f">caca_conio_putch()</a>, and <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="ga618d8ec60adc7317e624d5ead9b465bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_wherex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&#160;</td>
          <td class="paramname"><em>cv</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve the X coordinate of the cursor's position.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The cursor's X coordinate. </dd></dl>

<p>Referenced by <a class="el" href="group__conio.html#gafe2192e61867cec9f1fad466070bb2c6">caca_conio_cgets()</a>, <a class="el" href="group__conio.html#ga0b97285ca8ed957c6787495fad7ba35c">caca_conio_clreol()</a>, <a class="el" href="group__conio.html#ga4cc0faf95fba13fa0d892eaedb11430a">caca_conio_cprintf()</a>, <a class="el" href="group__conio.html#gae383520dc36b12ec37b6c1c86a8ccdb0">caca_conio_cputs()</a>, <a class="el" href="group__conio.html#gaf5fba19f31882d8199fc1566facf6f2f">caca_conio_printf()</a>, <a class="el" href="group__conio.html#ga8c0c3d08f84ddd2472f597f8d1f5aa8f">caca_conio_putch()</a>, <a class="el" href="group__conio.html#gaa5ad0195b583b7cedad93921eb1f66bb">caca_conio_wherex()</a>, and <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="gae8f91833ba0e61d93817e264bbae079b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_wherey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&#160;</td>
          <td class="paramname"><em>cv</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve the Y coordinate of the cursor's position.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The cursor's Y coordinate. </dd></dl>

<p>Referenced by <a class="el" href="group__conio.html#gafe2192e61867cec9f1fad466070bb2c6">caca_conio_cgets()</a>, <a class="el" href="group__conio.html#ga0b97285ca8ed957c6787495fad7ba35c">caca_conio_clreol()</a>, <a class="el" href="group__conio.html#ga4cc0faf95fba13fa0d892eaedb11430a">caca_conio_cprintf()</a>, <a class="el" href="group__conio.html#gae383520dc36b12ec37b6c1c86a8ccdb0">caca_conio_cputs()</a>, <a class="el" href="group__conio.html#gaf5fba19f31882d8199fc1566facf6f2f">caca_conio_printf()</a>, <a class="el" href="group__conio.html#ga8c0c3d08f84ddd2472f597f8d1f5aa8f">caca_conio_putch()</a>, <a class="el" href="group__conio.html#gaae088ae86b208b1eefd47dfa0601f68d">caca_conio_wherey()</a>, and <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="ga21864614dada3ee29f10987a6e0d3064"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_put_char </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&#160;</td>
          <td class="paramname"><em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>ch</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print an ASCII or Unicode character at the given coordinates, using the default foreground and background colour values.</p>
<p>If the coordinates are outside the canvas boundaries, nothing is printed. If a fullwidth Unicode character gets overwritten, its remaining visible parts are replaced with spaces. If the canvas' boundaries would split the fullwidth character in two, a space is printed instead.</p>
<p>The behaviour when printing non-printable characters or invalid UTF-32 characters is undefined. To print a sequence of bytes forming an UTF-8 character instead of an UTF-32 character, use the <a class="el" href="group__caca__canvas.html#gac9370c0854f358b88d0cb8caf07fb6d3" title="Print a string. ">caca_put_str()</a> function.</p>
<p>This function returns the width of the printed character. If it is a fullwidth character, 2 is returned. Otherwise, 1 is returned.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td class="paramname">x</td><td>X coordinate. </td></tr>
    <tr><td class="paramname">y</td><td>Y coordinate. </td></tr>
    <tr><td class="paramname">ch</td><td>The character to print. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The width of the printed character: 2 for a fullwidth character, 1 otherwise. </dd></dl>

<p>References <a class="el" href="group__caca__dirty.html#ga97855769d4e2742d6e52c0466e88fe11">caca_add_dirty_rect()</a>, <a class="el" href="group__caca__canvas.html#gaf0eacf54c042ec78a69942ebc8d7ffd5">CACA_MAGIC_FULLWIDTH</a>, and <a class="el" href="group__caca__charset.html#ga5f0a8814bbd8fdb74ea835448ad6f065">caca_utf32_is_fullwidth()</a>.</p>

<p>Referenced by <a class="el" href="group__conio.html#gafe2192e61867cec9f1fad466070bb2c6">caca_conio_cgets()</a>, <a class="el" href="group__conio.html#gae383520dc36b12ec37b6c1c86a8ccdb0">caca_conio_cputs()</a>, <a class="el" href="group__conio.html#ga8c0c3d08f84ddd2472f597f8d1f5aa8f">caca_conio_putch()</a>, <a class="el" href="group__caca__dither.html#gae7e10436664deb729029918c6275edb6">caca_dither_bitmap()</a>, <a class="el" href="group__caca__primitives.html#ga33e443efb0d644bd0f7169859c44c034">caca_draw_thin_ellipse()</a>, <a class="el" href="group__caca__primitives.html#ga96e467999ef078a0f3fe13c3ed33cec2">caca_draw_thin_polyline()</a>, <a class="el" href="group__caca__primitives.html#ga864247612376401090a5ab8e9f716d78">caca_fill_box()</a>, <a class="el" href="group__caca__primitives.html#gaf7639315e8de3e0c1f3aa7fc557e155f">caca_fill_triangle()</a>, <a class="el" href="group__caca__figfont.html#gad86d0785a97d54ebe796dcda02d7900f">caca_flush_figlet()</a>, <a class="el" href="group__caca__importexport.html#gaf49776c6092b0d3f47624e837acaa8a6">caca_get_import_list()</a>, <a class="el" href="group__caca__figfont.html#ga53d156bf4e4f7606c9f1a8f558d06ef1">caca_put_figchar()</a>, <a class="el" href="group__caca__canvas.html#gac9370c0854f358b88d0cb8caf07fb6d3">caca_put_str()</a>, and <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="ga66bd04edac05780b3fd4435e3ef874af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern uint32_t caca_get_char </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&#160;</td>
          <td class="paramname"><em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the ASCII or Unicode value of the character at the given coordinates. If the value is less or equal to 127 (0x7f), the character can be printed as ASCII. Otherise, it must be handled as a UTF-32 value.</p>
<p>If the coordinates are outside the canvas boundaries, a space (0x20) is returned.</p>
<p>A special exception is when CACA_MAGIC_FULLWIDTH is returned. This value is guaranteed not to be a valid Unicode character, and indicates that the character at the left of the requested one is a fullwidth character.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td class="paramname">x</td><td>X coordinate. </td></tr>
    <tr><td class="paramname">y</td><td>Y coordinate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The Unicode character at the given coordinates. </dd></dl>

<p>Referenced by <a class="el" href="group__caca__primitives.html#gaf7639315e8de3e0c1f3aa7fc557e155f">caca_fill_triangle()</a>, <a class="el" href="group__caca__figfont.html#gad86d0785a97d54ebe796dcda02d7900f">caca_flush_figlet()</a>, <a class="el" href="group__caca__figfont.html#ga53d156bf4e4f7606c9f1a8f558d06ef1">caca_put_figchar()</a>, and <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="gac9370c0854f358b88d0cb8caf07fb6d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_put_str </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&#160;</td>
          <td class="paramname"><em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>s</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print an UTF-8 string at the given coordinates, using the default foreground and background values. The coordinates may be outside the canvas boundaries (eg. a negative Y coordinate) and the string will be cropped accordingly if it is too long.</p>
<p>See <a class="el" href="group__caca__canvas.html#ga21864614dada3ee29f10987a6e0d3064" title="Print an ASCII or Unicode character. ">caca_put_char()</a> for more information on how fullwidth characters are handled when overwriting each other or at the canvas' boundaries.</p>
<p>This function returns the number of cells printed by the string. It is not the number of characters printed, because fullwidth characters account for two cells.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td class="paramname">x</td><td>X coordinate. </td></tr>
    <tr><td class="paramname">y</td><td>Y coordinate. </td></tr>
    <tr><td class="paramname">s</td><td>The string to print. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of cells printed. </dd></dl>

<p>References <a class="el" href="group__caca__canvas.html#ga21864614dada3ee29f10987a6e0d3064">caca_put_char()</a>, <a class="el" href="group__caca__charset.html#ga5f0a8814bbd8fdb74ea835448ad6f065">caca_utf32_is_fullwidth()</a>, and <a class="el" href="group__caca__charset.html#gae1378ecf06c06b5b0b8065b360be6fb1">caca_utf8_to_utf32()</a>.</p>

<p>Referenced by <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>, and <a class="el" href="group__caca__canvas.html#gaecf2b26354e6e17d57330c08706f7c6a">caca_vprintf()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa68d5ce7e429e58798b13af51d51c8f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_printf </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&#160;</td>
          <td class="paramname"><em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Format a string at the given coordinates, using the default foreground and background values. The coordinates may be outside the canvas boundaries (eg. a negative Y coordinate) and the string will be cropped accordingly if it is too long. The syntax of the format string is the same as for the C printf() function.</p>
<p>This function returns the number of cells printed by the string. It is not the number of characters printed, because fullwidth characters account for two cells.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td class="paramname">x</td><td>X coordinate. </td></tr>
    <tr><td class="paramname">y</td><td>Y coordinate. </td></tr>
    <tr><td class="paramname">format</td><td>The format string to print. </td></tr>
    <tr><td class="paramname">...</td><td>Arguments to the format string. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of cells printed. </dd></dl>

<p>References <a class="el" href="group__caca__canvas.html#gaecf2b26354e6e17d57330c08706f7c6a">caca_vprintf()</a>.</p>

<p>Referenced by <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="gaecf2b26354e6e17d57330c08706f7c6a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_vprintf </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&#160;</td>
          <td class="paramname"><em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</td>
          <td class="paramname"><em>args</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Format a string at the given coordinates, using the default foreground and background values. The coordinates may be outside the canvas boundaries (eg. a negative Y coordinate) and the string will be cropped accordingly if it is too long. The syntax of the format string is the same as for the C vprintf() function.</p>
<p>This function returns the number of cells printed by the string. It is not the number of characters printed, because fullwidth characters account for two cells.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td class="paramname">x</td><td>X coordinate. </td></tr>
    <tr><td class="paramname">y</td><td>Y coordinate. </td></tr>
    <tr><td class="paramname">format</td><td>The format string to print. </td></tr>
    <tr><td class="paramname">args</td><td>A va_list containting the arguments to the format string. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of cells printed. </dd></dl>

<p>References <a class="el" href="group__caca__canvas.html#gac9370c0854f358b88d0cb8caf07fb6d3">caca_put_str()</a>.</p>

<p>Referenced by <a class="el" href="group__conio.html#ga4cc0faf95fba13fa0d892eaedb11430a">caca_conio_cprintf()</a>, <a class="el" href="group__conio.html#gaf5fba19f31882d8199fc1566facf6f2f">caca_conio_printf()</a>, and <a class="el" href="group__caca__canvas.html#gaa68d5ce7e429e58798b13af51d51c8f1">caca_printf()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6e4271568497c86d3b9969b767f21424"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_clear_canvas </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&#160;</td>
          <td class="paramname"><em>cv</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Clear the canvas using the current foreground and background colours.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>The canvas to clear. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This function always returns 0. </dd></dl>

<p>References <a class="el" href="group__caca__dirty.html#ga97855769d4e2742d6e52c0466e88fe11">caca_add_dirty_rect()</a>.</p>

<p>Referenced by <a class="el" href="group__conio.html#ga88ca083917392ed0143f78db3c0a630e">caca_conio_clrscr()</a>, and <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="ga44b59e2b689dd1489110bd7c1bbd9f36"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_set_canvas_handle </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&#160;</td>
          <td class="paramname"><em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the canvas' handle. Blitting functions will use the handle value to put the canvas at the proper coordinates.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
    <tr><td class="paramname">x</td><td>X handle coordinate. </td></tr>
    <tr><td class="paramname">y</td><td>Y handle coordinate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This function always returns 0. </dd></dl>

<p>Referenced by <a class="el" href="group__caca__figfont.html#ga53d156bf4e4f7606c9f1a8f558d06ef1">caca_put_figchar()</a>, and <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4d79ed0406204f209c6afb3182c17bae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_get_canvas_handle_x </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&#160;</td>
          <td class="paramname"><em>cv</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve the X coordinate of the canvas' handle.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The canvas' handle's X coordinate. </dd></dl>

<p>Referenced by <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="ga21f39ab1806b05bd15521eaee63558b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_get_canvas_handle_y </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&#160;</td>
          <td class="paramname"><em>cv</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve the Y coordinate of the canvas' handle.</p>
<p>This function never fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A handle to the libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The canvas' handle's Y coordinate. </dd></dl>

<p>Referenced by <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9cad4c6bc9bc7f43cb8403cf26ee7d0a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_blit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> const *&#160;</td>
          <td class="paramname"><em>mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Blit a canvas onto another one at the given coordinates. An optional mask canvas can be used.</p>
<p>If an error occurs, -1 is returned and <b>errno</b> is set accordingly:</p><ul>
<li><code>EINVAL</code> A mask was specified but the mask size and source canvas size do not match.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>The destination canvas. </td></tr>
    <tr><td class="paramname">x</td><td>X coordinate. </td></tr>
    <tr><td class="paramname">y</td><td>Y coordinate. </td></tr>
    <tr><td class="paramname">src</td><td>The source canvas. </td></tr>
    <tr><td class="paramname">mask</td><td>The mask canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 in case of success, -1 if an error occurred. </dd></dl>

<p>References <a class="el" href="group__caca__dirty.html#ga97855769d4e2742d6e52c0466e88fe11">caca_add_dirty_rect()</a>, and <a class="el" href="group__caca__canvas.html#gaf0eacf54c042ec78a69942ebc8d7ffd5">CACA_MAGIC_FULLWIDTH</a>.</p>

<p>Referenced by <a class="el" href="group__conio.html#ga574080c56d612712622918e7ee1d5973">caca_conio_movetext()</a>, <a class="el" href="group__caca__importexport.html#ga026c45b9247dc7f9fb39878f9deca03c">caca_export_area_to_memory()</a>, <a class="el" href="group__caca__importexport.html#gae6bcaa3e30d6ba075c14a817a2464f55">caca_import_area_from_file()</a>, <a class="el" href="group__caca__importexport.html#ga4455d225b91573e265211e5c41553a37">caca_import_area_from_memory()</a>, <a class="el" href="group__caca__figfont.html#ga53d156bf4e4f7606c9f1a8f558d06ef1">caca_put_figchar()</a>, and <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>.</p>

</div>
</div>
<a class="anchor" id="ga194b440e32158e876bb25849105db74d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_set_canvas_boundaries </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&#160;</td>
          <td class="paramname"><em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>h</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set new boundaries for a canvas. This function can be used to crop a canvas, to expand it or for combinations of both actions. All frames are affected by this function.</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>The canvas to crop. </td></tr>
    <tr><td class="paramname">x</td><td>X coordinate of the top-left corner. </td></tr>
    <tr><td class="paramname">y</td><td>Y coordinate of the top-left corner. </td></tr>
    <tr><td class="paramname">w</td><td>The width of the cropped area. </td></tr>
    <tr><td class="paramname">h</td><td>The height of the cropped area. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 in case of success, -1 if an error occurred. </dd></dl>

<p>References <a class="el" href="group__caca__dirty.html#ga97855769d4e2742d6e52c0466e88fe11">caca_add_dirty_rect()</a>, <a class="el" href="group__caca__canvas.html#ga9cad4c6bc9bc7f43cb8403cf26ee7d0a">caca_blit()</a>, <a class="el" href="group__caca__canvas.html#ga6e4271568497c86d3b9969b767f21424">caca_clear_canvas()</a>, <a class="el" href="group__libcaca.html#ga00caafb33b9d7033d064a642bcad83da">caca_create_canvas()</a>, <a class="el" href="group__caca__frame.html#gab5fb0c9573f9f0ad85c4192df067c009">caca_create_frame()</a>, <a class="el" href="group__caca__canvas.html#ga4d79ed0406204f209c6afb3182c17bae">caca_get_canvas_handle_x()</a>, <a class="el" href="group__caca__canvas.html#ga21f39ab1806b05bd15521eaee63558b8">caca_get_canvas_handle_y()</a>, <a class="el" href="group__caca__canvas.html#ga66bd04edac05780b3fd4435e3ef874af">caca_get_char()</a>, <a class="el" href="group__caca__frame.html#ga7dca169ceb67f3ea770a8aaaf7214957">caca_get_frame_count()</a>, <a class="el" href="group__caca__canvas.html#gabeada7cbf8b4f68940dd6d7bb901734a">caca_gotoxy()</a>, <a class="el" href="group__caca__canvas.html#gaa68d5ce7e429e58798b13af51d51c8f1">caca_printf()</a>, <a class="el" href="group__caca__canvas.html#ga21864614dada3ee29f10987a6e0d3064">caca_put_char()</a>, <a class="el" href="group__caca__canvas.html#gac9370c0854f358b88d0cb8caf07fb6d3">caca_put_str()</a>, <a class="el" href="group__caca__canvas.html#ga44b59e2b689dd1489110bd7c1bbd9f36">caca_set_canvas_handle()</a>, <a class="el" href="group__caca__frame.html#ga6a09db01455121e5e58d081b71c55e81">caca_set_frame()</a>, <a class="el" href="group__caca__canvas.html#ga618d8ec60adc7317e624d5ead9b465bb">caca_wherex()</a>, and <a class="el" href="group__caca__canvas.html#gae8f91833ba0e61d93817e264bbae079b">caca_wherey()</a>.</p>

</div>
</div>
</div><!-- contents -->
  </body>
</html>