Sophie

Sophie

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

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="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">libcaca dirty rectangle manipulation</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga02bbef7272bc82e9ee651b1783d06cff"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__dirty.html#ga02bbef7272bc82e9ee651b1783d06cff">caca_disable_dirty_rect</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *)</td></tr>
<tr class="memdesc:ga02bbef7272bc82e9ee651b1783d06cff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable dirty rectangles.  <a href="#ga02bbef7272bc82e9ee651b1783d06cff">More...</a><br /></td></tr>
<tr class="separator:ga02bbef7272bc82e9ee651b1783d06cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab31e8a35caf665a4d69a4d6b26d6daa7"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__dirty.html#gab31e8a35caf665a4d69a4d6b26d6daa7">caca_enable_dirty_rect</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *)</td></tr>
<tr class="memdesc:gab31e8a35caf665a4d69a4d6b26d6daa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable dirty rectangles.  <a href="#gab31e8a35caf665a4d69a4d6b26d6daa7">More...</a><br /></td></tr>
<tr class="separator:gab31e8a35caf665a4d69a4d6b26d6daa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55fa122d8e34c1976972123534bb8c63"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__dirty.html#ga55fa122d8e34c1976972123534bb8c63">caca_get_dirty_rect_count</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *)</td></tr>
<tr class="memdesc:ga55fa122d8e34c1976972123534bb8c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of dirty rectangles in the canvas.  <a href="#ga55fa122d8e34c1976972123534bb8c63">More...</a><br /></td></tr>
<tr class="separator:ga55fa122d8e34c1976972123534bb8c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga065b0f863cb026d02a1d311957ee02c7"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__dirty.html#ga065b0f863cb026d02a1d311957ee02c7">caca_get_dirty_rect</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int *, int *, int *, int *)</td></tr>
<tr class="memdesc:ga065b0f863cb026d02a1d311957ee02c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a canvas's dirty rectangle.  <a href="#ga065b0f863cb026d02a1d311957ee02c7">More...</a><br /></td></tr>
<tr class="separator:ga065b0f863cb026d02a1d311957ee02c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97855769d4e2742d6e52c0466e88fe11"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__dirty.html#ga97855769d4e2742d6e52c0466e88fe11">caca_add_dirty_rect</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int, int, int)</td></tr>
<tr class="memdesc:ga97855769d4e2742d6e52c0466e88fe11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an area to the canvas's dirty rectangle list.  <a href="#ga97855769d4e2742d6e52c0466e88fe11">More...</a><br /></td></tr>
<tr class="separator:ga97855769d4e2742d6e52c0466e88fe11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf7017ac973f6033e5e7232be4e24387"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__dirty.html#gaaf7017ac973f6033e5e7232be4e24387">caca_remove_dirty_rect</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, int, int, int, int)</td></tr>
<tr class="memdesc:gaaf7017ac973f6033e5e7232be4e24387"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an area from the dirty rectangle list.  <a href="#gaaf7017ac973f6033e5e7232be4e24387">More...</a><br /></td></tr>
<tr class="separator:gaaf7017ac973f6033e5e7232be4e24387"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga520a34c0e87dc2a6f2b37f4b8336278e"><td class="memItemLeft" align="right" valign="top">__extern int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__dirty.html#ga520a34c0e87dc2a6f2b37f4b8336278e">caca_clear_dirty_rect_list</a> (<a class="el" href="caca_8h.html#aae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *)</td></tr>
<tr class="memdesc:ga520a34c0e87dc2a6f2b37f4b8336278e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear a canvas's dirty rectangle list.  <a href="#ga520a34c0e87dc2a6f2b37f4b8336278e">More...</a><br /></td></tr>
<tr class="separator:ga520a34c0e87dc2a6f2b37f4b8336278e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>These functions manipulate dirty rectangles for optimised blitting. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga02bbef7272bc82e9ee651b1783d06cff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_disable_dirty_rect </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>Disable dirty rectangle handling for all <em>libcaca</em> graphic calls. This is handy when the calling application needs to do slow operations within a known area. Just call <a class="el" href="group__caca__dirty.html#ga97855769d4e2742d6e52c0466e88fe11" title="Add an area to the canvas&#39;s dirty rectangle list. ">caca_add_dirty_rect()</a> afterwards.</p>
<p>This function is recursive. Dirty rectangles are only reenabled when <a class="el" href="group__caca__dirty.html#gab31e8a35caf665a4d69a4d6b26d6daa7" title="Enable dirty rectangles. ">caca_enable_dirty_rect()</a> is called as many times.</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 libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This function always returns 0. </dd></dl>

</div>
</div>
<a class="anchor" id="gab31e8a35caf665a4d69a4d6b26d6daa7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_enable_dirty_rect </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>This function can only be called after <a class="el" href="group__caca__dirty.html#ga02bbef7272bc82e9ee651b1783d06cff" title="Disable dirty rectangles. ">caca_disable_dirty_rect()</a> was called.</p>
<p>If an error occurs, -1 is returned and <b>errno</b> is set accordingly:</p><ul>
<li><code>EINVAL</code> Dirty rectangles were not disabled.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A libcaca 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>

</div>
</div>
<a class="anchor" id="ga55fa122d8e34c1976972123534bb8c63"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_get_dirty_rect_count </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>Get the number of dirty rectangles in a canvas. Dirty rectangles are areas that contain cells that have changed since the last reset.</p>
<p>The dirty rectangles are used internally by display drivers to optimise rendering by avoiding to redraw the whole screen. Once the display driver has rendered the canvas, it resets the dirty rectangle list.</p>
<p>Dirty rectangles are guaranteed not to overlap.</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 libcaca canvas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of dirty rectangles in the given canvas. </dd></dl>

</div>
</div>
<a class="anchor" id="ga065b0f863cb026d02a1d311957ee02c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_get_dirty_rect </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>r</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>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the canvas's given dirty rectangle coordinates. The index must be within the dirty rectangle count. See <a class="el" href="group__caca__dirty.html#ga55fa122d8e34c1976972123534bb8c63" title="Get the number of dirty rectangles in the canvas. ">caca_get_dirty_rect_count()</a> for how to compute this count.</p>
<p>If an error occurs, no coordinates are written in the pointer arguments, -1 is returned and <b>errno</b> is set accordingly:</p><ul>
<li><code>EINVAL</code> Specified rectangle index is out of bounds.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A libcaca canvas. </td></tr>
    <tr><td class="paramname">r</td><td>The requested rectangle index. </td></tr>
    <tr><td class="paramname">x</td><td>A pointer to an integer where the leftmost edge of the dirty rectangle will be stored. </td></tr>
    <tr><td class="paramname">y</td><td>A pointer to an integer where the topmost edge of the dirty rectangle will be stored. </td></tr>
    <tr><td class="paramname">width</td><td>A pointer to an integer where the width of the dirty rectangle will be stored. </td></tr>
    <tr><td class="paramname">height</td><td>A pointer to an integer where the height of the dirty rectangle will be stored. </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>

</div>
</div>
<a class="anchor" id="ga97855769d4e2742d6e52c0466e88fe11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_add_dirty_rect </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>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add an invalidating zone to the canvas's dirty rectangle list. For more information about the dirty rectangles, see <a class="el" href="group__caca__dirty.html#ga065b0f863cb026d02a1d311957ee02c7" title="Get a canvas&#39;s dirty rectangle. ">caca_get_dirty_rect()</a>.</p>
<p>This function may be useful to force refresh of a given zone of the canvas even if the dirty rectangle tracking indicates that it is unchanged. This may happen if the canvas contents were somewhat directly modified.</p>
<p>If an error occurs, -1 is returned and <b>errno</b> is set accordingly:</p><ul>
<li><code>EINVAL</code> Specified rectangle coordinates are out of bounds.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A libcaca canvas. </td></tr>
    <tr><td class="paramname">x</td><td>The leftmost edge of the additional dirty rectangle. </td></tr>
    <tr><td class="paramname">y</td><td>The topmost edge of the additional dirty rectangle. </td></tr>
    <tr><td class="paramname">width</td><td>The width of the additional dirty rectangle. </td></tr>
    <tr><td class="paramname">height</td><td>The height of the additional dirty rectangle. </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>Referenced by <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__caca__primitives.html#ga864247612376401090a5ab8e9f716d78">caca_fill_box()</a>, <a class="el" href="group__caca__transform.html#ga5e59b6806d57b694b9e3fb9646ffdd39">caca_flip()</a>, <a class="el" href="group__caca__transform.html#ga82727b3f6ac3c6dcdefbe15ca825618d">caca_flop()</a>, <a class="el" href="group__caca__frame.html#ga22531e94edf3e44b124ed84aa425372a">caca_free_frame()</a>, <a class="el" href="group__caca__transform.html#ga8a0363a5ee158a7eb71d5aa57dcca568">caca_invert()</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__libcaca.html#ga685374ff836369f58a5c32a414096f2e">caca_rand()</a>, <a class="el" href="group__caca__transform.html#gaba6aa4d50a8351794715ac5085a4daf0">caca_rotate_180()</a>, <a class="el" href="group__caca__transform.html#ga9123bbd7cf198dbe18cc432ec5db3fab">caca_rotate_left()</a>, <a class="el" href="group__caca__transform.html#ga539399f5e4cb6bbb34c94cc9ae71fbe2">caca_rotate_right()</a>, <a class="el" href="group__caca__canvas.html#ga194b440e32158e876bb25849105db74d">caca_set_canvas_boundaries()</a>, <a class="el" href="group__caca__frame.html#ga6a09db01455121e5e58d081b71c55e81">caca_set_frame()</a>, <a class="el" href="group__caca__transform.html#gaee3055c7c2e624f9729e7dafe458535d">caca_stretch_left()</a>, and <a class="el" href="group__caca__transform.html#ga00922bbead3429b4a2562f90fa61dd78">caca_stretch_right()</a>.</p>

</div>
</div>
<a class="anchor" id="gaaf7017ac973f6033e5e7232be4e24387"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_remove_dirty_rect </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>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Mark a cell area in the canvas as not dirty. For more information about the dirty rectangles, see <a class="el" href="group__caca__dirty.html#ga065b0f863cb026d02a1d311957ee02c7" title="Get a canvas&#39;s dirty rectangle. ">caca_get_dirty_rect()</a>.</p>
<p>Values such that <b>xmin</b> &gt; <b>xmax</b> or <b>ymin</b> &gt; <b>ymax</b> indicate that the dirty rectangle is empty. They will be silently ignored.</p>
<p>If an error occurs, -1 is returned and <b>errno</b> is set accordingly:</p><ul>
<li><code>EINVAL</code> Specified rectangle coordinates are out of bounds.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cv</td><td>A libcaca canvas. </td></tr>
    <tr><td class="paramname">x</td><td>The leftmost edge of the clean rectangle. </td></tr>
    <tr><td class="paramname">y</td><td>The topmost edge of the clean rectangle. </td></tr>
    <tr><td class="paramname">width</td><td>The width of the clean rectangle. </td></tr>
    <tr><td class="paramname">height</td><td>The height of the clean rectangle. </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>

</div>
</div>
<a class="anchor" id="ga520a34c0e87dc2a6f2b37f4b8336278e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_clear_dirty_rect_list </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>Empty the canvas's dirty rectangle list.</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 libcaca canvas. </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__display.html#ga8c710eac721d05d807491a1534d1cbe7">caca_refresh_display()</a>.</p>

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