Sophie

Sophie

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

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

<html>
<head>
    <title>Evas: Object 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">Object Events</div>  </div>
<div class="ingroups"><a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a></div></div>
<div class="contents">

<p>Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on.  
<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__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55">evas_object_event_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Object_Event_Cb func, const void *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback function to an object.  <a href="#ga0147a80fc21895dc40165f208ec8cf55"></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__Object__Group__Events.html#ga270a967a4f0069e646e9a07c51e15863">evas_object_event_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Object_Event_Cb func)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a callback function from an object.  <a href="#ga270a967a4f0069e646e9a07c51e15863"></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__Object__Group__Events.html#ga5dbed5bfe210ee8f8ffae7b99a69ec68">evas_object_event_callback_del_full</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Object_Event_Cb func, const void *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a callback function from an object.  <a href="#ga5dbed5bfe210ee8f8ffae7b99a69ec68"></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__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">evas_object_pass_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool pass)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an object's pass events state.  <a href="#ga5622d84abe1bd303de71f8ddbdcd0665"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0">evas_object_pass_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine whether an object is set to pass events.  <a href="#ga019458a8697c55dc3d5e3fe525c535e0"></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__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">evas_object_repeat_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool repeat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an object's repeat events state.  <a href="#gaacd5e00427f3c98ecfb72f630ff7aa46"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582">evas_object_repeat_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine whether an object is set to repeat events.  <a href="#ga2c7ca0c2c33ec1e12da64f60a5742582"></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__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d">evas_object_propagate_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool prop)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set whether events on a smart member object should propagate to its parent.  <a href="#gaca523e82bd3e590f92e8bbda29c1607d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f">evas_object_propagate_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine whether an object is set to propagate events.  <a href="#gadc40db6c861c8e57a2229783f0e9ac7f"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on. </p>
<p>These methods will allow one to handle such events.</p>
<p>The events can be those from keyboard and mouse, if the object accepts these events. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga0147a80fc21895dc40165f208ec8cf55"></a><!-- doxytag: member="evas_callbacks.c::evas_object_event_callback_add" ref="ga0147a80fc21895dc40165f208ec8cf55" args="(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void evas_object_event_callback_add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&#160;</td>
          <td class="paramname"><em>obj</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_Object_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 an object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>Object 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 an object when the event of type <code>type</code> occurs on object <code>obj</code>. The function is <code>func</code>.</p>
<p>In the event of a memory allocation error during addition of the callback to the object, <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, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <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__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> as the <code>data</code> parameter. The second parameter is a convenience for the programmer to know what evas canvas the event occurred on. The third parameter <code>obj</code> is the Object handle on which the event occurred. The foruth 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#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25" title="Mouse Out Event.">EVAS_CALLBACK_MOUSE_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a" title="Mouse Move Event.">EVAS_CALLBACK_MOUSE_MOVE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4" title="Mouse Wheel Event.">EVAS_CALLBACK_MOUSE_WHEEL</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24" title="Object Being Freed (Called after Del)">EVAS_CALLBACK_FREE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584" title="Key Press Event.">EVAS_CALLBACK_KEY_DOWN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f" title="Key Release Event.">EVAS_CALLBACK_KEY_UP</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97" title="Focus In Event.">EVAS_CALLBACK_FOCUS_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3" title="Focus Out Event.">EVAS_CALLBACK_FOCUS_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540" title="Show Event.">EVAS_CALLBACK_SHOW</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7" title="Hide Event.">EVAS_CALLBACK_HIDE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0" title="Move Event.">EVAS_CALLBACK_MOVE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21" title="Resize Event.">EVAS_CALLBACK_RESIZE</a> or <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145" title="Restack Event.">EVAS_CALLBACK_RESTACK</a>. This determines the kind of event that will trigger the callback to be called. The <code>event_info</code> pointer passed to the callback will be one of the following, depending on the event triggering it:</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a>: event_info = pointer to Evas_Event_Mouse_In</p>
<p>This event is triggered when the mouse pointer enters the region of the object <code>obj</code>. This may occur by the mouse pointer being moved by <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7" title="Mouse move event feed.">evas_event_feed_mouse_move()</a> or evas_event_feed_mouse_move_data() calls, or by the object being shown, raised, moved, resized, or other objects being moved out of the way, hidden, lowered or moved out of the way.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25" title="Mouse Out Event.">EVAS_CALLBACK_MOUSE_OUT</a>: event_info = pointer to Evas_Event_Mouse_Out</p>
<p>This event is triggered exactly like <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a> is, but occurs when the mouse pointer exits an object. Note that no out events will be reported if the mouse pointer is implicitly grabbed to an object (the mouse buttons are down at all and any were pressed on that object). An out event will be reported as soon as the mouse is no longer grabbed (no mouse buttons are depressed). Out events will be reported once all buttons are released, if the mouse has left the object.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>: event_info = pointer to Evas_Event_Mouse_Down</p>
<p>This event is triggered by a mouse button being depressed while over an object. If pointermode is EVAS_OBJECT_POINTER_MODE_AUTOGRAB (default) this causes this object to passively grab the mouse until all mouse buttons have been released. That means if this mouse button is the first to be pressed, all future mouse events will be reported to only this object until no buttons are down. That includes mouse move events, in and out events, and further button presses. When all buttons are released, event propagation occurs as normal.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>: event_info = pointer to Evas_Event_Mouse_Up</p>
<p>This event is triggered by a mouse button being released while over an object or when passively grabbed to an object. If this is the last mouse button to be raised on an object then the passive grab is released and event processing will continue as normal.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a" title="Mouse Move Event.">EVAS_CALLBACK_MOUSE_MOVE</a>: event_info = pointer to Evas_Event_Mouse_Move</p>
<p>This event is triggered by the mouse pointer moving while over an object or passively grabbed to an object.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4" title="Mouse Wheel Event.">EVAS_CALLBACK_MOUSE_WHEEL</a>: event_info = pointer to Evas_Event_Mouse_Wheel</p>
<p>This event is triggered by the mouse wheel being rolled while over an object or passively grabbed to an object.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24" title="Object Being Freed (Called after Del)">EVAS_CALLBACK_FREE</a>: event_info = NULL</p>
<p>This event is triggered just before Evas is about to free all memory used by an object and remove all references to it. This is useful for programs to use if they attached data to an object and want to free it when the object is deleted. The object is still valid when this callback is called, but after this callback returns, there is no guarantee on the object's validity.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584" title="Key Press Event.">EVAS_CALLBACK_KEY_DOWN</a>: event_info = pointer to Evas_Event_Key_Down</p>
<p>This callback is called when a key is pressed and the focus is on the object, or a key has been grabbed to a particular object which wants to intercept the key press regardless of what object has the focus.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f" title="Key Release Event.">EVAS_CALLBACK_KEY_UP</a>: event_info = pointer to Evas_Event_Key_Up</p>
<p>This callback is called when a key is released and the focus is on the object, or a key has been grabbed to a particular object which wants to intercept the key release regardless of what object has the focus.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97" title="Focus In Event.">EVAS_CALLBACK_FOCUS_IN</a>: event_info = NULL</p>
<p>This event is called when an object gains the focus. When the callback is called the object has already gained the focus.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3" title="Focus Out Event.">EVAS_CALLBACK_FOCUS_OUT</a>: event_info = NULL</p>
<p>This event is triggered by an object losing the focus. When the callback is called the object has already lost the focus.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540" title="Show Event.">EVAS_CALLBACK_SHOW</a>: event_info = NULL</p>
<p>This event is triggered by the object being shown by <a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show()</a>.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7" title="Hide Event.">EVAS_CALLBACK_HIDE</a>: event_info = NULL</p>
<p>This event is triggered by an object being hidden by <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148" title="Makes the given evas object invisible.">evas_object_hide()</a>.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0" title="Move Event.">EVAS_CALLBACK_MOVE</a>: event_info = NULL</p>
<p>This event is triggered by an object being moved. <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move()</a> can trigger this, as can any object-specific manipulations that would mean the object's origin could move.</p>
<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21" title="Resize Event.">EVAS_CALLBACK_RESIZE</a>: event_info = NULL</p>
<p>This event is triggered by an object being resized. Resizes can be triggered by <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize()</a> or by any object-specific calls that may cause the object to resize.</p>
<p>Example: </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
 <span class="keyword">extern</span> <span class="keywordtype">void</span> *my_data;
 <span class="keywordtype">void</span> down_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
 <span class="keywordtype">void</span> up_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);

 <a class="code" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, up_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__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>, down_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> 
<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>

</div>
</div>
<a class="anchor" id="ga270a967a4f0069e646e9a07c51e15863"></a><!-- doxytag: member="evas_callbacks.c::evas_object_event_callback_del" ref="ga270a967a4f0069e646e9a07c51e15863" args="(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* evas_object_event_callback_del </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&#160;</td>
          <td class="paramname"><em>obj</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_Object_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 an object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>Object 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 object <code>obj</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__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> when the callback was added to the object. 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__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
 <span class="keywordtype">void</span> *my_data;
 <span class="keywordtype">void</span> up_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);

 my_data = <a class="code" href="group__Evas__Object__Group__Events.html#ga270a967a4f0069e646e9a07c51e15863" title="Delete a callback function from an object.">evas_object_event_callback_del</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, up_callback);
</pre></div> 
<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5dbed5bfe210ee8f8ffae7b99a69ec68"></a><!-- doxytag: member="evas_callbacks.c::evas_object_event_callback_del_full" ref="ga5dbed5bfe210ee8f8ffae7b99a69ec68" args="(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* evas_object_event_callback_del_full </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&#160;</td>
          <td class="paramname"><em>obj</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_Object_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 an object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>Object 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 object <code>obj</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__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> (that will be the same as the parameter) when the callback was added to the object. 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__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
 <span class="keywordtype">void</span> *my_data;
 <span class="keywordtype">void</span> up_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);

 my_data = <a class="code" href="group__Evas__Object__Group__Events.html#ga5dbed5bfe210ee8f8ffae7b99a69ec68" title="Delete a callback function from an object.">evas_object_event_callback_del_full</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, up_callback, data);
</pre></div> 
</div>
</div>
<a class="anchor" id="ga019458a8697c55dc3d5e3fe525c535e0"></a><!-- doxytag: member="evas_events.c::evas_object_pass_events_get" ref="ga019458a8697c55dc3d5e3fe525c535e0" args="(const Evas_Object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI Eina_Bool evas_object_pass_events_get </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine whether an object is set to pass events. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pass events state </dd></dl>

</div>
</div>
<a class="anchor" id="ga5622d84abe1bd303de71f8ddbdcd0665"></a><!-- doxytag: member="evas_events.c::evas_object_pass_events_set" ref="ga5622d84abe1bd303de71f8ddbdcd0665" args="(Evas_Object *obj, Eina_Bool pass)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void evas_object_pass_events_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eina_Bool&#160;</td>
          <td class="paramname"><em>pass</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set an object's pass events state. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>the evas object </td></tr>
    <tr><td class="paramname">pass</td><td>whether to pass events or not</td></tr>
  </table>
  </dd>
</dl>
<p>If <code>pass</code> is true, this will cause events on <code>obj</code> to be ignored. They will be triggered on the next lower object (that is not set to pass events) instead.</p>
<p>If <code>pass</code> is false, events will be processed as normal. </p>

<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>

</div>
</div>
<a class="anchor" id="gadc40db6c861c8e57a2229783f0e9ac7f"></a><!-- doxytag: member="evas_events.c::evas_object_propagate_events_get" ref="gadc40db6c861c8e57a2229783f0e9ac7f" args="(const Evas_Object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI Eina_Bool evas_object_propagate_events_get </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine whether an object is set to propagate events. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>propagate events state </dd></dl>

</div>
</div>
<a class="anchor" id="gaca523e82bd3e590f92e8bbda29c1607d"></a><!-- doxytag: member="evas_events.c::evas_object_propagate_events_set" ref="gaca523e82bd3e590f92e8bbda29c1607d" args="(Evas_Object *obj, Eina_Bool prop)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void evas_object_propagate_events_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eina_Bool&#160;</td>
          <td class="paramname"><em>prop</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set whether events on a smart member object should propagate to its parent. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>the smart member object </td></tr>
    <tr><td class="paramname">prop</td><td>wheter to propagate events or not</td></tr>
  </table>
  </dd>
</dl>
<p>This function has no effect if <code>obj</code> is not a member of a smart object.</p>
<p>If <code>prop</code> is true, events occurring on this object will propagate on to the smart object of which <code>obj</code> is a member.</p>
<p>If <code>prop</code> is false, events for which callbacks are set on the member object, <code>obj</code>, will not be passed on to the parent smart object.</p>
<p>The default value is true. </p>

</div>
</div>
<a class="anchor" id="ga2c7ca0c2c33ec1e12da64f60a5742582"></a><!-- doxytag: member="evas_events.c::evas_object_repeat_events_get" ref="ga2c7ca0c2c33ec1e12da64f60a5742582" args="(const Evas_Object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI Eina_Bool evas_object_repeat_events_get </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine whether an object is set to repeat events. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>repeat events state </dd></dl>

</div>
</div>
<a class="anchor" id="gaacd5e00427f3c98ecfb72f630ff7aa46"></a><!-- doxytag: member="evas_events.c::evas_object_repeat_events_set" ref="gaacd5e00427f3c98ecfb72f630ff7aa46" args="(Evas_Object *obj, Eina_Bool repeat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void evas_object_repeat_events_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eina_Bool&#160;</td>
          <td class="paramname"><em>repeat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set an object's repeat events state. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>the object </td></tr>
    <tr><td class="paramname">repeat</td><td>wheter to repeat events or not</td></tr>
  </table>
  </dd>
</dl>
<p>If <code>repeat</code> is true, this will cause events on <code>obj</code> to trigger callbacks, but also to be repeated on the next lower object in the stack.</p>
<p>If <code>repeat</code> is false, events occurring on <code>obj</code> will be processed normally. </p>

<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</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>