Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 18b54cd0250a7489168a038c67771391 > files > 65

evas-devel-1.0.1-1.fc16.i686.rpm

<html>
<head>
    <title>Evas: Canvas Events</title>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
    <meta name="author" content="Andres Blanc" >
    
    <link rel="icon" href="img/favicon.png" type="image/x-icon">
    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
    <link rel="icon" href="img/favicon.png" type="image/ico">
    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">

    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
</head>

<body>

<div id="container">

<div id="header">
<div class="layout">
    
    <h1><span>Enlightenment</span></h1>
    <h2><span>Beauty at your fingertips</span></h2>

    <div class="menu-container">
        <div class="menu">
            <ul>
	        <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
                <li><a href="http://www.enlightenment.org/">Home</a></li>
            </ul>
        </div>
    </div>

    <div class="doxytitle">
        Evas Documentation <small>at Thu Jul 14 2011</small>
    </div>

    <div class="menu-container">
        <div class="submenu">
            <ul class="current">
                <li><a href="todo.html">Todo</a></li>
                <li><a href="files.html">Files</a></li>
                <li><a href="annotated.html">Data Structures</a></li>
                <li><a href="globals.html">Globals</a></li>
                <li><a href="modules.html">Modules</a></li>
                <li><a href="pages.html">Related Pages</a></li>
	        <li class="current"><a href="index.html">Main Page</a></li>
            </ul>
        </div>
    </div>


    <div class="clear"></div>
</div>
</div>

<div id="content">
<div class="layout">
<!-- Generated by Doxygen 1.7.4 -->
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Canvas Events</div>  </div>
<div class="ingroups"><a class="el" href="group__Evas__Canvas.html">Canvas Functions</a></div></div>
<div class="contents">

<p>Canvas generates some events.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71">evas_event_callback_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Event_Cb func, const void *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback function to the canvas.  <a href="#ga0388995a80e8951a532fbdc63ba26c71"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga11a461d33617b022e490287e85217f5c">evas_event_callback_del</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Event_Cb func)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a callback function from the canvas.  <a href="#ga11a461d33617b022e490287e85217f5c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga84450d679e473b3ac84d4374f8936980">evas_event_callback_del_full</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Event_Cb func, const void *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a callback function from the canvas.  <a href="#ga84450d679e473b3ac84d4374f8936980"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a">evas_post_event_callback_push</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func, const void *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Push a callback on the post-event callback stack.  <a href="#ga8f8a2686dbbe3c55e091decf3f29d42a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516">evas_post_event_callback_remove</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a callback from the post-event callback stack.  <a href="#ga59f159113fe24fdb5e33e7df3e333516"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9">evas_post_event_callback_remove_full</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func, const void *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a callback from the post-event callback stack.  <a href="#ga3c76c419125c3cad9095f1fdae5f3ac9"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Canvas generates some events. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga0388995a80e8951a532fbdc63ba26c71"></a><!-- doxytag: member="evas_callbacks.c::evas_event_callback_add" ref="ga0388995a80e8951a532fbdc63ba26c71" args="(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void evas_event_callback_add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Evas_Event_Cb&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a callback function to the canvas. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>Canvas to attach a callback to </td></tr>
    <tr><td class="paramname">type</td><td>The type of event that will trigger the callback </td></tr>
    <tr><td class="paramname">func</td><td>The function to be called when the event is triggered </td></tr>
    <tr><td class="paramname">data</td><td>The data pointer to be passed to <code>func</code> </td></tr>
  </table>
  </dd>
</dl>
<p>This function adds a function callback to the canvas when the event of type <code>type</code> occurs on canvas <code>e</code>. The function is <code>func</code>.</p>
<p>In the event of a memory allocation error during addition of the callback to the canvas, <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error()</a> should be used to determine the nature of the error, if any, and the program should sensibly try and recover.</p>
<p>The function will be passed the pointer <code>data</code> when it is called. A callback function must look like this:</p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> callback (<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
</pre></div><p>The first parameter <code>data</code> in this function will be the same value passed to <a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> as the <code>data</code> parameter. The second parameter <code>e</code> is the canvas handle on which the event occurred. The third parameter <code>event_info</code> is a pointer to a data structure that may or may not be passed to the callback, depending on the event type that triggered the callback.</p>
<p>The event type <code>type</code> to trigger the function may be one of <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3" title="Called just before rendering is updated on the canvas target.">EVAS_CALLBACK_RENDER_FLUSH_PRE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1" title="Called just after rendering is updated on the canvas target.">EVAS_CALLBACK_RENDER_FLUSH_POST</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f" title="Canvas lost focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>. This determines the kind of event that will trigger the callback to be called. So far none of the event types provide useful data, so in all of them <code>event_info</code> pointer is <code>NULL</code>.</p>
<p>Example: </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e;
 <span class="keyword">extern</span> <span class="keywordtype">void</span> *my_data;
 <span class="keywordtype">void</span> focus_in_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
 <span class="keywordtype">void</span> focus_out_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);

 <a class="code" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add</a>(e, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, focus_in_callback, my_data);
 <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() != <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" title="No allocation error.">EVAS_ALLOC_ERROR_NONE</a>)
   {
     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Callback registering failed! Abort!\n&quot;</span>);
     exit(-1);
   }
 <a class="code" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add</a>(e, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f" title="Canvas lost focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>, focus_out_callback, my_data);
 <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() != <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" title="No allocation error.">EVAS_ALLOC_ERROR_NONE</a>)
   {
     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Callback registering failed! Abort!\n&quot;</span>);
     exit(-1);
   }
</pre></div> 
</div>
</div>
<a class="anchor" id="ga11a461d33617b022e490287e85217f5c"></a><!-- doxytag: member="evas_callbacks.c::evas_event_callback_del" ref="ga11a461d33617b022e490287e85217f5c" args="(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* evas_event_callback_del </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Evas_Event_Cb&#160;</td>
          <td class="paramname"><em>func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete a callback function from the canvas. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>Canvas to remove a callback from </td></tr>
    <tr><td class="paramname">type</td><td>The type of event that was triggering the callback </td></tr>
    <tr><td class="paramname">func</td><td>The function that was to be called when the event was triggered </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the callback</dd></dl>
<p>This function removes the most recently added callback from the canvas <code>e</code> which was triggered by the event type <code>type</code> and was calling the function <code>func</code> when triggered. If the removal is successful it will also return the data pointer that was passed to <a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> when the callback was added to the canvas. If not successful NULL will be returned.</p>
<p>Example: </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e;
 <span class="keywordtype">void</span> *my_data;
 <span class="keywordtype">void</span> focus_in_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);

 my_data = <a class="code" href="group__Evas__Canvas__Events.html#ga11a461d33617b022e490287e85217f5c" title="Delete a callback function from the canvas.">evas_event_callback_del</a>(ebject, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, focus_in_callback);
</pre></div> 
</div>
</div>
<a class="anchor" id="ga84450d679e473b3ac84d4374f8936980"></a><!-- doxytag: member="evas_callbacks.c::evas_event_callback_del_full" ref="ga84450d679e473b3ac84d4374f8936980" args="(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* evas_event_callback_del_full </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Evas_Event_Cb&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete a callback function from the canvas. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>Canvas to remove a callback from </td></tr>
    <tr><td class="paramname">type</td><td>The type of event that was triggering the callback </td></tr>
    <tr><td class="paramname">func</td><td>The function that was to be called when the event was triggered </td></tr>
    <tr><td class="paramname">data</td><td>The data pointer that was to be passed to the callback </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the callback</dd></dl>
<p>This function removes the most recently added callback from the canvas <code>e</code> which was triggered by the event type <code>type</code> and was calling the function <code>func</code> with data <code>data</code> when triggered. If the removal is successful it will also return the data pointer that was passed to <a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> (that will be the same as the parameter) when the callback was added to the canvas. If not successful NULL will be returned.</p>
<p>Example: </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e;
 <span class="keywordtype">void</span> *my_data;
 <span class="keywordtype">void</span> focus_in_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);

 my_data = <a class="code" href="group__Evas__Canvas__Events.html#ga84450d679e473b3ac84d4374f8936980" title="Delete a callback function from the canvas.">evas_event_callback_del_full</a>(ebject, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, focus_in_callback, my_data);
</pre></div> 
</div>
</div>
<a class="anchor" id="ga8f8a2686dbbe3c55e091decf3f29d42a"></a><!-- doxytag: member="evas_callbacks.c::evas_post_event_callback_push" ref="ga8f8a2686dbbe3c55e091decf3f29d42a" args="(Evas *e, Evas_Object_Event_Post_Cb func, const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void evas_post_event_callback_push </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Evas_Object_Event_Post_Cb&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push a callback on the post-event callback stack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>Canvas to push the callback on </td></tr>
    <tr><td class="paramname">func</td><td>The function that to be called when the stack is unwound </td></tr>
    <tr><td class="paramname">data</td><td>The data pointer to be passed to the callback</td></tr>
  </table>
  </dd>
</dl>
<p>Evas has a stack of callbacks that get called after all the callbacks for an event have triggered (all the objects it triggers on and al the callbacks in each object triggered). When all these have been called, the stack is unwond from most recently to least recently pushed item and removed from the stack calling the callback set for it.</p>
<p>This is intended for doing reverse logic-like processing, example - when a child object that happens to get the event later is meant to be able to "steal" functions from a parent and thus on unwind of this stack hav its function called first, thus being able to set flags, or return 0 from the post-callback that stops all other post-callbacks in the current stack from being called (thus basically allowing a child to take control, if the event callback prepares information ready for taking action, but the post callback actually does the action). </p>

</div>
</div>
<a class="anchor" id="ga59f159113fe24fdb5e33e7df3e333516"></a><!-- doxytag: member="evas_callbacks.c::evas_post_event_callback_remove" ref="ga59f159113fe24fdb5e33e7df3e333516" args="(Evas *e, Evas_Object_Event_Post_Cb func)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void evas_post_event_callback_remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Evas_Object_Event_Post_Cb&#160;</td>
          <td class="paramname"><em>func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove a callback from the post-event callback stack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>Canvas to push the callback on </td></tr>
    <tr><td class="paramname">func</td><td>The function that to be called when the stack is unwound</td></tr>
  </table>
  </dd>
</dl>
<p>This removes a callback from the stack added with <a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a" title="Push a callback on the post-event callback stack.">evas_post_event_callback_push()</a>. The first instance of the function in the callback stack is removed from being executed when the stack is unwound. Further instances may still be run on unwind. </p>

</div>
</div>
<a class="anchor" id="ga3c76c419125c3cad9095f1fdae5f3ac9"></a><!-- doxytag: member="evas_callbacks.c::evas_post_event_callback_remove_full" ref="ga3c76c419125c3cad9095f1fdae5f3ac9" args="(Evas *e, Evas_Object_Event_Post_Cb func, const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void evas_post_event_callback_remove_full </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Evas_Object_Event_Post_Cb&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove a callback from the post-event callback stack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>Canvas to push the callback on </td></tr>
    <tr><td class="paramname">func</td><td>The function that to be called when the stack is unwound </td></tr>
    <tr><td class="paramname">data</td><td>The data pointer to be passed to the callback</td></tr>
  </table>
  </dd>
</dl>
<p>This removes a callback from the stack added with <a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a" title="Push a callback on the post-event callback stack.">evas_post_event_callback_push()</a>. The first instance of the function and data in the callback stack is removed from being executed when the stack is unwound. Further instances may still be run on unwind. </p>

</div>
</div>
</div>
 
 <div id="push"></div>
 </div> <!-- #content -->
  </div> <!-- .layout -->
 
 </div> <!-- #container -->
 
 
  <div id="footer">
    <table><tr>
      <td class="poweredby"><img src="doxygen.png"></td>
      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
      <td class="generated">Docs generated Thu Jul 14 2011 20:45:33</td>
    </tr></table>
  </div>


</body>
</html>