Sophie

Sophie

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

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

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

<p>Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children.  
<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__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">evas_object_smart_move_children_relative</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord dx, Evas_Coord dy)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves all children objects relative to given offset.  <a href="#ga1e051786da49a712512430fcb6360c12"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">evas_object_smart_clipped_clipper_get</a> (<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">Get the clipper object for the given clipped smart object.  <a href="#ga27b74fdbecd5d915c9ec832199048907"></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__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628">evas_object_smart_clipped_smart_set</a> (<a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set smart class callbacks so it implements the "Clipped Smart Object".  <a href="#ga3725ce3a781c93120637ad6a58f6e628"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga83e064112f527be0c2156c425562a57c"></a><!-- doxytag: member="Evas_Smart_Object_Clipped::evas_object_smart_clipped_class_get" ref="ga83e064112f527be0c2156c425562a57c" args="(void)" -->
EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">evas_object_smart_clipped_class_get</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the Clipped Smart Class to use for proper inheritance. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children. </p>
<p>This clipper will control the visibility, clipping and color of sibling objects (remember that the clipping is recursive, and clipper color modulates the color of its clippees). By default, this base will also move children relatively to the parent, and delete them when parent is deleted. In other words, it is the base for simple object grouping.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628" title="Set smart class callbacks so it implements the &quot;Clipped Smart Object&quot;.">evas_object_smart_clipped_smart_set()</a> </dd></dl>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga27b74fdbecd5d915c9ec832199048907"></a><!-- doxytag: member="evas_object_smart_clipped.c::evas_object_smart_clipped_clipper_get" ref="ga27b74fdbecd5d915c9ec832199048907" args="(Evas_Object *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_smart_clipped_clipper_get </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><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the clipper object for the given clipped smart object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>the clipped smart object to retrieve the associated clipper. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the clipper object.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>evas_object_smart_clipped_smart_add() </dd></dl>

<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">evas_object_smart_data_get()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3725ce3a781c93120637ad6a58f6e628"></a><!-- doxytag: member="evas_object_smart_clipped.c::evas_object_smart_clipped_smart_set" ref="ga3725ce3a781c93120637ad6a58f6e628" args="(Evas_Smart_Class *sc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void evas_object_smart_clipped_smart_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&#160;</td>
          <td class="paramname"><em>sc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set smart class callbacks so it implements the "Clipped Smart Object". </p>
<p>This call will assign all the required methods of Evas_Smart_Class, if one wants to "subclass" it, call this function and later override values, if one wants to call the original method, save it somewhere, example:</p>
<div class="fragment"><pre class="fragment"> <span class="keyword">static</span> <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> parent_sc = <a class="code" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a>;

 <span class="keyword">static</span> <span class="keywordtype">void</span> my_class_smart_add(<a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *o)
 {
    parent_sc.add(o);
    <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(<a class="code" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907" title="Get the clipper object for the given clipped smart object.">evas_object_smart_clipped_clipper_get</a>(o),
                          255, 0, 0, 255);
 }

 <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *my_class_new(<span class="keywordtype">void</span>)
 {
    <span class="keyword">static</span> <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> sc = <a class="code" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a>(<span class="stringliteral">&quot;MyClass&quot;</span>);
    <span class="keywordflow">if</span> (!parent_sc.<a class="code" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f" title="the string name of the class">name</a>)
      {
         <a class="code" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628" title="Set smart class callbacks so it implements the &quot;Clipped Smart Object&quot;.">evas_object_smart_clipped_smart_set</a>(&amp;sc);
         parent_sc = sc;
         sc.add = my_class_smart_add;
      }
    <span class="keywordflow">return</span> &amp;sc;
 }
</pre></div><p>Default behavior is:</p>
<ul>
<li>add: creates a hidden clipper with "infinite" size;</li>
<li>del: delete all children objects;</li>
<li>move: move all objects relative relatively;</li>
<li>resize: not defined;</li>
<li>show: if there are children objects, show clipper;</li>
<li>hide: hides clipper;</li>
<li>color_set: set the color of clipper;</li>
<li>clip_set: set clipper of clipper;</li>
<li>clip_unset: unset the clipper of clipper; </li>
</ul>

<p>Referenced by <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">evas_object_smart_clipped_class_get()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1e051786da49a712512430fcb6360c12"></a><!-- doxytag: member="evas_object_smart_clipped.c::evas_object_smart_move_children_relative" ref="ga1e051786da49a712512430fcb6360c12" args="(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void evas_object_smart_move_children_relative </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">Evas_Coord&#160;</td>
          <td class="paramname"><em>dx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Evas_Coord&#160;</td>
          <td class="paramname"><em>dy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Moves all children objects relative to given offset. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>the smart evas object to use. </td></tr>
    <tr><td class="paramname">dx</td><td>horizontal offset. </td></tr>
    <tr><td class="paramname">dy</td><td>vertical offset. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_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>