<html> <head> <title>Evas: Canvas Functions</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="#groups">Modules</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Canvas Functions</div> </div> </div> <div class="contents"> <p>Functions that deal with the basic evas object. <a href="#details">More...</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="groups"></a> Modules</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html">Render Engine Functions</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Functions that are used to set the render engine for a given function, and then get that engine working. </p> <br/></td></tr> </p> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html">Output and Viewport Resizing Functions</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Functions that set and retrieve the output and viewport size of an evas. </p> <br/></td></tr> </p> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html">Coordinate Mapping Functions</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas. </p> <br/></td></tr> </p> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html">Pointer (Mouse) Functions</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Functions that deal with the status of the pointer (mouse cursor). </p> <br/></td></tr> </p> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html">Event Freezing Functions</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Functions that deal with the freezing of event processing of an evas. </p> <br/></td></tr> </p> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html">Event Feeding Functions</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Functions to tell Evas that events happened and should be processed. </p> <br/></td></tr> </p> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html">Canvas Events</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Canvas generates some events. </p> <br/></td></tr> </p> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html">Image Functions</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Functions that deals with images at canvas level. </p> <br/></td></tr> </p> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html">Font Functions</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Functions that deals with fonts. </p> <br/></td></tr> </p> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct _Evas </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An Evas canvas handle. <a href="#ga5ff87cc4ce6bc43e3b640a6d37f73043"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87">evas_new</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new empty evas. <a href="#ga9280ee6564c889348b142b8bcd723f87"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">evas_free</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Frees the given evas and any objects created on it. <a href="#ga45ab1883cc0b145bc3af130d3c00a21f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8">evas_data_attach_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, void *data)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Attaches a specific pointer to the evas for fetching later. <a href="#gadbf3e81c6db5396d3c6415f3cd34e8c8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc">evas_data_attach_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the pointer attached by <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8" title="Attaches a specific pointer to the evas for fetching later.">evas_data_attach_set()</a> <a href="#ga4244b77b68937ab060bc7d8c3bf77fdc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb">evas_focus_in</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Inform to the evas that it got the focus. <a href="#gad4e5f592d23e74868f1e135c714a1acb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff">evas_focus_out</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Inform to the evas that it lost the focus. <a href="#ga438b8a00339af4b25c84c4ef57d6b3ff"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8">evas_focus_state_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the focus state known by the given evas. <a href="#gab4822a733c10760b293006b77c4fc6d8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe">evas_nochange_push</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Push the nochange flag up 1. <a href="#ga6e49e2a2b27c306c265433ac7d3b5dbe"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac">evas_nochange_pop</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pop the nochange flag down 1. <a href="#gaa001b49fa2aa654ba0b116c6667b0fac"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">evas_damage_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, int w, int h)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a damage rectangle. <a href="#ga91b68cf4090201f16aede8e4c124986d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4">evas_obscured_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, int w, int h)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add an obscured region. <a href="#gab731e13487e7a2bf6c39d1c1dc69ccc4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876">evas_obscured_clear</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Remove all obscured region rectangles from the canvas. <a href="#ga76dbc1ce160666ffde45901346cfe876"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b">evas_render_updates_free</a> (Eina_List *updates)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Free the rectangles returned by <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca" title="Force immediate renderization of the given canvas.">evas_render_updates()</a>. <a href="#gae4889bb5ec0e6e4f6ce5d6ef99f8737b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca">evas_render_updates</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Force immediate renderization of the given canvas. <a href="#ga49650dcc731a151d4881106b56f7a5ca"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">evas_render</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Force renderization of the given canvas. <a href="#ga241869ebb085b8ab11ff6af26e1aeaaf"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1">evas_norender</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Update the canvas internal objects but not triggering immediate renderization. <a href="#ga5c7761185381376e2d97497625a7bbe1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">EAPI void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">evas_render_idle_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Make the canvas discard internally cached data used for rendering. <a href="#ga84a691e253bf4239691b3f3adca3c7b1"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <p>Functions that deal with the basic evas object. </p> <p>They are the functions you need to use at a minimum to get a working evas, and to destroy it. </p> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="ga5ff87cc4ce6bc43e3b640a6d37f73043"></a><!-- doxytag: member="Evas.h::Evas" ref="ga5ff87cc4ce6bc43e3b640a6d37f73043" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a></td> </tr> </table> </div> <div class="memdoc"> <p>An Evas canvas handle. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87" title="Creates a new empty evas.">evas_new()</a> </dd> <dd> <a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free()</a> </dd></dl> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ga91b68cf4090201f16aede8e4c124986d"></a><!-- doxytag: member="evas_render.c::evas_damage_rectangle_add" ref="ga91b68cf4090201f16aede8e4c124986d" args="(Evas *e, int x, int y, int w, int h)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_damage_rectangle_add </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>w</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>h</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Add a damage rectangle. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The given canvas pointer. </td></tr> <tr><td class="paramname">x</td><td>The rectangle's left position. </td></tr> <tr><td class="paramname">y</td><td>The rectangle's top position. </td></tr> <tr><td class="paramname">w</td><td>The rectangle's width. </td></tr> <tr><td class="paramname">h</td><td>The rectangle's height.</td></tr> </table> </dd> </dl> <p>This is the function by which one tells evas that a part of the canvas has to be repainted. </p> <p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset()</a>.</p> </div> </div> <a class="anchor" id="ga4244b77b68937ab060bc7d8c3bf77fdc"></a><!-- doxytag: member="evas_main.c::evas_data_attach_get" ref="ga4244b77b68937ab060bc7d8c3bf77fdc" args="(const Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void* evas_data_attach_get </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the pointer attached by <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8" title="Attaches a specific pointer to the evas for fetching later.">evas_data_attach_set()</a> </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The canvas to attach the pointer to </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The pointer attached </dd></dl> </div> </div> <a class="anchor" id="gadbf3e81c6db5396d3c6415f3cd34e8c8"></a><!-- doxytag: member="evas_main.c::evas_data_attach_set" ref="gadbf3e81c6db5396d3c6415f3cd34e8c8" args="(Evas *e, void *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_data_attach_set </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Attaches a specific pointer to the evas for fetching later. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The canvas to attach the pointer to </td></tr> <tr><td class="paramname">data</td><td>The pointer to attach </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gad4e5f592d23e74868f1e135c714a1acb"></a><!-- doxytag: member="evas_main.c::evas_focus_in" ref="gad4e5f592d23e74868f1e135c714a1acb" args="(Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_focus_in </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Inform to the evas that it got the focus. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The evas to change information. </td></tr> </table> </dd> </dl> <p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>.</p> </div> </div> <a class="anchor" id="ga438b8a00339af4b25c84c4ef57d6b3ff"></a><!-- doxytag: member="evas_main.c::evas_focus_out" ref="ga438b8a00339af4b25c84c4ef57d6b3ff" args="(Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_focus_out </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Inform to the evas that it lost the focus. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The evas to change information. </td></tr> </table> </dd> </dl> <p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>.</p> </div> </div> <a class="anchor" id="gab4822a733c10760b293006b77c4fc6d8"></a><!-- doxytag: member="evas_main.c::evas_focus_state_get" ref="gab4822a733c10760b293006b77c4fc6d8" args="(const Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI Eina_Bool evas_focus_state_get </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Get the focus state known by the given evas. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The evas to query information. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga45ab1883cc0b145bc3af130d3c00a21f"></a><!-- doxytag: member="evas_main.c::evas_free" ref="ga45ab1883cc0b145bc3af130d3c00a21f" args="(Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_free </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Frees the given evas and any objects created on it. </p> <p>Any objects with 'free' callbacks will have those callbacks called in this function.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The given evas. </td></tr> </table> </dd> </dl> <p>References <a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">evas_font_path_clear()</a>, and <a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">evas_render_idle_flush()</a>.</p> </div> </div> <a class="anchor" id="ga9280ee6564c889348b142b8bcd723f87"></a><!-- doxytag: member="evas_main.c::evas_new" ref="ga9280ee6564c889348b142b8bcd723f87" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a>* evas_new </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Creates a new empty evas. </p> <p>Note that before you can use the evas, you will to at a minimum: </p> <ul> <li>Set its render method with <a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">evas_output_method_set</a> . </li> <li>Set its viewport size with <a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">evas_output_viewport_set</a> . </li> <li>Set its size of the canvas with <a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">evas_output_size_set</a> . </li> <li>Ensure that the render engine is given the correct settings with <a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">evas_engine_info_set</a> .</li> </ul> <p>This function should only fail if the memory allocation fails</p> <dl class="note"><dt><b>Note:</b></dt><dd>this function is very low level. Instead of using it directly, consider using the high level functions in Ecore_Evas such as <code>ecore_evas_new()</code>. See <a href="http://docs.enlightenment.org/auto/ecore/.">http://docs.enlightenment.org/auto/ecore/.</a></dd></dl> <dl class="attention"><dt><b>Attention:</b></dt><dd>it is recommended that one calls <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a> before creating new canvas.</dd></dl> <dl class="return"><dt><b>Returns:</b></dt><dd>A new uninitialised Evas canvas on success. Otherwise, <code>NULL</code>. </dd></dl> <p>References <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e">EVAS_FONT_HINTING_BYTECODE</a>.</p> </div> </div> <a class="anchor" id="gaa001b49fa2aa654ba0b116c6667b0fac"></a><!-- doxytag: member="evas_main.c::evas_nochange_pop" ref="gaa001b49fa2aa654ba0b116c6667b0fac" args="(Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_nochange_pop </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Pop the nochange flag down 1. </p> <p>This tells evas, that while the nochange flag is greater than 0, do not mark objects as "changed" when making changes.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The evas to change information. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga6e49e2a2b27c306c265433ac7d3b5dbe"></a><!-- doxytag: member="evas_main.c::evas_nochange_push" ref="ga6e49e2a2b27c306c265433ac7d3b5dbe" args="(Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_nochange_push </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Push the nochange flag up 1. </p> <p>This tells evas, that while the nochange flag is greater than 0, do not mark objects as "changed" when making changes.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The evas to change information. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga5c7761185381376e2d97497625a7bbe1"></a><!-- doxytag: member="evas_render.c::evas_norender" ref="ga5c7761185381376e2d97497625a7bbe1" args="(Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_norender </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Update the canvas internal objects but not triggering immediate renderization. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The given canvas pointer.</td></tr> </table> </dd> </dl> <p>This function updates the canvas internal objects not triggering renderization. To force renderization function <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf" title="Force renderization of the given canvas.">evas_render()</a> should be used.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf" title="Force renderization of the given canvas.">evas_render</a>. </dd></dl> </div> </div> <a class="anchor" id="ga76dbc1ce160666ffde45901346cfe876"></a><!-- doxytag: member="evas_render.c::evas_obscured_clear" ref="ga76dbc1ce160666ffde45901346cfe876" args="(Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_obscured_clear </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Remove all obscured region rectangles from the canvas. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The given canvas pointer.</td></tr> </table> </dd> </dl> <p>This function removes all the rectangles from the obscured list of the canvas. It takes obscured areas added with <a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4" title="Add an obscured region.">evas_obscured_rectangle_add()</a> and makes it a region that have to be repainted. </p> </div> </div> <a class="anchor" id="gab731e13487e7a2bf6c39d1c1dc69ccc4"></a><!-- doxytag: member="evas_render.c::evas_obscured_rectangle_add" ref="gab731e13487e7a2bf6c39d1c1dc69ccc4" args="(Evas *e, int x, int y, int w, int h)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_obscured_rectangle_add </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>w</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>h</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Add an obscured region. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The given canvas pointer. </td></tr> <tr><td class="paramname">x</td><td>The rectangle's left position. </td></tr> <tr><td class="paramname">y</td><td>The rectangle's top position </td></tr> <tr><td class="paramname">w</td><td>The rectangle's width. </td></tr> <tr><td class="paramname">h</td><td>The rectangle's height.</td></tr> </table> </dd> </dl> <p>This is the function by which one tells evas that a part of the canvas has not to be repainted. To make this region one that have to be repainted, call the function <a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876" title="Remove all obscured region rectangles from the canvas.">evas_obscured_clear()</a>.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876" title="Remove all obscured region rectangles from the canvas.">evas_obscured_clear()</a>. </dd></dl> </div> </div> <a class="anchor" id="ga241869ebb085b8ab11ff6af26e1aeaaf"></a><!-- doxytag: member="evas_render.c::evas_render" ref="ga241869ebb085b8ab11ff6af26e1aeaaf" args="(Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_render </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Force renderization of the given canvas. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The given canvas pointer. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga84a691e253bf4239691b3f3adca3c7b1"></a><!-- doxytag: member="evas_render.c::evas_render_idle_flush" ref="ga84a691e253bf4239691b3f3adca3c7b1" args="(Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_render_idle_flush </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Make the canvas discard internally cached data used for rendering. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The given canvas pointer.</td></tr> </table> </dd> </dl> <p>This function flushes the arrays of delete, active and render objects. Other things it may also discard are: shared memory segments, temporary scratch buffers, cached data to avoid re-compute of that data etc. </p> <p>Referenced by <a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">evas_free()</a>.</p> </div> </div> <a class="anchor" id="ga49650dcc731a151d4881106b56f7a5ca"></a><!-- doxytag: member="evas_render.c::evas_render_updates" ref="ga49650dcc731a151d4881106b56f7a5ca" args="(Evas *e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI Eina_List* evas_render_updates </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> * </td> <td class="paramname"><em>e</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Force immediate renderization of the given canvas. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>The given canvas pointer. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>A newly allocated list of updated rectangles of the canvas. Free this list with <a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b" title="Free the rectangles returned by evas_render_updates().">evas_render_updates_free()</a>.</dd></dl> <p>This function forces an immediate renderization update of the given given canvas. </p> </div> </div> <a class="anchor" id="gae4889bb5ec0e6e4f6ce5d6ef99f8737b"></a><!-- doxytag: member="evas_render.c::evas_render_updates_free" ref="gae4889bb5ec0e6e4f6ce5d6ef99f8737b" args="(Eina_List *updates)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EAPI void evas_render_updates_free </td> <td>(</td> <td class="paramtype">Eina_List * </td> <td class="paramname"><em>updates</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Free the rectangles returned by <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca" title="Force immediate renderization of the given canvas.">evas_render_updates()</a>. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">updates</td><td>The list of updated rectangles of the canvas.</td></tr> </table> </dd> </dl> <p>This function removes the region from the render updates list. It makes the region doesn't be render updated anymore. </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 ©2011 Enlightenment</td> <td class="generated">Docs generated Thu Jul 14 2011 20:45:33</td> </tr></table> </div> </body> </html>