Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
    <title>libcaca documentation</title>
    <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head>
  <body>
<!-- $Id$ -->
<!-- Generated by Doxygen 1.5.9 -->
<div class="contents">
<h1>libcaca display functions</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern <a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#gc393d4446d813f6e4ba93d2b583c1edb">caca_create_display</a> (<a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach a caca graphical context to a caca canvas.  <a href="#gc393d4446d813f6e4ba93d2b583c1edb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern <a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#g4b2517558ff72b670a1e747b5415417e">caca_create_display_with_driver</a> (<a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *, char const *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach a specific caca graphical context to a caca canvas.  <a href="#g4b2517558ff72b670a1e747b5415417e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern char const *const *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#gcec026e270ea7238c3b5858e21ccd8f7">caca_get_display_driver_list</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get available display drivers.  <a href="#gcec026e270ea7238c3b5858e21ccd8f7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern char const *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#g7acc7d0f71f249fc0d64226e747fa623">caca_get_display_driver</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a caca graphical context's current output driver.  <a href="#g7acc7d0f71f249fc0d64226e747fa623"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#gae525895a379b7f5ae99561613c99b41">caca_set_display_driver</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *, char const *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the output driver.  <a href="#gae525895a379b7f5ae99561613c99b41"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#gc1b5b4540a500dd59eaa673d784fab1f">caca_free_display</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Detach a caca graphical context from a caca backend context.  <a href="#gc1b5b4540a500dd59eaa673d784fab1f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern <a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#g65670cdec61ba57879b893c997cd26da">caca_get_canvas</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the canvas attached to a caca graphical context.  <a href="#g65670cdec61ba57879b893c997cd26da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#g8c710eac721d05d807491a1534d1cbe7">caca_refresh_display</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush pending changes and redraw the screen.  <a href="#g8c710eac721d05d807491a1534d1cbe7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#g0340d64c3e7f23e11af749c4da83dfde">caca_set_display_time</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *, int)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the refresh delay.  <a href="#g0340d64c3e7f23e11af749c4da83dfde"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#g74339a36233beeee2ca5fe531885538a">caca_get_display_time</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> const *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the display's average rendering time.  <a href="#g74339a36233beeee2ca5fe531885538a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#ge0cc5bc7835df240b242929cc77024ac">caca_get_display_width</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> const *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the display width.  <a href="#ge0cc5bc7835df240b242929cc77024ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#gf540716e9e5faa22a3dc5d0c68761a1f">caca_get_display_height</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> const *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the display height.  <a href="#gf540716e9e5faa22a3dc5d0c68761a1f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#gdab2bf1e8d0bf5c3cfb3e29ab07d5641">caca_set_display_title</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *, char const *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the display title.  <a href="#gdab2bf1e8d0bf5c3cfb3e29ab07d5641"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#g2a1d361cd5accd39925fb0e92bf15579">caca_set_mouse</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *, int)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Show or hide the mouse pointer.  <a href="#g2a1d361cd5accd39925fb0e92bf15579"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__display.html#g6a15546ac2f6e48e0efa7843ee195b7d">caca_set_cursor</a> (<a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *, int)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Show or hide the cursor.  <a href="#g6a15546ac2f6e48e0efa7843ee195b7d"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
These functions provide the basic <em>libcaca</em> routines for display initialisation, system information retrieval and configuration. <hr><h2>Function Documentation</h2>
<a class="anchor" name="gc393d4446d813f6e4ba93d2b583c1edb"></a><!-- doxytag: member="caca.h::caca_create_display" ref="gc393d4446d813f6e4ba93d2b583c1edb" args="(caca_canvas_t *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern <a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a>* caca_create_display           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&nbsp;</td>
          <td class="paramname"> <em>cv</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a graphical context using device-dependent features (ncurses for terminals, an X11 window, a DOS command window...) that attaches to a libcaca canvas. Everything that gets drawn in the libcaca canvas can then be displayed by the libcaca driver.<p>
If no caca canvas is provided, a new one is created. Its handle can be retrieved using <a class="el" href="group__caca__display.html#g65670cdec61ba57879b893c997cd26da" title="Get the canvas attached to a caca graphical context.">caca_get_canvas()</a> and it is automatically destroyed when <a class="el" href="group__caca__display.html#gc1b5b4540a500dd59eaa673d784fab1f" title="Detach a caca graphical context from a caca backend context.">caca_free_display()</a> is called.<p>
See also <a class="el" href="group__caca__display.html#g4b2517558ff72b670a1e747b5415417e" title="Attach a specific caca graphical context to a caca canvas.">caca_create_display_with_driver()</a>.<p>
If an error occurs, NULL is returned and <b>errno</b> is set accordingly:<ul>
<li><code>ENOMEM</code> Not enough memory.</li><li><code>ENODEV</code> Graphical device could not be initialised.</li></ul>
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cv</em>&nbsp;</td><td>The caca canvas or NULL to create a canvas automatically. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The caca graphical context or NULL if an error occurred. </dd></dl>

<p>References <a class="el" href="caca_2caca_8c_source.html#l00100">caca_create_display_with_driver()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g4b2517558ff72b670a1e747b5415417e"></a><!-- doxytag: member="caca.h::caca_create_display_with_driver" ref="g4b2517558ff72b670a1e747b5415417e" args="(caca_canvas_t *, char const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern <a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a>* caca_create_display_with_driver           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a> *&nbsp;</td>
          <td class="paramname"> <em>cv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>driver</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a graphical context using device-dependent features (ncurses for terminals, an X11 window, a DOS command window...) that attaches to a libcaca canvas. Everything that gets drawn in the libcaca canvas can then be displayed by the libcaca driver.<p>
If no caca canvas is provided, a new one is created. Its handle can be retrieved using <a class="el" href="group__caca__display.html#g65670cdec61ba57879b893c997cd26da" title="Get the canvas attached to a caca graphical context.">caca_get_canvas()</a> and it is automatically destroyed when <a class="el" href="group__caca__display.html#gc1b5b4540a500dd59eaa673d784fab1f" title="Detach a caca graphical context from a caca backend context.">caca_free_display()</a> is called.<p>
If no driver name is provided, <em>libcaca</em> will try to autodetect the best output driver it can.<p>
See also <a class="el" href="group__caca__display.html#gc393d4446d813f6e4ba93d2b583c1edb" title="Attach a caca graphical context to a caca canvas.">caca_create_display()</a>.<p>
If an error occurs, NULL is returned and <b>errno</b> is set accordingly:<ul>
<li><code>ENOMEM</code> Not enough memory.</li><li><code>ENODEV</code> Graphical device could not be initialised.</li></ul>
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cv</em>&nbsp;</td><td>The caca canvas or NULL to create a canvas automatically. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>driver</em>&nbsp;</td><td>A string describing the desired output driver or NULL to choose the best driver automatically. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The caca graphical context or NULL if an error occurred. </dd></dl>

<p>References <a class="el" href="canvas_8c_source.html#l00056">caca_create_canvas()</a>, <a class="el" href="canvas_8c_source.html#l00308">caca_free_canvas()</a>, <a class="el" href="canvas_8c_source.html#l00133">caca_manage_canvas()</a>, and <a class="el" href="canvas_8c_source.html#l00167">caca_unmanage_canvas()</a>.</p>

<p>Referenced by <a class="el" href="caca_2caca_8c_source.html#l00070">caca_create_display()</a>.</p>

</div>
</div><p>
<a class="anchor" name="gcec026e270ea7238c3b5858e21ccd8f7"></a><!-- doxytag: member="caca.h::caca_get_display_driver_list" ref="gcec026e270ea7238c3b5858e21ccd8f7" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern char const* const* caca_get_display_driver_list           </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 list of available display drivers. The list is a NULL-terminated array of strings, interleaving a string containing the internal value for the display driver, and a string containing the natural language description for that driver.<p>
This function never fails.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>An array of strings. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g7acc7d0f71f249fc0d64226e747fa623"></a><!-- doxytag: member="caca.h::caca_get_display_driver" ref="g7acc7d0f71f249fc0d64226e747fa623" args="(caca_display_t *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern char const* caca_get_display_driver           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the given display's current output driver.<p>
This function never fails.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The caca display. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A static string. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gae525895a379b7f5ae99561613c99b41"></a><!-- doxytag: member="caca.h::caca_set_display_driver" ref="gae525895a379b7f5ae99561613c99b41" args="(caca_display_t *, char const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_set_display_driver           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>driver</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dynamically change the given display's output driver.<p>
FIXME: decide what to do in case of failure<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The caca display. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>driver</em>&nbsp;</td><td>A string describing the desired output driver or NULL to choose the best driver automatically. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 in case of success, -1 if an error occurred. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc1b5b4540a500dd59eaa673d784fab1f"></a><!-- doxytag: member="caca.h::caca_free_display" ref="gc1b5b4540a500dd59eaa673d784fab1f" args="(caca_display_t *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_free_display           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Detach a graphical context from its caca backend and destroy it. The libcaca canvas continues to exist and other graphical contexts can be attached to it afterwards.<p>
If the caca canvas was automatically created by <a class="el" href="group__caca__display.html#gc393d4446d813f6e4ba93d2b583c1edb" title="Attach a caca graphical context to a caca canvas.">caca_create_display()</a>, it is automatically destroyed and any handle to it becomes invalid.<p>
This function never fails.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The libcaca graphical context. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>This function always returns 0. </dd></dl>

<p>References <a class="el" href="canvas_8c_source.html#l00308">caca_free_canvas()</a>, and <a class="el" href="canvas_8c_source.html#l00167">caca_unmanage_canvas()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g65670cdec61ba57879b893c997cd26da"></a><!-- doxytag: member="caca.h::caca_get_canvas" ref="g65670cdec61ba57879b893c997cd26da" args="(caca_display_t *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern <a class="el" href="caca_8h.html#ae0f6938d08e6e0abbcd5a8c06504ab8">caca_canvas_t</a>* caca_get_canvas           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a handle on the <em>caca_canvas_t</em> object that was either attached or created by <a class="el" href="group__caca__display.html#gc393d4446d813f6e4ba93d2b583c1edb" title="Attach a caca graphical context to a caca canvas.">caca_create_display()</a>.<p>
This function never fails.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The libcaca graphical context. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The libcaca canvas. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g8c710eac721d05d807491a1534d1cbe7"></a><!-- doxytag: member="caca.h::caca_refresh_display" ref="g8c710eac721d05d807491a1534d1cbe7" args="(caca_display_t *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_refresh_display           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Flush all graphical operations and print them to the display device. Nothing will show on the screen until this function is called.<p>
If <a class="el" href="group__caca__display.html#g0340d64c3e7f23e11af749c4da83dfde" title="Set the refresh delay.">caca_set_display_time()</a> was called with a non-zero value, <a class="el" href="group__caca__display.html#g8c710eac721d05d807491a1534d1cbe7" title="Flush pending changes and redraw the screen.">caca_refresh_display()</a> will use that value to achieve constant framerate: if two consecutive calls to <a class="el" href="group__caca__display.html#g8c710eac721d05d807491a1534d1cbe7" title="Flush pending changes and redraw the screen.">caca_refresh_display()</a> are within a time range shorter than the value set with <a class="el" href="group__caca__display.html#g0340d64c3e7f23e11af749c4da83dfde" title="Set the refresh delay.">caca_set_display_time()</a>, the second call will be delayed before performing the screen refresh.<p>
This function never fails.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The libcaca display context. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>This function always returns 0. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g0340d64c3e7f23e11af749c4da83dfde"></a><!-- doxytag: member="caca.h::caca_set_display_time" ref="g0340d64c3e7f23e11af749c4da83dfde" args="(caca_display_t *, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_set_display_time           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>usec</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 refresh delay in microseconds. The refresh delay is used by <a class="el" href="group__caca__display.html#g8c710eac721d05d807491a1534d1cbe7" title="Flush pending changes and redraw the screen.">caca_refresh_display()</a> to achieve constant framerate. See the <a class="el" href="group__caca__display.html#g8c710eac721d05d807491a1534d1cbe7" title="Flush pending changes and redraw the screen.">caca_refresh_display()</a> documentation for more details.<p>
If the argument is zero, constant framerate is disabled. This is the default behaviour.<p>
If an error occurs, -1 is returned and <b>errno</b> is set accordingly:<ul>
<li><code>EINVAL</code> Refresh delay value is invalid.</li></ul>
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The libcaca display context. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>usec</em>&nbsp;</td><td>The refresh delay in microseconds. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 upon success, -1 if an error occurred. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g74339a36233beeee2ca5fe531885538a"></a><!-- doxytag: member="caca.h::caca_get_display_time" ref="g74339a36233beeee2ca5fe531885538a" args="(caca_display_t const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_get_display_time           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> const *&nbsp;</td>
          <td class="paramname"> <em>dp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the average rendering time, which is the average measured time between two <a class="el" href="group__caca__display.html#g8c710eac721d05d807491a1534d1cbe7" title="Flush pending changes and redraw the screen.">caca_refresh_display()</a> calls, in microseconds. If constant framerate was activated by calling <a class="el" href="group__caca__display.html#g0340d64c3e7f23e11af749c4da83dfde" title="Set the refresh delay.">caca_set_display_time()</a>, the average rendering time will be close to the requested delay even if the real rendering time was shorter.<p>
This function never fails.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The libcaca display context. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The render time in microseconds. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge0cc5bc7835df240b242929cc77024ac"></a><!-- doxytag: member="caca.h::caca_get_display_width" ref="ge0cc5bc7835df240b242929cc77024ac" args="(caca_display_t const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_get_display_width           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> const *&nbsp;</td>
          <td class="paramname"> <em>dp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If libcaca runs in a window, get the usable window width. This value can be used for aspect ratio calculation. If libcaca does not run in a window or if there is no way to know the font size, most drivers will assume a 6x10 font is being used. Note that the units are not necessarily pixels.<p>
This function never fails.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The libcaca display context. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The display width. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf540716e9e5faa22a3dc5d0c68761a1f"></a><!-- doxytag: member="caca.h::caca_get_display_height" ref="gf540716e9e5faa22a3dc5d0c68761a1f" args="(caca_display_t const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_get_display_height           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> const *&nbsp;</td>
          <td class="paramname"> <em>dp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If libcaca runs in a window, get the usable window height. This value can be used for aspect ratio calculation. If libcaca does not run in a window or if there is no way to know the font size, assume a 6x10 font is being used. Note that the units are not necessarily pixels.<p>
This function never fails.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The libcaca display context. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The display height. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gdab2bf1e8d0bf5c3cfb3e29ab07d5641"></a><!-- doxytag: member="caca.h::caca_set_display_title" ref="gdab2bf1e8d0bf5c3cfb3e29ab07d5641" args="(caca_display_t *, char const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_set_display_title           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>title</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If libcaca runs in a window, try to change its title. This works with the ncurses, S-Lang, OpenGL, X11 and Win32 drivers.<p>
If an error occurs, -1 is returned and <b>errno</b> is set accordingly:<ul>
<li><code>ENOSYS</code> Display driver does not support setting the window title.</li></ul>
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The libcaca display context. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>title</em>&nbsp;</td><td>The desired display title. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 upon success, -1 if an error occurred. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g2a1d361cd5accd39925fb0e92bf15579"></a><!-- doxytag: member="caca.h::caca_set_mouse" ref="g2a1d361cd5accd39925fb0e92bf15579" args="(caca_display_t *, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_set_mouse           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>flag</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Show or hide the mouse pointer. This function works with the ncurses, S-Lang and X11 drivers.<p>
If an error occurs, -1 is returned and <b>errno</b> is set accordingly:<ul>
<li><code>ENOSYS</code> Display driver does not support hiding the mouse pointer.</li></ul>
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The libcaca display context. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flag</em>&nbsp;</td><td>0 hides the pointer, 1 shows the system's default pointer (usually an arrow). Other values are reserved for future use. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 upon success, -1 if an error occurred. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g6a15546ac2f6e48e0efa7843ee195b7d"></a><!-- doxytag: member="caca.h::caca_set_cursor" ref="g6a15546ac2f6e48e0efa7843ee195b7d" args="(caca_display_t *, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_set_cursor           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="caca_8h.html#da5af7a20f3e2f6c103078181b07393e">caca_display_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>flag</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Show or hide the cursor, for devices that support such a feature.<p>
If an error occurs, -1 is returned and <b>errno</b> is set accordingly:<ul>
<li><code>ENOSYS</code> Display driver does not support showing the cursor.</li></ul>
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dp</em>&nbsp;</td><td>The libcaca display context. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flag</em>&nbsp;</td><td>0 hides the cursor, 1 shows the system's default cursor (usually a white rectangle). Other values are reserved for future use. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 upon success, -1 if an error occurred. </dd></dl>

</div>
</div><p>
</div>
<!-- $Id$ -->
  </body>
</html>