Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 0e77bba279395d1c9e1f98c452d3b010 > files > 20

edje-devel-1.0.0-2.fc15.i686.rpm

<html>
<head>
    <title>Edje: Edje Data Collection reference</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" href="e.css">
    <link rel="stylesheet" type="text/css" 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>

    <table cellspacing="0" cellpadding="0" width="100%"><tr>
      <td id="header_logo">
        <a href="http://www.enlightenment.org"></a>
      </td>
      <td id="header_menu">
        <table cellspacing="0" cellpadding="0" align="right"><tr>
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=home">Home</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=news">News</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=about">About</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=download">Download</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=support">Support</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=contact">Contact</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://trac.enlightenment.org/e">Tracker</a></td>
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=docs">Docs</a></td> 
        </tr></table>          
      </td>
      <td id="header_last"></td>
    </tr></table>

    <div class="doxytitle">
        Edje Documentation <small>at Tue Feb 8 2011</small>
    </div>

    <div class="menu-container">
        <div class="submenu">
            <ul class="current">
                <li><a href="files.html">Files</a></li>
                <li><a href="Edje__Edit_8h.html">Edje Edit API</a></li>
                <li><a href="examples.html">Examples</a></li>
                <li><a href="luaref.html">LUA scripting</a></li>
                <li><a href="Edje_8h.html">Edje API</a></li>
                <li><a href="edcref.html">EDC Reference</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.3 -->
</div>
<div class="header">
  <div class="headertitle">
<h1>Edje Data Collection reference </h1>  </div>
</div>
<div class="contents">
<div class="textblock"><p>An Edje Data Collection, it's a plain text file (normally identified with the .edc extension),consisting of instructions for the Edje Compiler.</p>
<p>The syntax for the edje data collection files follows a simple structure of "blocks { .. }" that can contain "properties: ..", more blocks, or both.</p>
<p><a class="anchor" id="sec_quickaccess"></a> Quick access to block descriptions: </p>
<ul>
<li>
<a class="el" href="edcref.html#sec_toplevel">Top-Level</a> </li>
<li>
<a class="el" href="edcref.html#sec_group">Group</a> </li>
<li>
<a class="el" href="edcref.html#sec_description">State description</a> <ul>
<li>
<a class="el" href="edcref.html#sec_description_image">Image</a> </li>
<li>
<a class="el" href="edcref.html#sec_description_text">Text</a> </li>
<li>
<a class="el" href="edcref.html#sec_description_box">Box</a> </li>
<li>
<a class="el" href="edcref.html#sec_description_table">Table</a> </li>
<li>
<a class="el" href="edcref.html#sec_description_map">Map (3d/transformations)</a> </li>
</ul>
</li>
<li>
<a class="el" href="edcref.html#sec_program">Program block</a> </li>
</ul>
<dl class="author"><dt><b>Author:</b></dt><dd>Andres Blanc (dresb) <a href="mailto:andresblanc@gmail.com">andresblanc@gmail.com</a></dd></dl>
<table  class="edcref" border="0">
<tr class="section">
<td class="section" colspan="2"><p class="starttd"></p>
<p><a class="anchor" id="sec_toplevel"></a> <a class="el" href="edcref.html#sec_quickaccess">Top-Level blocks</a></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> externals </b></td><td class="context" colspan="2"><div class="fragment"><pre class="fragment">        externals {
           external: <span class="stringliteral">&quot;name&quot;</span>;
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The "externals" block is used to list each external module file that will be used in others programs. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> external </code></td><td class="parameters"><code> [external filename] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Used to add a file to the externals list. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> images </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        images {
            image: <span class="stringliteral">&quot;filename1.ext&quot;</span> COMP;
            image: <span class="stringliteral">&quot;filename2.ext&quot;</span> LOSSY 99;
        <span class="keyword">set</span> {
           <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;image_name_used&quot;</span>;
               image {
                  image: <span class="stringliteral">&quot;filename3.ext&quot;</span> LOSSY 90;
                  size: 201 201 500 500;
               }
               image {
                  image: <span class="stringliteral">&quot;filename4.ext&quot;</span> COMP;
                  size: 51 51 200 200;
               }
               image {
                  image: <span class="stringliteral">&quot;filename5.ext&quot;</span> COMP;
                  size: 11 11 50 50;
               }
               image {
                  image: <span class="stringliteral">&quot;filename6.ext&quot;</span> RAW;
                  size: 0 0 10 10;
               }
            }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The "images" block is used to list each image file that will be used in the theme along with its compression method (if any). Besides the document's root, additional "images" blocks can be included inside other blocks, normally "collections", "group" and "part", easing maintenance of the file list when the theme is split among multiple files. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> image </code></td><td class="parameters"><code> [image file] [compression method] (compression level) </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Used to include each image file. The full path to the directory holding the images can be defined later with edje_cc's "-id" option. Compression methods: <ul>
<li>RAW: Uncompressed. </li>
<li>COMP: Lossless compression. </li>
<li>LOSSY [0-100]: Lossy comression with quality from 0 to 100. </li>
<li>USER: Do not embed the file, refer to the external file instead. </li>
</ul>
</td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> set </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">    <span class="keyword">set</span> {
       <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;image_name_used&quot;</span>;
       image {
          image: <span class="stringliteral">&quot;filename3.ext&quot;</span> LOSSY 90;
          size: 201 201 500 500;
       }
       image {
          image: <span class="stringliteral">&quot;filename4.ext&quot;</span> COMP;
          size: 51 51 200 200;
       }
       image {
          image: <span class="stringliteral">&quot;filename5.ext&quot;</span> COMP;
          size: 11 11 50 50;
       }
       image {
          image: <span class="stringliteral">&quot;filename6.ext&quot;</span> RAW;
          size: 0 0 10 10;
       }
    }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The "set" block is used to define an image with different content depending on their size. Besides the document's root, additional "set" blocks can be included inside other blocks, normally "collections", "group" and "part", easing maintenance of the file list when the theme is split among multiple files. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> name </code></td><td class="parameters"><code> [image name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Define the name that refer to this image description. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> size </code></td><td class="parameters"><code> [minw minh maxw mawh] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Define the minimal and maximal size that will select the specified image. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> fonts </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        fonts {
            font: <span class="stringliteral">&quot;filename1.ext&quot;</span> <span class="stringliteral">&quot;fontname&quot;</span>;
            font: <span class="stringliteral">&quot;filename2.ext&quot;</span> <span class="stringliteral">&quot;otherfontname&quot;</span>;
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The "fonts" block is used to list each font file with an alias used later in the theme. As with the "images" block, additional "fonts" blocks can be included inside other blocks. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> font </code></td><td class="parameters"><code> [font filename] [font alias] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Defines each font "file" and "alias", the full path to the directory holding the font files can be defined with edje_cc's "-fd" option. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> data </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        data {
            item: <span class="stringliteral">&quot;key&quot;</span> <span class="stringliteral">&quot;value&quot;</span>;
            file: <span class="stringliteral">&quot;otherkey&quot;</span> <span class="stringliteral">&quot;filename.ext&quot;</span>;
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The "data" block is used to pass arbitrary parameters from the theme to the application. Unlike the "images" and "fonts" blocks, additional "data" blocks can only be included inside the "group" block. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> item </code></td><td class="parameters"><code> [parameter name] [parameter value] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Defines a new parameter, the value will be the string specified next to it. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> file </code></td><td class="parameters"><code> [parameter name] [parameter filename] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Defines a new parameter , the value will be the contents of the specified file formated as a single string of text. This property only works with plain text files. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> color_classes </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        color_classes {
            color_class {
                <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>:  <span class="stringliteral">&quot;colorclassname&quot;</span>;
                color:  [0-255] [0-255] [0-255] [0-255];
                color2: [0-255] [0-255] [0-255] [0-255];
                color3: [0-255] [0-255] [0-255] [0-255]
            }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The "color_classes" block contains a list of one or more "color_class" blocks. Each "color_class" allows the designer to name an arbitrary group of colors to be used in the theme, the application can use that name to alter the color values at runtime. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> name </code></td><td class="parameters"><code> [color class name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the name for the color class, used as reference by both the theme and the application. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> color </code></td><td class="parameters"><code> [red] [green] [blue] [alpha] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The main color. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> color2 </code></td><td class="parameters"><code> [red] [green] [blue] [alpha] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Used as shadow in text and textblock parts. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> color3 </code></td><td class="parameters"><code> [red] [green] [blue] [alpha] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Used as outline in text and textblock parts. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> styles </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        styles {
            style {
                <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;stylename&quot;</span>;
                base: <span class="stringliteral">&quot;..default style properties..&quot;</span>;

                tag:  <span class="stringliteral">&quot;tagname&quot;</span> <span class="stringliteral">&quot;..style properties..&quot;</span>;
                ..
            }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The "styles" block contains a list of one or more "style" blocks. A "style" block is used to create style &lt;tags&gt; for advanced TEXTBLOCK formatting. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> name </code></td><td class="parameters"><code> [style name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The name of the style to be used as reference later in the theme. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> base </code></td><td class="parameters"><code> [style properties string] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The default style properties that will be applied to the complete text. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> tag </code></td><td class="parameters"><code> [tag name] [style properties string] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Style to be applied only to text between style &lt;tags&gt;..&lt;/tags&gt;. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> collections </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        collections {
            ..
            group { }
            group { }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The "collections" block is used to list the groups that compose the theme. Additional "collections" blocks do not prevent overriding group names. </p>
<p class="endtd"></p>
</td></tr>
<tr class="section">
<td class="section" colspan="2"><p class="starttd"></p>
<p><a class="anchor" id="sec_group"></a> <a class="el" href="edcref.html#sec_quickaccess">Group sub blocks</a></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> group </b></td><td class="context" colspan="2"><div class="fragment"><pre class="fragment">        collections {
            ..
            group {
                <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;nameusedbytheapplication&quot;</span>;
                alias: <span class="stringliteral">&quot;anothername&quot;</span>;
                min: width height;
                max: width height;

                data { }
                script { }
                parts { }
                programs { }
            }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">A "group" block contains the list of parts and programs that compose a given Edje Object. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> name </code></td><td class="parameters"><code> [group name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The name that will be used by the application to load the resulting Edje object and to identify the group to swallow in a GROUP part. If a group with the same name exists already it will be completely overriden by the new group. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> script_only </code></td><td class="parameters"><code> [on/off] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The flag (on/off) as to if this group is defined ONLY by script callbacks such as init(), resize() and shutdown() </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> alias </code></td><td class="parameters"><code> [aditional group name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Additional name to serve as identifier. Defining multiple aliases is supported. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> min </code></td><td class="parameters"><code> [width] [height] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The minimum size for the container defined by the composition of the parts. It is not enforced. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> max </code></td><td class="parameters"><code> [width] [height] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The maximum size for the container defined by the totality of the parts. It is not enforced. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> script </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        ..
        group {
            script {
                <span class="comment">//embryo script</span>
            }
            ..
            program {
                script {
                    <span class="comment">//embryo script</span>
                }
            }
            ..
        }
        ..
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">This block is used to "inject" embryo scripts to a given Edje theme and it functions in two modalities. When it's included inside a "program" block, the script will be executed every time the program is run, on the other hand, when included directly into a "group", "part" or "description" block, it will be executed once at load time, in the load order. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> parts </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        group {
            parts {
                alias: <span class="stringliteral">&quot;theme_part_path&quot;</span> <span class="stringliteral">&quot;real_part_path&quot;</span>;
                ..
            }
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">Alias of part give a chance to let the designer put the real one in a box or reuse one from a GROUP or inside a BOX. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> part </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        group {
            parts {
                ..
                part {
                    <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;partname&quot;</span>;
                    <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: IMAGE;
                    mouse_events:  1;
                    repeat_events: 0;
                    ignore_flags: NONE;
                    clip_to: <span class="stringliteral">&quot;anotherpart&quot;</span>;
                    source:  <span class="stringliteral">&quot;groupname&quot;</span>;
                    pointer_mode: AUTOGRAB;
                    use_alternate_font_metrics: 0;

                    description { }
                    dragable { }
                    items { }
                }
                ..
            }
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">Parts are used to represent the most basic design elements of the theme, for example, a part can represent a line in a border or a label on a button. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> name </code></td><td class="parameters"><code> [part name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The part's name will be used as reference in the theme's relative positioning system, by programs and in some cases by the application. It must be unique within the group. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> type </code></td><td class="parameters"><code> [TYPE] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Set the type (all caps) from among the available types, it's set to IMAGE by default. Valid types: <ul>
<li>RECT </li>
<li>TEXT </li>
<li>IMAGE </li>
<li>SWALLOW </li>
<li>TEXTBLOCK </li>
<li>GROUP </li>
<li>BOX </li>
<li>TABLE </li>
<li>EXTERNAL </li>
</ul>
</td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> mouse_events </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Specifies whether the part will emit signals, altought is named "mouse_events", disabling it (0) will prevent the part from emitting any type of signal at all. Its set to 1 by default. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> repeat_events </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Specifies whether a part echoes a mouse event to other parts below the pointer (1), or not (0). Its set to 0 by default. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> ignore_flags </code></td><td class="parameters"><code> [FLAG] ... </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Specifies whether events with the given flags should be ignored, i.e., will not have the signals emitted to the parts. Multiple flags must be separated by spaces, the effect will be ignoring all events with one of the flags specified. Possible flags: <ul>
<li>NONE (default value, no event will be ignored) </li>
<li>ON_HOLD </li>
</ul>
</td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> scale </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Specifies whether the part will scale its size with an edje scaling factor. By default scale is off (0) and the default scale factor is 1.0 - that means no scaling. This would be used to scale properties such as font size, min/max size of the part, and possibly can be used to scale based on DPI of the target device. The reason to be selective is that some things work well being scaled, others do not, so the designer gets to choose what works best. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> pointer_mode </code></td><td class="parameters"><code> [MODE] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the mouse pointer behavior for a given part. The default value is AUTOGRAB. Aviable modes: <ul>
<li>AUTOGRAB, when the part is clicked and the button remains pressed, the part will be the source of all future mouse signals emitted, even outside the object, until the button is released. </li>
<li>NOGRAB, the effect will be limited to the part's container. </li>
</ul>
</td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> precise_is_inside </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Enables precise point collision detection for the part, which is more resource intensive. Disabled by default. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> use_alternate_font_metrics </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Only affects text and textblock parts, when enabled Edje will use different size measurement functions. Disabled by default. (note from the author: I don't know what this is exactlu useful for?) </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> clip_to </code></td><td class="parameters"><code> [another part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Only renders the area of part that coincides with another part's container. Overflowing content will not be displayed. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> source </code></td><td class="parameters"><code> [another group's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Only available to GROUP or TEXTBLOCK parts. Swallows the specified group into the part's container if a GROUP. If TEXTBLOCK it is used for the group to be loaded and used for selection display UNDER the selected text. source2 is used for on top of the selected text, if source2 is specified. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> source2 </code></td><td class="parameters"><code> [another group's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Only available to TEXTBLOCK parts. It is used for the group to be loaded and used for selection display OVER the selected text. source is used for under of the selected text, if source is specified. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> source3 </code></td><td class="parameters"><code> [another group's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Only available to TEXTBLOCK parts. It is used for the group to be loaded and used for cursor display UNDER the cursor position. source4 is used for over the cursor text, if source4 is specified. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> source4 </code></td><td class="parameters"><code> [another group's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Only available to TEXTBLOCK parts. It is used for the group to be loaded and used for cursor display OVER the cursor position. source3 is used for under the cursor text, if source4 is specified. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> source5 </code></td><td class="parameters"><code> [another group's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Only available to TEXTBLOCK parts. It is used for the group to be loaded and used for anchors display UNDER the anchor position. source6 is used for over the anchors text, if source6 is specified. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> source6 </code></td><td class="parameters"><code> [another group's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Only available to TEXTBLOCK parts. It is used for the group to be loaded and used for anchor display OVER the anchor position. source5 is used for under the anchor text, if source6 is specified. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> effect </code></td><td class="parameters"><code> [EFFECT] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Causes Edje to draw the selected effect among: <ul>
<li>PLAIN </li>
<li>OUTLINE </li>
<li>SOFT_OUTLINE </li>
<li>SHADOW </li>
<li>SOFT_SHADOW </li>
<li>OUTLINE_SHADOW </li>
<li>OUTLINE_SOFT_SHADOW </li>
<li>FAR_SHADOW </li>
<li>FAR_SOFT_SHADOW </li>
<li>GLOW </li>
</ul>
</td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> entry_mode </code></td><td class="parameters"><code> [MODE] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the edit mode for a textblock part to one of: <ul>
<li>NONE </li>
<li>PLAIN </li>
<li>EDITABLE </li>
<li>PASSWORD It causes the part be editable if the edje object has the keyboard focus AND the part has the edje focus (or selectable always regardless of focus) and in the event of password mode, not selectable and all text chars replaced with *'s but editable and pastable. </li>
</ul>
</td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> select_mode </code></td><td class="parameters"><code> [MODE] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the selection mode for a textblock part to one of: <ul>
<li>DEFAULT </li>
<li>EXPLICIT DEFAULT selection mode is what you would expect on any desktop. Press mouse, drag and release to end. EXPLICIT mode requires the application controlling the edje object has to explicitly begin and end selection modes, and the selection itself is dragable at both ends. </li>
</ul>
</td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> multiline </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">It causes a textblock that is editable to allow multiple lines for editing. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> dragable </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        part {
            ..
            dragable {
                confine: <span class="stringliteral">&quot;another part&quot;</span>;
                events:  <span class="stringliteral">&quot;another dragable part&quot;</span>;
                x: 0 0 0;
                y: 0 0 0;
            }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">When this block is used the resulting part can be dragged around the interface, do not confuse with external drag &amp; drop. By default Edje (and most applications) will attempt to use the minimal size possible for a dragable part. If the min property is not set in the description the part will be (most likely) set to 0px width and 0px height, thus invisible. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> x </code></td><td class="parameters"><code> [enable/disable] [step] [count] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Used to setup dragging events for the X axis. The first parameter is used to enable (1 or -1) and disable (0) dragging along the axis. When enabled, 1 will set the starting point at 0.0 and -1 at 1.0. The second parameter takes any integer and will limit movement to values divisible by it, causing the part to jump from position to position. The third parameter, (question from the author: What is count for?). </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> y </code></td><td class="parameters"><code> [enable/disable] [step] [count] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Used to setup dragging events for the Y axis. The first parameter is used to enable (1 or -1) and disable (0) dragging along the axis. When enabled, 1 will set the starting point at 0.0 and -1 at 1.0. The second parameter takes any integer and will limit movement to values divisibles by it, causing the part to jump from position to position. The third parameter, (question from the author: What is count for?). </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> confine </code></td><td class="parameters"><code> [another part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">When set, limits the movement of the dragged part to another part's container. When you use confine don't forget to set a min size for the part, or the draggie will not show up. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> events </code></td><td class="parameters"><code> [another dragable part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">It causes the part to forward the drag events to another part, thus ignoring them for itself. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> items </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        part {
            ..
        box {
                items {
                    item {
                        <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: TYPE;
                        source: <span class="stringliteral">&quot;some source&quot;</span>;
                        min: 1 1;
                        max: 100 100;
                        padding: 1 1 2 2;
                    }
                    item {
                        <a class="code" href="edje__data_8c.html#a0dae2edc8bfd2bedabfa38415c35f3ec">type</a>: TYPE;
                        source: <span class="stringliteral">&quot;some other source&quot;</span>;
                        <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;some name&quot;</span>;
                        align: 1.0 0.5;
                    }
                    ..
                }
        }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">On a part of type BOX, this block can be used to set other groups as elements of the box. These can be mixed with external objects set by the application through the edje_object_part_box_* API. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> type </code></td><td class="parameters"><code> Only GROUP for now (defaults to it) </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the type of the object this item will hold. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> name </code></td><td class="parameters"><code> [name for the object] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the name of the object via evas_object_name_set(). </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> source </code></td><td class="parameters"><code> [another group's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the group this object will be made from. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> min </code></td><td class="parameters"><code> [width] [height] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the minimum size hints for this object. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> prefer </code></td><td class="parameters"><code> [width] [height] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the preferred size hints for this object. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> max </code></td><td class="parameters"><code> [width] [height] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the maximum size hints for this object. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> padding </code></td><td class="parameters"><code> [left] [right] [top] [bottom] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the padding hints for this object. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> align </code></td><td class="parameters"><code> [x] [y] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the alignment hints for this object. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> weight </code></td><td class="parameters"><code> [x] [y] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the weight hints for this object. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> aspect </code></td><td class="parameters"><code> [w] [h] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the aspect width and height hints for this object. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> aspect_mode </code></td><td class="parameters"><code> NONE, NEITHER, HORIZONTAL, VERTICAL, BOTH </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the aspect control hints for this object. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> options </code></td><td class="parameters"><code> [extra options] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets extra options for the object. Unused for now. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> position </code></td><td class="parameters"><code> [col] [row] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the position this item will have in the table. This is required for parts of type TABLE. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> span </code></td><td class="parameters"><code> [col] [row] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets how many columns/rows this item will use. Defaults to 1 1. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr class="section">
<td class="section" colspan="2"><p class="starttd"></p>
<p><a class="anchor" id="sec_description"></a> <a class="el" href="edcref.html#sec_quickaccess">State description sub blocks</a></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> description </b></td><td class="context" colspan="2"><div class="fragment"><pre class="fragment">        description {
            inherit: <span class="stringliteral">&quot;another_description&quot;</span> INDEX;
            state: <span class="stringliteral">&quot;description_name&quot;</span> INDEX;
            visible: 1;
            min: 0 0;
            max: -1 -1;
            align: 0.5 0.5;
            fixed: 0 0;
            step: 0 0;
            aspect: 1 1;

            rel1 {
                ..
            }

            rel2 {
                ..
            }
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">Every part can have one or more description blocks. Each description is used to define style and layout properties of a part in a given "state". </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> inherit </code></td><td class="parameters"><code> [another description's name] [another description's index] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">When set, the description will inherit all the properties from the named description. The properties defined in this part will override the inherited properties, reducing the amount of necessary code for simple state changes. Note: inheritance in Edje is single level only. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> state </code></td><td class="parameters"><code> [a name for the description] [an index] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets a name used to identify a description inside a given part. Multiple descriptions are used to declare different states of the same part, like "clicked" or "invisible". All states declarations are also coupled with an index number between 0.0 and 1.0. All parts must have at least one description named "default 0.0". </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> visible </code></td><td class="parameters"><code> [0 or 1] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Takes a boolean value specifying whether part is visible (1) or not (0). Non-visible parts do not emit signals. The default value is 1. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> align </code></td><td class="parameters"><code> [X axis] [Y axis] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">When the displayed object's size is smaller than its container, this property moves it relatively along both axis inside its container. The default value is "0.5 0.5". </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> fixed </code></td><td class="parameters"><code> [width, 0 or 1] [height, 0 or 1] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This affects the minimum size calculation. See <a class="el" href="Edje_8h.html#af0d4d021bd06b39314596366e0f92df7" title="Calculate minimum size.">edje_object_size_min_calc()</a> and <a class="el" href="Edje_8h.html#a18bd6fd0f71c23b2d75a7ff3c9c9d52c" title="Calculate minimum size.">edje_object_size_min_restricted_calc()</a>. This tells the min size calculation routine that this part does not change size in width or height (1 for it doesn't, 0 for it does), so the routine should not try and expand or contract the part. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> min </code></td><td class="parameters"><code> [width] [height] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The minimum size of the state. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> max </code></td><td class="parameters"><code> [width] [height] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The maximum size of the state. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> step </code></td><td class="parameters"><code> [width] [height] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Restricts resizing of each dimension to values divisibles by its value. This causes the part to jump from value to value while resizing. The default value is "0 0" disabling stepping. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> aspect </code></td><td class="parameters"><code> [min] [max] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Normally width and height can be resized to any values independently. The aspect property forces the width to height ratio to be kept between the minimum and maximum set. For example, "1.0 1.0" will increase the width a pixel for every pixel added to heigh. The default value is "0.0 0.0" disabling aspect. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> aspect_preference </code></td><td class="parameters"><code> [DIMENSION] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the scope of the "aspect" property to a given dimension. Available options are BOTH, VERTICAL, HORIZONTAL and NONE </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> color_class </code></td><td class="parameters"><code> [color class name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The part will use the color values of the named color_class, these values can be overrided by the "color", "color2" and "color3" properties set below. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> color </code></td><td class="parameters"><code> [red] [green] [blue] [alpha] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the main color to the specified values (between 0 and 255). </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> color2 </code></td><td class="parameters"><code> [red] [green] [blue] [alpha] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the text shadow color to the specified values (0 to 255). </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> color3 </code></td><td class="parameters"><code> [red] [green] [blue] [alpha] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the text outline color to the specified values (0 to 255). </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> rel1/rel2 </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        description {
            ..
            rel1 {
                relative: 0.0 0.0;
                offset:     0   0;
            }
            ..
            rel2 {
                relative: 1.0 1.0;
                offset:    -1  -1;
            }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The rel1 and rel2 blocks are used to define the position of each corner of the part's container. With rel1 being the left-up corner and rel2 being the right-down corner. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> relative </code></td><td class="parameters"><code> [X axis] [Y axis] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Moves a corner to a relative position inside the container of the relative "to" part. Values from 0.0 (0%, beginning) to 1.0 (100%, end) of each axis. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> offset </code></td><td class="parameters"><code> [X axis] [Y axis] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Affects the corner position a fixed number of pixels along each axis. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> to </code></td><td class="parameters"><code> [another part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Causes a corner to be positioned relatively to another part's container. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> to_x </code></td><td class="parameters"><code> [another part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Causes a corner to be positioned relatively to the X axis of another part's container. Simply put affects the first parameter of "relative". </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> to_y </code></td><td class="parameters"><code> [another part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Causes a corner to be positioned relatively to the Y axis of another part's container. Simply put, affects the second parameter of "relative". </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr class="section">
<td class="section" colspan="2"><p class="starttd"></p>
<p><a class="anchor" id="sec_description_image"></a> <a class="el" href="edcref.html#sec_quickaccess">Image state description sub blocks</a></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> image </b></td><td class="context" colspan="2"><div class="fragment"><pre class="fragment">        description {
            ..
            image {
                normal: <span class="stringliteral">&quot;filename.ext&quot;</span>;
                tween:  <span class="stringliteral">&quot;filename2.ext&quot;</span>;
                ..
                tween:  <span class="stringliteral">&quot;filenameN.ext&quot;</span>;
                border:  left right top bottom;
                middle:  0/1/NONE/DEFAULT/SOLID;
            }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd"></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> normal </code></td><td class="parameters"><code> [image's filename] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Name of image to be used as previously declared in the images block. In an animation, this is the first and last image displayed. It's required in any image part </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> tween </code></td><td class="parameters"><code> [image's filename] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Name of an image to be used in an animation loop, an image block can have none, one or multiple tween declarations. Images are displayed in the order they are listed. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> border </code></td><td class="parameters"><code> [left] [right] [top] [bottom] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">If set, the area (in pixels) of each side of the image will be displayed as a fixed size border, from the side -&gt; inwards, preventing the corners from being changed on a resize. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> middle </code></td><td class="parameters"><code> 0, 1, NONE, DEFAULT, SOLID </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">If border is set, this value tells Edje if the rest of the image (not covered by the defined border) will be displayed or not or be assumed to be solid (without alpha). The default is 1/DEFAULT. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> border_scale </code></td><td class="parameters"><code> 0, 1 </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">If border is set, this value tells Edje if the border should be scaled by the object/global edje scale factors </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> scale_hint </code></td><td class="parameters"><code> 0, NONE, DYNAMIC, STATIC </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the evas image scale hint letting the engine more effectively save cached copies of the scaled image if it makes sense </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> fill </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        description {
            ..
            fill {
                smooth: 0-1;
                origin {
                    relative: <a class="code" href="edje__util_8c.html#afbf6fb01352ce735f460b444f1dca712">X</a>-axis Y-axis;
                    offset:   <a class="code" href="edje__util_8c.html#afbf6fb01352ce735f460b444f1dca712">X</a>-axis Y-axis;
                }
                size {
                    relative: width  height;
                    offset:   width  height;
                }
            }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The fill method is an optional block that defines the way an IMAGE part is going to be displayed inside its container. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> smooth </code></td><td class="parameters"><code> [0 or 1] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">The smooth property takes a boolean value to decide if the image will be smoothed on scaling (1) or not (0). The default value is 1. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> spread </code></td><td class="parameters"><code> TODO </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">TODO </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> type </code></td><td class="parameters"><code> TODO </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">TODO </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> origin </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        description {
            ..
            fill {
                ..
                origin {
                    relative: 0.0 0.0;
                    offset:   0   0;
                }
                ..
            }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The origin block is used to place the starting point, inside the displayed element, that will be used to render the tile. By default, the origin is set at the element's left-up corner. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> relative </code></td><td class="parameters"><code> [X axis] [Y axis] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the starting point relatively to displayed element's content. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> offset </code></td><td class="parameters"><code> [X axis] [Y axis] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Affects the starting point a fixed number of pixels along each axis. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> size </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">        description {
            ..
            fill {
                ..
                size {
                    relative: 1.0 1.0;
                    offset:  -1  -1;
                }
                ..
            }
            ..
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">The size block defines the tile size of the content that will be displayed. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> relative </code></td><td class="parameters"><code> [width] [height] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Takes a pair of decimal values that represent the a percentual value of the original size of the element. For example, "0.5 0.5" represents half the size, while "2.0 2.0" represents the double. The default value is "1.0 1.0". </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> offset </code></td><td class="parameters"><code> [X axis] [Y axis] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Affects the size of the tile a fixed number of pixels along each axis. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr class="section">
<td class="section" colspan="2"><p class="starttd"></p>
<p><a class="anchor" id="sec_description_text"></a> <a class="el" href="edcref.html#sec_quickaccess">Text state description sub blocks</a></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> text </b></td><td class="context" colspan="2"><div class="fragment"><pre class="fragment">        part {
            description {
                ..
                text {
                    text:        <span class="stringliteral">&quot;some string of text to display&quot;</span>;
                    font:        <span class="stringliteral">&quot;font_name&quot;</span>;
                    size:         SIZE;
                    text_class:  <span class="stringliteral">&quot;class_name&quot;</span>;
                    fit:          horizontal vertical;
                    min:          horizontal vertical;
                    max:          horizontal vertical;
                    align:        <a class="code" href="edje__util_8c.html#afbf6fb01352ce735f460b444f1dca712">X</a>-axis     Y-axis;
                    source:      <span class="stringliteral">&quot;part_name&quot;</span>;
                    text_source: <span class="stringliteral">&quot;text_part_name&quot;</span>;
                    elipsis:      0.0-1.0;
                    style:       <span class="stringliteral">&quot;stylename&quot;</span>;
                }
                ..
            }
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd"></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> text </code></td><td class="parameters"><code> [a string of text, or nothing] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the default content of a text part, normally the application is the one changing its value. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> text_class </code></td><td class="parameters"><code> [text class name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Similar to color_class, this is the name used by the application to alter the font family and size at runtime. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> font </code></td><td class="parameters"><code> [font alias] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This sets the font family to one of the aliases set up in the "fonts" block. Can be overrided by the application. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> style </code></td><td class="parameters"><code> [the style name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Causes the part to use the default style and tags defined in the "style" block with the specified name. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> repch </code></td><td class="parameters"><code> [the replacement character string] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">If this is a textblock and is in PASSWORD mode this string is used to replace every character to hide the details of the entry. Normally you would use a "*", but you can use anything you like. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> size </code></td><td class="parameters"><code> [font size in points (pt)] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the default font size for the text part. Can be overrided by the application. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> fit </code></td><td class="parameters"><code> [horizontal] [vertical] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">When any of the parameters is set to 1 edje will resize the text for it to fit in it's container. Both are disabled by default. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> min </code></td><td class="parameters"><code> [horizontal] [vertical] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">When any of the parameters is enabled (1) it forces the minimum size of the container to be equal to the minimum size of the text. The default value is "0 0". </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> max </code></td><td class="parameters"><code> [horizontal] [vertical] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">When any of the parameters is enabled (1) it forces the maximum size of the container to be equal to the maximum size of the text. The default value is "0 0". </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> align </code></td><td class="parameters"><code> [horizontal] [vertical] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Change the position of the point of balance inside the container. The default value is 0.5 0.5. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> source </code></td><td class="parameters"><code> [another TEXT part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Causes the part to use the text properties (like font and size) of another part and update them as they change. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> text_source </code></td><td class="parameters"><code> [another TEXT part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Causes the part to display the text content of another part and update them as they change. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> elipsis </code></td><td class="parameters"><code> [point of balance] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Used to balance the text in a relative point from 0.0 to 1.0, this point is the last section of the string to be cut out in case of a resize that is smaller than the text itself. The default value is 0.0. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr class="section">
<td class="section" colspan="2"><p class="starttd"></p>
<p><a class="anchor" id="sec_description_box"></a> <a class="el" href="edcref.html#sec_quickaccess">Box state description sub blocks</a></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> box </b></td><td class="context" colspan="2"><div class="fragment"><pre class="fragment">        part {
            description {
                ..
                box {
                    layout: <span class="stringliteral">&quot;vertical&quot;</span>;
                    padding: 0 2;
                    align: 0.5 0.5;
            min: 0 0;
                }
                ..
            }
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">A box block can contain other objects and display them in different layouts, any of the predefined set, or a custom one, set by the application. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> layout </code></td><td class="parameters"><code> [primary layout] [fallback layout] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the layout for the box: <ul>
<li>horizontal (default) </li>
<li>vertical </li>
<li>horizontal_homogeneous </li>
<li>vertical_homogeneous </li>
<li>horizontal_max (homogeneous to the max sized child) </li>
<li>vertical_max </li>
<li>horizontal_flow </li>
<li>vertical_flow </li>
<li>stack </li>
<li>some_other_custom_layout_set_by_the_application You could set a custom layout as fallback, it makes very very little sense though, and if that one fails, it will default to horizontal. </li>
</ul>
</td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> align </code></td><td class="parameters"><code> [horizontal] [vertical] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Change the position of the point of balance inside the container. The default value is 0.5 0.5. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> padding </code></td><td class="parameters"><code> [horizontal] [vertical] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the space between cells in pixels. Defaults to 0 0. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> min </code></td><td class="parameters"><code> [horizontal] [vertical] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">When any of the parameters is enabled (1) it forces the minimum size of the box to be equal to the minimum size of the items. The default value is "0 0". </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr class="section">
<td class="section" colspan="2"><p class="starttd"></p>
<p><a class="anchor" id="sec_description_table"></a> <a class="el" href="edcref.html#sec_quickaccess">Table state description sub blocks</a></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> table </b></td><td class="context" colspan="2"><div class="fragment"><pre class="fragment">        part {
            description {
                ..
                table {
                    homogeneous: TABLE;
                    padding: 0 2;
                    align: 0.5 0.5;
                }
                ..
            }
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">A table block can contain other objects packed in multiple columns and rows, and each item can span across more than one column and/or row. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> homogeneous </code></td><td class="parameters"><code> [homogeneous mode] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the homogeneous mode for the table: <ul>
<li>NONE (default) </li>
<li>TABLE </li>
<li>ITEM </li>
</ul>
</td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> align </code></td><td class="parameters"><code> [horizontal] [vertical] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Change the position of the point of balance inside the container. The default value is 0.5 0.5. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> padding </code></td><td class="parameters"><code> [horizontal] [vertical] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Sets the space between cells in pixels. Defaults to 0 0. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr class="section">
<td class="section" colspan="2"><p class="starttd"></p>
<p><a class="anchor" id="sec_description_map"></a> <a class="el" href="edcref.html#sec_quickaccess">Map state description sub blocks</a></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> map </b></td><td class="context" colspan="2"><div class="fragment"><pre class="fragment">    description {
        ..
        map {
            perspective: <span class="stringliteral">&quot;name&quot;</span>;
            light: <span class="stringliteral">&quot;name&quot;</span>;
            on: 1;
            smooth: 1;
            perspective_on: 1;
            backface_cull: 1;
            alpha: 1;
            
            rotation {
                ..
            }
        }
        ..
    }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd"></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> perspective </code></td><td class="parameters"><code> [another part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This sets the part that is used as the "perspective point" for giving a part a "3d look". The perspective point should have a perspective section that provides zplane and focal properties. The center of this part will be used as the focal point, so size, color and visibility etc. are not relevant just center point, zplane and focal are used. This also implicitly enables perspective transforms (see the on parameter for the map section). </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> light </code></td><td class="parameters"><code> [another part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This sets the part that is used as the "light" for calculating the brightness (based on how directly the part's surface is facing the light source point). Like the perspective point part, the center point is used and zplane is used for the z position (0 being the zero-plane where all 2D objects normally live) and positive values being further away into the distance. The light part color is used as the light color (alpha not used for light color). The color2 color is used for the ambient lighting when calculating brightness (alpha also not used). </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> on </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This enables mapping for the part. Default is 0. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> smooth </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This enable smooth map rendering. This may be linear interpolation, anisotropic filtering or anything the engine decides is "smooth". This is a best-effort hint and may not produce precisely the same results in all engines and situations. Default is 1 </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> alpha </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This enable alpha channel when map rendering. Default is 1. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> backface_cull </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This enables backface culling (when the rotated part that normally faces the camera is facing away after being rotated etc.). This means that the object will be hidden when "backface culled". </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> perspective_on </code></td><td class="parameters"><code> [1 or 0] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Enable perspective when rotating even without a perspective point object. This would use perspective set for the object itself or for the canvas as a whole as the global perspective with <a class="el" href="Edje_8h.html#ac67b6372adcf093e43334d5385a1fed9">edje_perspective_set()</a> and <a class="el" href="Edje_8h.html#a135e2eef15d671a44374f08458f614fc">edje_perspective_global_set()</a>. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> rotation </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">    map {
        ..
        rotation {
            center: <span class="stringliteral">&quot;name&quot;</span>;
            x: 45.0;
            y: 45.0;
            z: 45.0;
        }
        ..
    }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">Rotates the part, optionally with the center on another part. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> center </code></td><td class="parameters"><code> [another part's name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This sets the part that is used as the center of rotation when rotating the part with this description. The part's center point is used as the rotation center when applying rotation around the x, y and z axes. If no center is given, the parts original center itself is used for the rotation center. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> x </code></td><td class="parameters"><code> [X degrees] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This sets the rotation around the x axis of the part considering the center set. In degrees. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> y </code></td><td class="parameters"><code> [Y degrees] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This sets the rotation around the u axis of the part considering the center set. In degrees. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> z </code></td><td class="parameters"><code> [Z degrees] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This sets the rotation around the z axis of the part considering the center set. In degrees. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> perspective </b></td><td class="context" colspan="2"><p class="starttd"></p>
<div class="fragment"><pre class="fragment">    description {
        ..
        perspective {
            zplane: 0;
            focal: 1000;
        }
        ..
    }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">Adds focal and plane perspective to the part. Active if perspective_on is true. Must be provided if the part is being used by other part as it's perspective target. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><table  class="edcref" border="0">
<tr>
<td class="property"><code> zplane </code></td><td class="parameters"><code> [unscaled Z value] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This sets the z value that will not be scaled. Normally this is 0 as that is the z distance that all objects are at normally. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> focal </code></td><td class="parameters"><code> [distance] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">This sets the distance from the focal z plane (zplane) and the camera - i.e. very much equating to focal length of the camera </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr class="section">
<td class="section" colspan="2"><p class="starttd"></p>
<p><a class="anchor" id="sec_description_params"></a> <a class="el" href="edcref.html#sec_quickaccess">Params state description sub blocks</a></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> params </b></td><td class="context" colspan="2"><div class="fragment"><pre class="fragment">    description {
        ..
        params {
            <span class="keywordtype">int</span>: <span class="stringliteral">&quot;name&quot;</span> 0;
            <span class="keywordtype">double</span>: <span class="stringliteral">&quot;other_name&quot;</span> 0.0;
            <span class="keywordtype">string</span>: <span class="stringliteral">&quot;another_name&quot;</span> <span class="stringliteral">&quot;some text&quot;</span>;
        <span class="keywordtype">bool</span>: <span class="stringliteral">&quot;name&quot;</span> 1;
        choice: <span class="stringliteral">&quot;some_name&quot;</span> <span class="stringliteral">&quot;value&quot;</span>;
        }
        ..
    }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">Set parameters for EXTERNAL parts. The value overwrites previous definitions with the same name. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> int </code></td><td class="parameters"><code> [param_name] [int_value] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Adds an integer parameter for an external object </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> double </code></td><td class="parameters"><code> [param_name] [double_value] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Adds a double parameter for an external object </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> string </code></td><td class="parameters"><code> [param_name] [string_value] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Adds a string parameter for an external object </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> bool </code></td><td class="parameters"><code> [param_name] [bool_value] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Adds an boolean parameter for an external object. Value must be 0 or 1. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> choice </code></td><td class="parameters"><code> [param_name] [choice_string] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Adds a choice parameter for an external object. The possible choice values are defined by external type at their register time and will be validated at runtime. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr class="section">
<td class="section" colspan="2"><p class="starttd"></p>
<p><a class="anchor" id="sec_program"></a> <a class="el" href="edcref.html#sec_quickaccess">Program block</a></p>
<p class="endtd"></p>
</td></tr>
<tr>
<td class="block"><b> program </b></td><td class="context" colspan="2"><div class="fragment"><pre class="fragment">        group {
            programs {
               ..
                  program {
                     <a class="code" href="edje__data_8c.html#a8f8f80d37794cde9472343e4487ba3eb">name</a>: <span class="stringliteral">&quot;programname&quot;</span>;
                     signal: <span class="stringliteral">&quot;signalname&quot;</span>;
                     source: <span class="stringliteral">&quot;partname&quot;</span>;
                     filter: <span class="stringliteral">&quot;partname&quot;</span> <span class="stringliteral">&quot;statename&quot;</span>;
                     in: 0.3 0.0;
                     action: STATE_SET <span class="stringliteral">&quot;statename&quot;</span> state_value;
                     transition: LINEAR 0.5;
                     target: <span class="stringliteral">&quot;partname&quot;</span>;
                     target: <span class="stringliteral">&quot;anotherpart&quot;</span>;
                     after: <span class="stringliteral">&quot;programname&quot;</span>;
                     after: <span class="stringliteral">&quot;anotherprogram&quot;</span>;
                  }
               ..
            }
        }
</pre></div></td></tr>
<tr>
<td>&#160;</td><td class="description" colspan="2"><p class="starttd">Programs define how your interface reacts to events. Programs can change the state of parts, react to events or trigger other events. </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> name </code></td><td class="parameters"><code> [program name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Symbolic name of program as a unique identifier. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> signal </code></td><td class="parameters"><code> [signal name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Specifies signal(s) that should cause the program to run. The signal received must match the specified source to run. Signals may be globbed, but only one signal keyword per program may be used. ex: signal: "mouse,clicked,*"; (clicking any mouse button that matches source starts program). </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> source </code></td><td class="parameters"><code> [source name] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Source of accepted signal. Sources may be globbed, but only one source keyword per program may be used. ex:source: "button-*"; (Signals from any part or program named "button-*" are accepted). </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> filter </code></td><td class="parameters"><code> [part] [state] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Filter signals to be only accepted if the part [part] is in state named [state]. Only one filter per program can be used. If [state] is not given, the source of the event will be used instead. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> in </code></td><td class="parameters"><code> [from] [range] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Wait 'from' seconds before executing the program. And add a random number of seconds (from 0 to 'range') to the total waiting time. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> action </code></td><td class="parameters"><code> [type] [param1] [param2] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Action to be performed by the program. Valid actions are: STATE_SET, ACTION_STOP, SIGNAL_EMIT, DRAG_VAL_SET, DRAG_VAL_STEP, DRAG_VAL_PAGE, FOCUS_SET, PARAM_COPY, PARAM_SET Only one action can be specified per program. Examples:<br/>
 action: STATE_SET "statename" 0.5;<br/>
 action: ACTION_STOP;<br/>
 action: SIGNAL_EMIT "signalname" "emitter";<br/>
 action: DRAG_VAL_SET 0.5 0.0;<br/>
 action: DRAG_VAL_STEP 1.0 0.0;<br/>
 action: DRAG_VAL_PAGE 0.0 0.0;<br/>
 action: FOCUS_SET;<br/>
 action: FOCUS_OBJECT;<br/>
 action: PARAM_COPY "src_part" "src_param" "dst_part" "dst_param";<br/>
 action: PARAM_SET "part" "param" "value";<br/>
 </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> transition </code></td><td class="parameters"><code> [type] [length] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Defines how transitions occur using STATE_SET action.<br/>
 Where 'type' is the style of the transition and 'length' is a double specifying the number of seconds in which to preform the transition.<br/>
 Valid types are: LINEAR, SINUSOIDAL, ACCELERATE, and DECELERATE. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> target </code></td><td class="parameters"><code> [target] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Program or part on which the specified action acts. Multiple target keywords may be specified, one per target. SIGNAL_EMITs do not have targets. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> after </code></td><td class="parameters"><code> [after] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Specifies a program to run after the current program completes. The source and signal parameters of a program run as an "after" are ignored. Multiple "after" statements can be specified per program. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
<tr>
<td>&#160;</td><td><p class="starttd"></p>
<table  class="edcref" border="0">
<tr>
<td class="property"><code> api </code></td><td class="parameters"><code> [name] [description] </code></td></tr>
<tr>
<td>&#160;</td><td class="effect">Specifies a hint to let applications (or IDE's) know how to bind things. The parameter name should contain the name of the function that the application should use, and description describes how it should be used. </td></tr>
</table>
<p class="endtd"></p>
</td></tr>
</table>
</div></div>
 
 <div id="push"></div>
 </div> <!-- #content -->
  </div> <!-- .layout -->
 
 </div> <!-- #container -->
 
 
  <div id="footer">
    <table><tr>
      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
      <td class="generated">Docs generated Tue Feb 8 2011 17:28:43</td>
    </tr></table>
  </div>


</body>
</html>