| The "size_classes" block contains a list of one or more "size_class" blocks. Each "size_class" allows the designer to name an arbitrary group of size to be used in the theme, the application can use that name to alter the min and max size values at runtime.
name | [size class name] |
| Sets the name for the size class, used as reference by both the theme and the application. |
min | [width] [height] |
| The minimum size.
Defaults: 0 0
|
max | [width] [height] |
| The maximum size.
Defaults: -1 -1
|
Collections Blocks |
Collections
|
collections | collections {
base_scale: 1.2;
sounds { }
vibrations { }
group { }
group { }
..
}
|
| The "collections" block is used to list the groups that compose the theme. Additional "collections" blocks do not prevent overriding group names. The "sounds" block comprises of all sound definitions. The "vibrations" block compriese all vibration definitions.
base_scale | [scale val] |
| The base_scale is the standard scale value of the collection. The default base_scale is 1.0. It means the collection is made in the environment which is same with a desktop(The monitor has 96 dpi). If you make a collection in another environment(ex: 115 dpi), you have to set the base_scale(ex: 1.2). Then it will be shown same size in the desktop.
Defaults: 1.0 - Since
- 1.11
|
|
sounds | sounds {
tone: "tone-1" 2300;
tone: "tone-2" 2300;
sample { }
sample { }
..
}
|
| The "sounds" block contains a list of one or more sound sample and tones items.
tone | [tone name] [frequency] |
| sound of specific frequency - Since
- 1.1
|
|
sample | sounds {
..
sample {
name: "sound_file1" RAW;
source: "sound_file1.wav";
}
sample {
name: "sound_file2" LOSSY 0.5;
source: "sound_file2.wav";
}
}
|
| The sample block defines the sound sample. |
|
name | [sample name] [compression type] (quality) |
| Used to include each sound file. The full path to the directory holding the sounds can be defined later with edje_cc's "-sd" option. Valid types are:
- RAW: Uncompressed.
- COMP: Lossless compression.
- LOSSY [45.0 - 1000.0]: Lossy compression with quality from 45.0 to 1000.0.
- AS_IS: Check for re-encoding, no compression/encoding, just write the file information as it is.
- Since
- 1.1
|
source | [sound file name] |
| The Sound source file name (Source can be mono/stereo WAV file. Only files with 44.1 KHz sample rate supported now) - Since
- 1.1
|
|
vibrations | vibrations {
sample { }
sample { }
..
}
|
| The "vibrations" block contains a list of one or more vibration sample. - Since
- 1.10
|
sample | vibrations {
sample {
name: "vibration_file1";
source: "vibration_file1.xxx";
}
..
}
|
| The sample block defines the vibration sample. |
|
name | [sample name] |
| Used to include each vibration file. The full path to the directory holding the vibrations can be defined later with edje_cc's "-vd" option. - Since
- 1.10
|
source | [vibration file name] |
| The Vibration source file name - Since
- 1.10
|
|
file | translation {
..
file {
locale: "en_IN";
source: "domain_name.po";
}
file {
locale: "en_US";
source: "domain_name.po";
}
}
|
| The file block defines the po or mo file. |
|
name | [locale name] |
| Used to include each po or mo file. The full path to the directory holding the po or mo file can be defined later with edje_cc's "-md" option.
- Since
- 1.15
|
source | [po file name or Mo file name] |
| The po or mo source file name (Source should be a valid po or mo file. Only po or mo files are supported now) - Since
- 1.15
|
|
group | collections {
..
group {
name: "nameusedbytheapplication";
alias: "anothername";
min: width height;
max: width height;
script { }
limits { }
data { }
parts { }
programs { }
}
..
}
|
| A "group" block contains the list of parts and programs that compose a given Edje Object.
name | [group name] |
| 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 group with the same name exists already, it won't be compiled. Only a single name statement is valid for group, use alias instead if you want to give additional names. |
skip_namespace_validation | [1 or 0] |
| This disables namespace validation for the current group if validation has been enabled with edje_cc's -N option. This property can be inherited. Defaults: 0
- Warning
- Your edc file should always wrap this keyword with
#ifdef HAVE_SKIP_NAMESPACE_VALIDATION
- Since
- 1.21
|
inherit_only | [1 or 0] |
| This flags a group as being used only for inheriting, which will inhibit edje_cc resolving of programs and parts that may not exist in this group, but are located in the group which is inheriting this group.
Defaults: 0 - Since
- 1.10
|
use_custom_seat_names | [1 or 0] |
| This flags a group as designed to listen for multiseat signals following a custom naming instead of default Edje naming. Seats are named on Edje as "seat1", "seat2", etc, in an incremental way and never are changed.
But on Evas, names may be set on different places (Evas, Ecore Evas backends, the application itself) and name changes are allowed. So custom names come from system at first, but can be overriden with evas_device_name_set(). Also Evas seat names don't need to follow any pattern.
It's useful for cases where there is control of the system, as seat names, or when the application sets the devices names to guarantee they'll match seat names on EDC.
Defaults: 0 - Since
- 1.19
|
part_remove | [part name] (part name) (part name) ... |
| Removes the listed parts from an inherited group. Removing nonexistent parts is not allowed. - Since
- 1.10
|
program_remove | [program name] (program name) (program name) ... |
| Removes the listed programs from an inherited group. Removing nonexistent programs is not allowed. This will break program sequences if a program in the middle of the sequence is removed. - Since
- 1.10
|
target_group | [name] [part or program] (part or program) (part or program) ... |
| This creates a group of parts/programs which can then be referenced by a single 'groups' or 'target_groups' statement inside a program. The resulting program will have all of the parts/programs within the specified group added as targets. - Since
- 1.10
|
inherit | [parent group name] |
| Parent group name for inheritance. Group "inherit" is used to inherit any predefined group and change some property which belongs to "part", "description", "items" or "program". The child group has the same property as parent group. If you specify the type again in an inherited part, it will cause an error (unless you plan to fix that). - Warning
- When inheriting any parts, descriptions without state names are NOT allowed.
- Since
- 1.10
|
lua_script_only | [on/off] |
| The flag (on/off) as to if this group is defined ONLY by script callbacks such as init(), resize() and shutdown()
Defaults: off
|
script_recursion | [1/0] |
| This flag (1/0) determines whether to error on unsafe calls when recursively running Embryo programs. For example, running an Embryo script which calls EDC which has a script{} block is unsafe, and the outer-most (first) Embryo stack is GUARANTEED to be corrupted. Only use this flag if you are sure that you know what you are doing.
Defaults: 0 - Since
- 1.10
|
alias | [aditional group name] |
| Additional name to serve as identifier. Defining multiple aliases is supported. |
min | [width] [height] |
| The minimum size for the container defined by the composition of the parts. It is not enforced.
Defaults: 0 0
|
max | [width] [height] |
| The maximum size for the container defined by the totality of the parts. It is not enforced.
Defaults: 0 0
|
broadcast_signal | [on/off] |
| Signal got automatically broadcasted to all sub group part.
Defaults: true - Since
- 1.1
|
orientation | [AUTO/LTR/RTL] |
| This defines GROUP orientation. This is useful if you want match interface orientation with language.
- AUTO - Follow system defs.
- LTR - suitable for Left To Right Languages (latin)
- RTL - suitable for Right To Left Languages (Hebrew, Arabic interface)
Defaults: AUTO |
mouse_events | [1 or 0] |
| Change the default value of mouse_events for every part in this group.
Defaults: 1 (to maintain compatibility)
|
inherit_script | [1 or 0] |
| Determine whether to inherit script block from parent group. If it is set to 0, script from parent group will be replaced with new script block. Defaults to 0 if not set, to maintain compatibility. |
program_source | [source name] |
| Change the default value of source for every program in the current group which is declared after this value is set.
Defaults: an unset value (to maintain compatibility) - Since
- 1.10
|
|
script | ..
group {
script {
}
..
program {
script {
}
}
..
}
..
|
| 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.
|
data | data {
item: "key" "value";
..
}
|
| The "data" block is used to pass arbitrary parameters from the theme to the application. Unlike the toplevel data block, this block Group.Data can only store inline items (not files). See also the toplevel Data section.
|
|
item | [parameter name] [parameter value] |
| Defines a new parameter, the value will be the string specified next to it. |
|
filters |
filters {
filter {
name: "myfilter1";
script {
-- Some Lua code here, eg:
blend { color = 'red' }
}
filter {
name: "myfilter2";
file: "filename.lua";
}
}
|
| The "filter" block lets you embed filter scripts into an EDC group, that can then be referred to in the Text.Filter or Image.Filter statements.
In a similar way to the toplevel Data section, it is possible to embed filters from a external file inside the final EDJ.
Note that filters are defined globally, even if they appear inside a specific group (as of EFL 1.19).
Please also refer to Evas filters reference.
|
|
name | [name] |
| Creates a new named filter. This filter can then be used in image, text or textblock parts by name. |
|
|
script | [Lua script] |
| A block of Lua code contained inside {}. Example: script { blur{5} } |
|
|
file | [Path to Lua file] |
| Includes an external file to define a new Lua script used for filtering. The file must be in the data path passed to edje_cc (-dd argument). |
|
limits | group {
limits {
vertical: "limit_name" height_barrier;
horizontal: "limit_name" width_barrier;
..
}
..
}
..
|
| This block is used to trigger some signal when the Edje object is resized.
vertical | [name] [height barrier] |
| It will send a signal: "limit,name,over" when the object is resized and pass the limit by growing over it. And it will send: "limit,name,below" when it pass below that limit. This limit will be applied on the y absis and is expressed in pixels. |
horizontal | [name] [width barrier] |
| It will send a signal: "limit,name,over" when the object is resized and pass the limit by growing over it. And it will send: "limit,name,below" when it pass below that limit. This limit will be applied on the x axis and is expressed in pixels. |
|
parts | group {
parts {
alias: "theme_part_path" "somegroup:real_part_path";
part { "theme_part_path"; }
part { }
..
}
}
|
| The parts block is the container for all the parts in the group.
|
|
alias | [alias name] [other_group:part name] |
| Allows for a part to be referenced externally as though it had the name of the alias. In the above example, swallowing an object into part "theme_part_path" will result in the object actually being swallowed into the part "real_part_path" in the "somegroup" group. |
|
part | group {
parts {
..
part {
name: "partname";
type: IMAGE;
mouse_events: 1;
repeat_events: 0;
ignore_flags: NONE;
mask_flags: NONE;
clip_to: "anotherpart";
source: "groupname";
pointer_mode: AUTOGRAB;
use_alternate_font_metrics: 0;
no_render: 0;
dragable { }
items { }
description { }
}
..
}
}
|
| 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.
inherit | [part name] |
| Copies all attributes except part name from referenced part into current part. ALL existing attributes, except part name, are overwritten. - Warning
- When inheriting any parts, descriptions without state names are NOT allowed.
- Since
- 1.10
|
name | [part name] |
| 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. |
type | [TYPE] |
| Set the type (all caps) from among the available types, it's set to IMAGE by default. Valid types:
- RECT
- TEXT
- IMAGE
- SWALLOW
- TEXTBLOCK
- GROUP
- BOX
- TABLE
- EXTERNAL
- PROXY
- SPACER
- SNAPSHOT
Defaults: IMAGE |
physics_body | [TYPE] |
| Set the type (all caps) from among the available types of physics body, it's set to NONE by default. If type is NONE no physics will be applied and physics block inside part will be discarded. Valid types:
- NONE
- RIGID_BOX
- RIGID_SPHERE
- RIGID_CYLINDER
- SOFT_BOX
- SOFT_SPHERE
- SOFT_CYLINDER
- CLOTH
- BOUNDARY_TOP
- BOUNDARY_BOTTOM
- BOUNDARY_RIGHT
- BOUNDARY_LEFT
- BOUNDARY_FRONT
- BOUNDARY_BACK
Defaults: NONE - Since
- 1.8
|
part | [part declaration] |
| group {
parts {
part {
name: "parent_rect";
type: RECT;
description { }
part {
name: "nested_rect";
type: RECT;
description { }
}
}
..
}
}
Nested parts adds hierarchy to edje. Nested part inherits it's location relatively to the parent part. To declare a nested part just start a new part within current part decl. You must define parent part name before adding nested parts. - Since
- 1.7
|
insert_before | [another part's name] |
| The part's name which this part is inserted before. One part cannot have both insert_before and insert_after. One part cannot refer more than one by insert_before. - Since
- 1.1
|
insert_after | [another part's name] |
| The part's name which this part is inserted after. One part cannot have both insert_before and insert_after. One part cannot refer more than one by insert_after. - Since
- 1.1
|
mouse_events | [1 or 0] |
| Specifies whether the part will emit signals, although it is named "mouse_events", disabling it (0) will prevent the part from emitting any type of signal at all.
Defaults: group.mouse_events
|
anti_alias | [1 or 0] |
| Takes a boolean value specifying whether part is anti_alias (1) or not (0).
Defaults: 1
|
repeat_events | [1 or 0] |
| Specifies whether a part echoes a mouse event to other parts below the pointer (1), or not (0)
Defaults: 0
|
ignore_flags | [FLAG] ... |
| 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:
- NONE (no event will be ignored)
- ON_HOLD
Defaults: NONE |
mask_flags | [FLAG] ... |
| Masks event flags with the given value, so that the event can be repeated to the lower object along with masked event flags. Possible flags:
- NONE (no event will be masked)
- ON_HOLD
Defaults: NONE |
scale | [1 or 0] |
| 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. For MESH_NODE parts three parameters specify how much the part will stretched along each axis.
Defaults: 0
|
pointer_mode | [MODE] |
| Sets the mouse pointer behavior for a given part. Aviable modes:
- 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.
- NOGRAB, the effect will be limited to the part's container.
Defaults: AUTOGRAB |
precise_is_inside | [1 or 0] |
| Enables precise point collision detection for the part, which is more resource intensive.
Defaults: 0
|
use_alternate_font_metrics | [1 or 0] |
| 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 exactly useful for?)
Defaults: 0
|
clip_to | [another part's name] |
| Only renders the area of part that coincides with another part's container. Overflowing content will not be displayed. Note that the part being clipped to can only be a rectangle part. |
no_render | [1 or 0] |
| Setting the no_render flag on an object will make it never render directly on the canvas, regardless of the visible and color properties. But the object will still be rendered in a dedicated surface when required if it is a proxy source or a mask (clipper). Strongly recommended for use with mask objects and proxy sources (instead of setting "source_visible" on the proxy itself).
Defaults: 0
|
required | [1 or 0] |
| If the required flag is set, this part will be considered stable and it is safe to use by any application."
Defaults: 0
@since 1.18
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source
</tt></td><td class="parameters"><tt>
[another group's name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source2
</tt></td><td class="parameters"><tt>
[another group's name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source3
</tt></td><td class="parameters"><tt>
[another group's name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source4
</tt></td><td class="parameters"><tt>
[another group's name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source5
</tt></td><td class="parameters"><tt>
[another group's name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source6
</tt></td><td class="parameters"><tt>
[another group's name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
effect
</tt></td><td class="parameters"><tt>
[effect]
(shadow direction)
</tt></td></tr><tr><td> </td><td class="effect">
Causes Edje to draw the selected effect among:
@li PLAIN
@li OUTLINE
@li SOFT_OUTLINE
@li SHADOW
@li SOFT_SHADOW
@li OUTLINE_SHADOW
@li OUTLINE_SOFT_SHADOW
@li FAR_SHADOW
@li FAR_SOFT_SHADOW
@li GLOW
Shadow directions (default if not given is BOTTOM_RIGHT):
@li BOTTOM_RIGHT
@li BOTTOM
@li BOTTOM_LEFT
@li LEFT
@li TOP_LEFT
@li TOP
@li TOP_RIGHT
@li RIGHT
Defaults: PLAIN
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
entry_mode
</tt></td><td class="parameters"><tt>
[mode]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the edit mode for a textblock part to one of:
@li NONE
@li PLAIN
@li EDITABLE
@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.
Defaults: NONE
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
select_mode
</tt></td><td class="parameters"><tt>
[mode]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the selection mode for a textblock part to one of:
@li DEFAULT selection mode is what you would expect on any desktop. Press
mouse, drag and release to end.
@li EXPLICIT mode requires the application
controlling the edje object has to explicitly begin and end selection
modes, and the selection itself is draggable at both ends.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
cursor_mode
</tt></td><td class="parameters"><tt>
[mode]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the cursor mode for a textblock part to one of:
@li UNDER cursor mode means the cursor will draw below the character pointed at.
@li BEFORE cursor mode means the cursor is drawn as a vertical line before
the current character, just like many other GUI toolkits handle it.
Defaults: UNDER
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
multiline
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </td><td class="effect">
It causes a textblock that is editable to allow multiple lines for
editing.
Defaults: 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
access
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </td><td class="effect">
Specifies whether the part will use accessibility feature (1), or not (0).
Defaults: 0
</td></tr></table></td></tr>
<tr><td class="block"><b>
dragable
</b></td><td class="context" colspan=2>@code
part {
..
dragable {
confine: "another part";
threshold: "another part";
events: "another dragable part";
x: 0 0 0;
y: 0 0 0;
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
When this block is used the resulting part can be dragged around the
interface, do not confuse with external drag & 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.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
x
</tt></td><td class="parameters"><tt>
[enable/disable] [step] [count]
</tt></td></tr><tr><td> </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.
If step is set to 0 it is calculated as width of confine part divided by
count.
Defaults: 0 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
y
</tt></td><td class="parameters"><tt>
[enable/disable] [step] [count]
</tt></td></tr><tr><td> </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
divisible by it, causing the part to jump from position to position.
If step is set to 0 it is calculated as height of confine part divided by
count.
Defaults: 0 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
confine
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
threshold
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </td><td class="effect">
When set, the movement of the dragged part can only start when it get
moved enough to be outside of the threshold part.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
events
</tt></td><td class="parameters"><tt>
[another dragable part's name]
</tt></td></tr><tr><td> </td><td class="effect">
It causes the part to forward the drag events to another part, thus
ignoring them for itself.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
allowed_seats
</tt></td><td class="parameters"><tt>
[seat1] [seat2] [seat3] ...
</tt></td></tr><tr><td> </td><td class="effect">
List of seat names allowed to interact with the part.
If no list is defined all seats are allowed. It's the
default behaviour.
If a seat isn't allowed, no signals will be emitted
related to its actions, as mouse and focus events.
Also it won't be able to focus this part.
@since 1.19
</td></tr></table></td></tr>
<tr><td class="block"><b>
items
</b></td><td class="context" colspan=2>@code
part {
..
box/table {
items {
item {
type: TYPE;
source: "some source";
min: 1 1;
max: 100 100;
padding: 1 1 2 2;
}
item {
type: TYPE;
source: "some other source";
name: "some name";
align: 1.0 0.5;
}
..
}
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
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.
</td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
type
</tt></td><td class="parameters"><tt>
[item type]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the type of the object this item will hold.
Supported types are:
@li GROUP
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
name
</tt></td><td class="parameters"><tt>
[name for the object]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the name of the object via evas_object_name_set().
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source
</tt></td><td class="parameters"><tt>
[another group's name]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the group this object will be made from.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
min
</tt></td><td class="parameters"><tt>
[width] [height]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the minimum size hints for this object.
Defaults: 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
spread
</tt></td><td class="parameters"><tt>
[width] [height]
</tt></td></tr><tr><td> </td><td class="effect">
Will replicate the item in a rectangle of size width x height
box starting from the defined position of this item.
Defaults: 1 1
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
prefer
</tt></td><td class="parameters"><tt>
[width] [height]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the preferred size hints for this object.
Defaults: 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
max
</tt></td><td class="parameters"><tt>
[width] [height]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the maximum size hints for this object.
Defaults: -1 -1
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
padding
</tt></td><td class="parameters"><tt>
[left] [right] [top] [bottom]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the padding hints for this object.
Defaults: 0 0 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
align
</tt></td><td class="parameters"><tt>
[x] [y]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the alignment [-1.0 - 1.0] hints for this object.
Defaults: 0.5
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
weight
</tt></td><td class="parameters"><tt>
[x] [y]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the weight hints for this object.
Defaults: 0.0 0.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
aspect
</tt></td><td class="parameters"><tt>
[w] [h]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the aspect width and height hints for this object.
Defaults: 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
aspect_mode
</tt></td><td class="parameters"><tt>
[mode]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the aspect control hints for this object. Mode can be one of:
@li NONE
@li NEITHER
@li HORIZONTAL
@li VERTICAL
@li BOTH
Defaults: NONE
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
options
</tt></td><td class="parameters"><tt>
[extra options]
</tt></td></tr><tr><td> </td><td class="effect">
Sets extra options for the object. Unused for now.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
position
</tt></td><td class="parameters"><tt>
[col] [row]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
span
</tt></td><td class="parameters"><tt>
[col] [row]
</tt></td></tr><tr><td> </td><td class="effect">
Sets how many columns/rows this item will use.
Defaults: 1 1
</td></tr></table></td></tr>
<tr><td class="block"><b>
description
</b></td><td class="context" colspan=2>@code
description {
inherit: "another_description" INDEX;
state: "description_name" INDEX;
visible: 1;
min: 0 0;
max: -1 -1;
align: 0.5 0.5;
fixed: 0 0;
step: 0 0;
aspect: 1 1;
clip_to: "clip_override_part_name";
no_render: 0;
offset_scale: 0;
rel1 {
..
}
rel2 {
..
}
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
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".
</td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
inherit
</tt></td><td class="parameters"><tt>
[another description's name] [another description's index]
</tt></td></tr><tr><td> </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.
@since 1.14 omitting both the description name and index will inherit the default 0.0 description.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </td><td class="effect">
Causes the part to use another part content as the content of this part.
Only work with PROXY part.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
state
</tt></td><td class="parameters"><tt>
[name for the description] [index]
</tt></td></tr><tr><td> </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.
First description in part must always be "default" 0.0.
@warning state name "custom" is reserved and can't be used in edc.
Defaults: "default" 0.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
visible
</tt></td><td class="parameters"><tt>
[0 or 1]
</tt></td></tr><tr><td> </td><td class="effect">
Takes a boolean value specifying whether part is visible (1) or not
(0). Non-visible parts do not emit signals.
Defaults: 1
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
no_render
</tt></td><td class="parameters"><tt>
[0 or 1]
</tt></td></tr><tr><td> </td><td class="effect">
Same as setting no_render in part, but can be changed in different states.
Defaults: 0
@since 1.19
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
limit
</tt></td><td class="parameters"><tt>
[mode]
</tt></td></tr><tr><td> </td><td class="effect">
Emit a signal when the part size change from zero or to a zero size
('limit,width,over', 'limit,width,zero'). By default no signal are
emitted. Valid values are:
@li NONE
@li WIDTH
@li HEIGHT
@li BOTH
Defaults: NONE
@since 1.7
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
align
</tt></td><td class="parameters"><tt>
[X axis] [Y axis]
</tt></td></tr><tr><td> </td><td class="effect">
When the displayed object's size is smaller (or bigger) than
its container, this property moves it relatively along both
axis inside its container. @c "0.0" means left/top edges of
the object touching container's respective ones, while @c
"1.0" stands for right/bottom edges of the object (on
horizontal/vertical axis, respectively).
Defaults: 0.5 0.5
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
fixed
</tt></td><td class="parameters"><tt>
[width, 0 or 1] [height, 0 or 1]
</tt></td></tr><tr><td> </td><td class="effect">
This affects the minimum size calculation. See
edje_object_size_min_calc() and edje_object_size_min_restricted_calc().
This tells the min size calculation routine that this part does not
change group 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 group.
Defaults: 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
min
</tt></td><td class="parameters"><tt>
[width] [height] or SOURCE
</tt></td></tr><tr><td> </td><td class="effect">
The minimum size of the state.
When min is defined to SOURCE, it will look at the original
image size and enforce it minimal size to match at least the
original one. The part must be an IMAGE or a GROUP part.
Defaults: 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
minmul
</tt></td><td class="parameters"><tt>
[width multiplier] [height multiplier]
</tt></td></tr><tr><td> </td><td class="effect">
A multiplier FORCIBLY applied to whatever minimum size is only during
minimum size calculation.
Defaults: 1.0 1.0
@since 1.2
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
max
</tt></td><td class="parameters"><tt>
[width] [height] or SOURCE
</tt></td></tr><tr><td> </td><td class="effect">
The maximum size of the state. A size of -1 means that it will be ignored in one direction.
When max is set to SOURCE, edje will enforce the part to be
not more than the original image size. The part must be an
IMAGE part.
Defaults: -1 -1
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
size_class
</tt></td><td class="parameters"><tt>
[size class name]
</tt></td></tr><tr><td> </td><td class="effect">
The part will have the min and max size defined in the size class.
"min" and "max" property in description can be overridden by the size class
at runtime.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
step
</tt></td><td class="parameters"><tt>
[width] [height]
</tt></td></tr><tr><td> </td><td class="effect">
Restricts resizing of each dimension to values divisible by its value.
This causes the part to jump from value to value while resizing. The
default value is "0 0" disabling stepping.
Defaults: 0.0 0.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
aspect
</tt></td><td class="parameters"><tt>
[min] [max]
</tt></td></tr><tr><td> </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 height. The default value is
"0.0 0.0" disabling aspect.
Defaults: 0.0 0.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
aspect_preference
</tt></td><td class="parameters"><tt>
[DIMENSION]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the scope of the "aspect" property to a given dimension. Available
options are BOTH, VERTICAL, HORIZONTAL, SOURCE and NONE
Defaults: NONE
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
color_class
</tt></td><td class="parameters"><tt>
[color class name]
</tt></td></tr><tr><td> </td><td class="effect">
The part will use the color values of the named color_class, these
values can be modified by the "color", "color2" and "color3"
properties set below.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
color
</tt></td><td class="parameters"><tt>
[red] [green] [blue] [alpha] or "#[RR][GG][BB](AA)" or "#[R][G][B](A)"
</tt></td></tr><tr><td> </td><td class="effect">
Sets the main color.
Format:
@li [red] [green] [blue] [alpha]: one integer [0-255] for each
RGBA channel, i.e. 255 0 0 255
@li "#[RR][GG][BB](AA)": string with two hex values per RGBA channel,
i.e "#FF0000FF" or "#FF0000"
@li "#[R][G][B](A)": string with one hex value per RGBA channel,
i.e "#F00F" or "#F00".\n
In string format you can omit alpha channel and it will be set to FF.
If color_class is set resulting color channel values will be (color * color_class / 255)
Defaults: 255 255 255 255
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
color2
</tt></td><td class="parameters"><tt>
[red] [green] [blue] [alpha] or "#[RR][GG][BB](AA)" or "#[R][G][B](A)"
</tt></td></tr><tr><td> </td><td class="effect">
Sets the text outline color.
Format:
@li [red] [green] [blue] [alpha]: one integer [0-255] for each
RGBA channel, i.e. 255 0 0 255
@li "#[RR][GG][BB](AA)": string with two hex values per RGBA channel,
i.e "#FF0000FF" or "#FF0000"
@li "#[R][G][B](A)": string with one hex value per RGBA channel,
i.e "#F00F" or "#F00".\n
In string format you can omit alpha channel and it will be set to FF.
If color_class is set resulting color channel values will be (color * color_class / 255)
Defaults: 0 0 0 255
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
color3
</tt></td><td class="parameters"><tt>
[red] [green] [blue] [alpha] or "#[RR][GG][BB](AA)" or "#[R][G][B](A)"
</tt></td></tr><tr><td> </td><td class="effect">
Sets the text shadow color.
Format:
@li [red] [green] [blue] [alpha]: one integer [0-255] for each
RGBA channel, i.e. 255 0 0 255
@li "#[RR][GG][BB](AA)": string with two hex values per RGBA channel,
i.e "#FF0000FF" or "#FF0000"
@li "#[R][G][B](A)": string with one hex value per RGBA channel,
i.e "#F00F" or "#F00".\n
In string format you can omit alpha channel and it will be set to FF.
If color_class is set resulting color channel values will be (color * color_class / 255)
Defaults: 0 0 0 128
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
clip_to
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </td><td class="effect">
Overrides the 'clip_to' property of this part. This allows switching
clippers (or masks) at runtime by changing this part's state. When
transitioning between two states, the switch of the clipper shall
happen at the end of the animation, when the new state is finally set
(this is similar to the 'visible' flag).
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
offset_scale
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </td><td class="effect">
Makes rel1/2 offset values scale by scale factor like min/max if set
to 1, otherwise 0 means they will not scale. Note that the part
as a whole has to be set to scale too like:
@verbatim
part { name: "partname"; scale: 1;
...
@endverbatim
Defaults: 0
</td></tr></table></td></tr>
<tr><td class="block"><b>
rel1/rel2/rel
</b></td><td class="context" colspan=2>@code
description {
..
rel1 {
relative: 0.0 0.0;
offset: 0 0;
}
..
rel2 {
relative: 1.0 1.0;
offset: -1 -1;
}
..
rel {
to: "somepart";
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
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; rel (no number) is equivalent to setting both
rel1 AND rel2 since 1.14.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
relative
</tt></td><td class="parameters"><tt>
[X axis] [Y axis]
</tt></td></tr><tr><td> </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.
Defaults:
@li rel1.relative: 0.0 0.0
@li rel2.relative: 1.0 1.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
offset
</tt></td><td class="parameters"><tt>
[X axis] [Y axis]
</tt></td></tr><tr><td> </td><td class="effect">
Affects the corner position a fixed number of pixels along each axis.
Defaults:
@li rel1.offset: 0 0
@li rel2.offset: -1 -1
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
to
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </td><td class="effect">
Causes a corner to be positioned relatively to another part's
container. Setting to "" will unset this value for inherited
parts.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
to_x
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </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".
Setting to "" will unset this value for inherited parts.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
to_y
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </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". Setting to "" will unset this value for inherited parts.
</td></tr></table></td></tr>
<tr><td class="block"><b>
anchors
</b></td><td class="context" colspan=2>@code
// This part will be expanded from the top-left corner of edje group
part { name : "part1";
description { state: "default" 0.0;
anchors {
top: GROUP TOP;
left: GROUP; // This means 'left: GROUP LEFT;'
}
min: 50 50;
}
}
// This part will be expanded from the bottom-right corner of "part1"
// to the bottom-right
part { name: "part2";
description { state: "default" 0.0;
anchors {
top: "part1" BOTTOM;
left: "part1"; // This means 'left: "part1" RIGHT;'
}
min: 50 50;
}
}
// This part will be expanded from the right edje of "part2" to the right
part { name: "part3";
description { state: "default" 0.0;
anchors {
left: "part2";
fill: "part2" VERTICAL;
}
min: 100 0; // The height will be determined by the height of "part2"
}
}
// This part will be expanded from the center of right edge of "part3"
// to the bottom-right corner of edje group
part { name: "part4";
description { state: "default" 0.0;
anchors {
top: "part3" VERTICAL_CENTER;
left: "part3";
right: GROUP;
bottom: GROUP;
}
}
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
The anchors blocks are used to define the position of each edge of
the part's container. Anchors will change relative, align and fixed
attributes internally, so setting both of them is not allowed.
When the second parameter of position enumeration is omitted, anchoring
a part to the other part will put the part adjacent to the given part.
However, if the part is anchored to edje group, the part will be contained
inside the group.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
anchors
</tt></td><td class="parameters"><tt>
[partname] [the edge of other part]
</tt></td></tr><tr><td> </td><td class="effect">
Moves an edge of the part to the position of the edge of given part or
whole edje group. (GROUP means edje group that the part belong to)
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
top
</tt></td><td class="parameters"><tt>
[partname] [TOP/BOTTOM/VERTICAL_CENTER]
</tt></td></tr><tr><td> </td><td class="effect">
Causes top edge to be positioned to the edge of another part's container.
Setting to GROUP will indicate edje group instead of another part.
If bottom anchor is not set, edje part will be expanded to the bottom.
The second parameter of position enumeration can be omitted. (Default
value is BOTTOM, but TOP when the part is anchored to edje group)
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
bottom
</tt></td><td class="parameters"><tt>
[partname] [TOP/BOTTOM/VERTICAL_CENTER]
</tt></td></tr><tr><td> </td><td class="effect">
Causes bottom edge to be positioned to the edge of another part's container.
Setting to GROUP will indicate edje group instead of another part.
If top anchor is not set, edje part will be expanded to the top.
The second parameter of position enumeration can be omitted. (Default
value is TOP, but BOTTOM when the part is anchored to edje group)
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
left
</tt></td><td class="parameters"><tt>
[partname] [LEFT/RIGHT/HORIZONTAL_CENTER]
</tt></td></tr><tr><td> </td><td class="effect">
Causes left edge to be positioned to the edge of another part's container.
Setting to GROUP will indicate edje group instead of another part.
If right anchor is not set, edje part will be expanded to the right.
The second parameter of position enumeration can be omitted. (Default
value is RIGHT, but LEFT when the part is anchored to edje group)
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
right
</tt></td><td class="parameters"><tt>
[partname] [LEFT/RIGHT/HORIZONTAL_CENTER]
</tt></td></tr><tr><td> </td><td class="effect">
Causes right edge to be positioned to the edge of another part's container.
Setting to GROUP will indicate edje group instead of another part.
If left anchor is not set, edje part will be expanded to the left.
The second parameter of position enumeration can be omitted. (Default
value is LEFT, but RIGHT when the part is anchored to edje group)
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
vertical_center
</tt></td><td class="parameters"><tt>
[partname] [TOP/BOTTOM/VERTICAL_CENTER]
</tt></td></tr><tr><td> </td><td class="effect">
Causes (virtual) vertical center line to be positioned to the edge of
another part's container. Setting to GROUP will indicate edje group instead
of another part.
This part will be expanded vertically in both directions, so do not
set top or bottom anchor with vertical_center anchor.
The second parameter of position enumeration can be omitted. (Default
value is VERTICAL_CENTER)
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
horizontal_center
</tt></td><td class="parameters"><tt>
[partname] [LEFT/RIGHT/HORIZONTAL_CENTER]
</tt></td></tr><tr><td> </td><td class="effect">
Causes (virtual) horizontal center line to be positioned to the edge of
another part's container. Setting to GROUP will indicate edje group instead
of another part.
This part will be expanded horizontally in both directions, so do not
set left or right anchor with vertical_center anchor.
The second parameter of position enumeration can be omitted. (Default
value is HORIZONTAL_CENTER)
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
fill
</tt></td><td class="parameters"><tt>
[partname] [BOTH/HORIZONTAL/VERTICAL]
</tt></td></tr><tr><td> </td><td class="effect">
Causes the part's container to expand to the width or height of another
part's container. Setting to GROUP will indicate edje group instead of another part.
Setting horizontal fill has same effect to setting top and bottom anchors
to the same part.
(setting vertical fill means left and right anchors to the same part)
The second parameter of direction enumeration can be omitted. (Default
value is BOTH)
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
margin
</tt></td><td class="parameters"><tt>
[left] [right] [top] [bottom]
</tt></td></tr><tr><td> </td><td class="effect">
Affects the edge position a fixed number of pixels along each direction.
Margins will scale its size with an edje scaling factor.
</td></tr></table></td></tr>
<tr><td class="block"><b>
image
</b></td><td class="context" colspan=2>@code
description {
..
image {
normal: "filename.ext";
normal: "filename.svg";
tween: "filename2.ext";
..
tween: "filenameN.ext";
border: left right top bottom;
middle: 0/1/NONE/DEFAULT/SOLID;
fill { }
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
normal
</tt></td><td class="parameters"><tt>
[image's filename]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
tween
</tt></td><td class="parameters"><tt>
[image's filename]
</tt></td></tr><tr><td> </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, during the transition to the state they are
declared in; the "normal" image is the final state.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
border
</tt></td><td class="parameters"><tt>
[left] [right] [top] [bottom]
</tt></td></tr><tr><td> </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 -> inwards, preventing
the corners from being changed on a resize.
Defaults: 0 0 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
middle
</tt></td><td class="parameters"><tt>
[mode]
</tt></td></tr><tr><td> </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.
Valid values are:
@li 0 or NONE
@li 1 or DEFAULT
@li SOLID
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
border_scale_by
</tt></td><td class="parameters"><tt>
[value]
</tt></td></tr><tr><td> </td><td class="effect">
If border scaling is enabled then normally the OUTPUT border sizes
(e.g. if 3 pixels on the left edge are set as a border, then normally
at scale 1.0, those 3 columns will always be the exact 3 columns of
output, or at scale 2.0 they will be 6 columns, or 0.33 they will merge
into a single column). This property multiplies the input scale
factor by this multiplier, allowing the creation of "supersampled"
borders to make much higher resolution outputs possible by always using
the highest resolution artwork and then runtime scaling it down.
value can be: 0.0 or bigger (0.0 or 1.0 to turn it off)
Defaults: 0.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
border_scale
</tt></td><td class="parameters"><tt>
[0/1]
</tt></td></tr><tr><td> </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
Defaults: 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
scale_hint
</tt></td><td class="parameters"><tt>
[mode]
</tt></td></tr><tr><td> </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.
Valid values are:
@li 0 or NONE
@li DYNAMIC
@li STATIC
Defaults: NONE
</td></tr></table></td></tr>
<tr><td class="block"><b>
fill
</b></td><td class="context" colspan=2>@code
part { type: [IMAGE or PROXY];
description {
..
fill {
type: SCALE;
smooth: 0-1;
origin { }
size { }
}
..
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
The fill method is an optional block that defines the way an IMAGE or
PROXY part is going to be displayed inside its container.
It can be used for tiling (repeating the image) or displaying only
part of an image. See evas_object_image_fill_set() documentation
for more details.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
smooth
</tt></td><td class="parameters"><tt>
[0 or 1]
</tt></td></tr><tr><td> </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).
Defaults: 1
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
type
</tt></td><td class="parameters"><tt>
[fill type]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the image fill type. SCALE - image will be scaled accordingly params
value 'relative' and 'offset' from 'origin' and 'size' blocks.
TILE - image will be tiled accordingly params value 'relative' and
'offset' from 'origin' and 'size' blocks. Important: the part parameter
'min' must be setted, it's size of tiled image. If parameter 'max' setted
tiled area will has the size accordingly 'max' values.
Valid values are:
@li SCALE
@li TILE
Defaults: SCALE
</td></tr></table></td></tr>
<tr><td class="block"><b>
origin
</b></td><td class="context" colspan=2>@code
image {
..
fill {
..
origin {
relative: 0.0 0.0;
offset: 0 0;
}
..
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
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.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
relative
</tt></td><td class="parameters"><tt>
[X axis] [Y axis]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the starting point relatively to displayed element's content.
Defaults: 0.0 0.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
offset
</tt></td><td class="parameters"><tt>
[X axis] [Y axis]
</tt></td></tr><tr><td> </td><td class="effect">
Affects the starting point a fixed number of pixels along each axis.
Defaults: 0 0
</td></tr></table></td></tr>
<tr><td class="block"><b>
size
</b></td><td class="context" colspan=2>@code
image {
..
fill {
..
size {
relative: 1.0 1.0;
offset: -1 -1;
}
..
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
The size block defines the tile size of the content that will be
displayed.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
relative
</tt></td><td class="parameters"><tt>
[width] [height]
</tt></td></tr><tr><td> </td><td class="effect">
Takes a pair of decimal values that represent the 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.
Defaults: 1.0 1.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
offset
</tt></td><td class="parameters"><tt>
[X axis] [Y axis]
</tt></td></tr><tr><td> </td><td class="effect">
Affects the size of the tile a fixed number of pixels along each axis.
Defaults: 0 0
</td></tr></table></td></tr>
<tr><td class="block"><b>
text
</b></td><td class="context" colspan=2>@code
part {
description {
..
text {
text: "some string of text to display";
domain: "domain_name";
font: "font_name";
size: SIZE;
text_class: "class_name";
fit: horizontal vertical;
min: horizontal vertical;
max: horizontal vertical;
align: X-axis Y-axis;
source: "part_name";
text_source: "text_part_name";
ellipsis: -1.0 (since 1.8), 0.0-1.0;
style: "stylename";
}
..
}
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
text
</tt></td><td class="parameters"><tt>
[a string of text, or nothing]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the default content of a text part, normally the application is
the one changing its value.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
domain
</tt></td><td class="parameters"><tt>
[domain name]
</tt></td></tr><tr><td> </td><td class="effect">
This is the domain name of the .mo file which has to be checked
for translation.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
text_class
</tt></td><td class="parameters"><tt>
[text class name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
font
</tt></td><td class="parameters"><tt>
[font alias]
</tt></td></tr><tr><td> </td><td class="effect">
This sets the font family to one of the aliases set up in the "fonts"
block. Can be overridden by the application.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
style
</tt></td><td class="parameters"><tt>
[the style name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
repch
</tt></td><td class="parameters"><tt>
[the replacement character string]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
size
</tt></td><td class="parameters"><tt>
[font size in points (pt) 0 - 255]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the default font size for the text part. Can be overridden by the
application.
Defaults: 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
size_range
</tt></td><td class="parameters"><tt>
[font min size in points (pt) 0 - 255] [font max size in points (pt) 0 - 255]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the allowed font size for the text part. Setting min and max to 0
means we won't restrict the sizing.
Defaults: 0 0
@since 1.1
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
fit
</tt></td><td class="parameters"><tt>
[horizontal] [vertical]
</tt></td></tr><tr><td> </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.
Defaults: 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
fit_step
</tt></td><td class="parameters"><tt>
[font step size in points (pt)]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the font step size for the text part. when fitting text
Defaults: 1
@since 1.24.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
fit
</tt></td><td class="parameters"><tt>
[Array of font sizes in points]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the allowed font sizes array for the text part.
@since 1.24.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
min
</tt></td><td class="parameters"><tt>
[horizontal] [vertical]
</tt></td></tr><tr><td> </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.
Defaults: 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
max
</tt></td><td class="parameters"><tt>
[horizontal] [vertical]
</tt></td></tr><tr><td> </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.
Defaults: 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
align
</tt></td><td class="parameters"><tt>
[horizontal] [vertical]
</tt></td></tr><tr><td> </td><td class="effect">
Change the alignment of the text [0.0(left) - 1.0(right)].
You can set horizontal alignment to -1.0 to use bidirectional based alignment(
0.0 for LTR content or 1.0 for RTL)
Defaults: 0.5 0.5
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source
</tt></td><td class="parameters"><tt>
[another TEXT part's name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
text_source
</tt></td><td class="parameters"><tt>
[another TEXT part's name]
</tt></td></tr><tr><td> </td><td class="effect">
Causes the part to display the text content of another part and update
them as they change.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
ellipsis
</tt></td><td class="parameters"><tt>
[point of balance]
</tt></td></tr><tr><td> </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.
Setting -1.0 will disable text cutting.
Defaults: 0.0
</td></tr></table></td></tr>
<tr><td class="block"><b>
box
</b></td><td class="context" colspan=2>@code
part {
description {
..
box {
layout: "vertical";
padding: 0 2;
align: 0.5 0.5;
min: 0 0;
}
..
}
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
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.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
layout
</tt></td><td class="parameters"><tt>
[primary layout] (fallback layout)
</tt></td></tr><tr><td> </td><td class="effect">
Sets the layout for the box:
@li horizontal
@li vertical
@li horizontal_homogeneous
@li vertical_homogeneous
@li horizontal_max (homogeneous to the max sized child)
@li vertical_max
@li horizontal_flow
@li vertical_flow
@li stack
@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.
Defaults: "horizontal"
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
align
</tt></td><td class="parameters"><tt>
[horizontal] [vertical]
</tt></td></tr><tr><td> </td><td class="effect">
Change the position of the point of balance inside the box [-1.0 - 1.0].
Defaults: 0.5 0.5
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
padding
</tt></td><td class="parameters"><tt>
[horizontal] [vertical]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the space between box items in pixels.
Defaults: 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
min
</tt></td><td class="parameters"><tt>
[horizontal] [vertical]
</tt></td></tr><tr><td> </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.
Defaults: 0 0
</td></tr></table></td></tr>
<tr><td class="block"><b>
table
</b></td><td class="context" colspan=2>@code
part {
description {
..
table {
homogeneous: TABLE;
padding: 0 2;
align: 0.5 0.5;
min: 0 0;
}
..
}
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
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.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
homogeneous
</tt></td><td class="parameters"><tt>
[homogeneous mode]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the homogeneous mode for the table:
@li NONE
@li TABLE
@li ITEM
Defaults: NONE
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
align
</tt></td><td class="parameters"><tt>
[horizontal] [vertical]
</tt></td></tr><tr><td> </td><td class="effect">
Change the position of the point of balance inside the table [-1.0 - 1.0].
Defaults: 0.5 0.5
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
padding
</tt></td><td class="parameters"><tt>
[horizontal] [vertical]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the space between table cells in pixels.
Defaults: 0 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
min
</tt></td><td class="parameters"><tt>
[horizontal] [vertical]
</tt></td></tr><tr><td> </td><td class="effect">
When any of the parameters is enabled (1) it forces the minimum size of
the table to be equal to the minimum size of the items.
Defaults: 0 0
</td></tr></table></td></tr>
<tr><td class="block"><b>
proxy
</b></td><td class="context" colspan=2>@code
part { type: PROXY;
description {
..
proxy {
source_clip: 1;
source_visible: 1;
}
..
}
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
State flags used for proxy objects.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
source_clip
</tt></td><td class="parameters"><tt>
[0 or 1]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the 'source_clip' property on this PROXY object. True by default,
this means the proxy will be clipped by its source clipper. False
means the source clipper is ignored when rendering the proxy.
Defaults: 1
</td></tr></table></td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
source_visible
</tt></td><td class="parameters"><tt>
[0 or 1]
</tt></td></tr><tr><td> </td><td class="effect">
Sets the 'source_visible' property on this PROXY object. True by
default, meaning both the proxy and its source object will be visible.
If false, the source object will not be visible. False is equivalent
to setting the 'no_render' flag on the source object itself.
Defaults: 1
</td></tr></table></td></tr>
<tr><td class="block"><b>
physics
</b></td><td class="context" colspan=2>@code
description {
..
physics {
ignore_part_pos: 1;
mass: 5.31;
friction: 0.5;
restitution: 0.82;
damping: 0.4 0.24;
sleep: 32 18.9;
material: IRON;
density: 3.2;
hardness: 0.42;
light_on: 1;
z: -15;
depth: 30;
movement_freedom { }
faces { }
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
Physics block should be used to configure the body associated to the
part. The part's property physics_body needs to be set to something
different from NONE, otherwise the properties inside physics block
won't have any effect.
It's possible to set body's material, mass, restitution, friction,
allow / disallow movement in specific axes, etc.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
mass
</tt></td><td class="parameters"><tt>
[body's mass in kilograms]
</tt></td></tr><tr><td> </td><td class="effect">
Double value used to set inertial mass of the body.
It is a quantitative measure of an object's resistance to the change of
its speed. If mass is set to 0 the body will have infinite mass,
so it will be immovable, static.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
restitution
</tt></td><td class="parameters"><tt>
[body's restitution]
</tt></td></tr><tr><td> </td><td class="effect">
The coefficient of restitution is proporcion between speed after and
before a collision. It's 0 by default.
COR = relative speed after collision / relative speed before collision
@li elastically collide for COR == 1;
@li inelastically collide for 0 < COR < 1;
@li completelly stop (no bouncing at all) for COR == 0.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
friction
</tt></td><td class="parameters"><tt>
[body's friction]
</tt></td></tr><tr><td> </td><td class="effect">
Friction is used to make objects slide along each ot
The friction parameter is usually set between 0 and 1, but can be any
non-negative value. A friction value of 0 turns off friction and a value
of 1 makes the friction strong.
By default friction value is 0.5 and simulation resulsts will be better
when friction in non-zero.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
ignore_part_pos
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </td><td class="effect">
If enabled, the body won't be positioned following rel1/rel2.
It will keep its position updated only by physics calculations.
If disabled, when the state is set, the body will be moved to
the position described by the blocks rel1/rel2.
Default is 1 (enabled).
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
damping
</tt></td><td class="parameters"><tt>
[linear damping] [angular damping]
</tt></td></tr><tr><td> </td><td class="effect">
Damping(linear and angular) values are applied to body's linear and
angular velocity.
By applying a bodies damping factor the user will face a velocity
reduction, with a force applied to it - "like" air resistance.
The force is applied to slow it down.
Values should be between 0.0 and 1.0, and are set to 0 by default.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
sleep
</tt></td><td class="parameters"><tt>
[linear sleeping threshold] [angular sleeping threshold]
</tt></td></tr><tr><td> </td><td class="effect">
Sleeping threshold factors are used to determine whenever a rigid body
is supposed to increment the sleeping time. Linear threshold is
measured in Evas coordinates per second and angular threshold is
measured in degrees per second.
After every tick the sleeping time is incremented, if the body's
linear and angular speed is less than the respective thresholds
the sleeping time is incremented by the current time step (delta time).
Reaching the max sleeping time the body is marked to sleep, that means
the rigid body is to be deactivated.
By default linear threshold is 24 pixels / second and angular is
57.29 degrees / sec (1 rad/sec).
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
material
</tt></td><td class="parameters"><tt>
[body's material]
</tt></td></tr><tr><td> </td><td class="effect">
Set the type (all caps) from among the available material types,
it's set to CUSTOM by default.
Each material has specific properties to be
applied on the body, as density, friction and restitution.
So if a material different of CUSTOM is set, the properties cited above
won't be considered.
Valid types:
@li CUSTOM
@li CONCRETE
@li IRON
@li PLASTIC
@li POLYSTYRENE
@li RUBBER
@li WOOD
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
density
</tt></td><td class="parameters"><tt>
[body's material density]
</tt></td></tr><tr><td> </td><td class="effect">
It will set the body mass considering its volume. While a density is
set, resizing a body will always recalculate its mass.
When a mass is explicitely set the density will be unset.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
hardness
</tt></td><td class="parameters"><tt>
[soft body or cloth hardness]
</tt></td></tr><tr><td> </td><td class="effect">
The hardness is set with a double value (0.0 - 1.0), defining
how the soft body is supposed to deform.
Its default is set to 1.0. The soft body mass will also interfere on
soft body deformation, so bare in mind that the bodies mass must also
be changed to have different deformation results.
Valid values vary from 0.0 to 1.0. Only works on soft bodies and cloths.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
light_on
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </td><td class="effect">
Set body to be affected by world's light or not.
It won't be respected if world's property "all_bodies" is enabled.
Disabled by default (0).
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
z
</tt></td><td class="parameters"><tt>
[body position in z axis]
</tt></td></tr><tr><td> </td><td class="effect">
Defines body position in z axis. It's set to -15 by default.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
depth
</tt></td><td class="parameters"><tt>
[body's depth]
</tt></td></tr><tr><td> </td><td class="effect">
Defines body's depth (z axis). It's set to 30 by default.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
backface_cull
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </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".
@since 1.8
</td></tr></table></td></tr>
<tr><td class="block"><b>
movement_freedom
</b></td><td class="context" colspan=2>@code
physics {
...
movement_freedom {
linear: 1 1 0;
angular: 0 0 1;
}
}
..
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
The "movement_freedom" block consists of two blocks to describe all
the allowed movements for a body.
It's set by default to allow just 2D movement (linear moves on
x and y axis and rotations on x-y plane).
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
linear
</tt></td><td class="parameters"><tt>
[x-axis (1 or 0)] [y-axis (1 or 0)] [z-axis (1 or 0)]
</tt></td></tr><tr><td> </td><td class="effect">
Block "linear" can be used to allow linear movements in the three
axes. Allowed values are 0 or 1.
Axes x and y are enabled by default.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
angular
</tt></td><td class="parameters"><tt>
[x-axis (1 or 0)] [y-axis (1 or 0)] [z-axis (1 or 0)]
</tt></td></tr><tr><td> </td><td class="effect">
Block "angular" can be used to allow angular movements around the three
axes. Allowed values are 0 or 1.
Z axis is enabled by default.
@since 1.8
</td></tr></table></td></tr>
<tr><td class="block"><b>
faces
</b></td><td class="context" colspan=2>@code
physics {
...
faces {
face {
type: BOX_FRONT;
source: "groupname";
}
..
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
The "faces" block contains a list of one or more "face" blocks.
The "faces" block is used to list the faces that compose the body.
Each face is described by a "face" block, that associates a part
to a specific face of the body's shape.
Only the "faces" block declared in the "default" description
will be considered.
</td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
type
</tt></td><td class="parameters"><tt>
[FACE]
</tt></td></tr><tr><td> </td><td class="effect">
Set the face (all caps) from among the available body's shape faces.
Valid faces:
@li BOX_MIDDLE_FRONT
@li BOX_MIDDLE_BACK
@li BOX_FRONT
@li BOX_BACK
@li BOX_LEFT
@li BOX_RIGHT
@li BOX_TOP
@li BOX_BOTTOM
@li CLOTH_FRONT
@li CLOTH_BACK
@li CYLINDER_MIDDLE_FRONT
@li CYLINDER_MIDDLE_BACK
@li CYLINDER_FRONT
@li CYLINDER_BACK
@li CYLINDER_CURVED
@li SPHERE_FRONT
@li SPHERE_BACK
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source
</tt></td><td class="parameters"><tt>
[another group's name]
</tt></td></tr><tr><td> </td><td class="effect">
This sets the group that is used as the object representing the physics
body face.
</td></tr></table></td></tr>
<tr><td class="block"><b>
map
</b></td><td class="context" colspan=2>@code
description {
..
map {
perspective: "name";
light: "name";
on: 1;
smooth: 1;
perspective_on: 1;
backface_cull: 1;
alpha: 1;
rotation {
..
}
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
perspective
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
light
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </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></td></tr>
<tr><td class="block"><b>
rotation
</b></td><td class="context" colspan=2>@code
map {
..
zoom {
center: "name";
x: 1.0;
y: 1.0;
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
Zooms the part, optionally from the center on another part.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
center
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </td><td class="effect">
This sets the part that is used as the center of zoom when
zooming the part with this description. The part's center point
is used as the zoom center when applying zoom from the
x and y axes. If no center is given, the parts original center
itself is used for the zoom center.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
on
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </td><td class="effect">
This enables mapping for the part.
Defaults: 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
smooth
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </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.
Defaults: 1
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
alpha
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </td><td class="effect">
This enable alpha channel when map rendering.
Defaults: 1
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
backface_cull
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </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".
Defaults: 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
perspective_on
</tt></td><td class="parameters"><tt>
[1 or 0]
</tt></td></tr><tr><td> </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
edje_perspective_set() and edje_perspective_global_set().
Defaults: 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
color
</tt></td><td class="parameters"><tt>
[point] [red] [green] [blue] [alpha] or
[point] "#[RR][GG][BB](AA)" or "#[R][G][B](A)"
</tt></td></tr><tr><td> </td><td class="effect">
Set the color of a vertex in the map.
Colors will be linearly interpolated between vertex points through the map.
The default color of a vertex in a map is white solid (255, 255, 255, 255)
which means it will have no affect on modifying the part pixels.
Currently only four points are supported:
@li 0 - Left-Top point of a part.
@li 1 - Right-Top point of a part.
@li 2 - Left-Bottom point of a part.
@li 3 - Right-Bottom point of a part.
Color format:
@li [red] [green] [blue] [alpha]: one integer [0-255] for each
RGBA channel, i.e. 255 0 0 255
@li "#[RR][GG][BB](AA)": string with two hex values per RGBA channel,
i.e "#FF0000FF" or "#FF0000"
@li "#[R][G][B](A)": string with one hex value per RGBA channel,
i.e "#F00F" or "#F00".\n
In string format you can omit alpha channel and it will be set to FF.
Defaults: 255 255 255 255
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
zoom.x
</tt></td><td class="parameters"><tt>
[X horizontal zoom to use]
</tt></td></tr><tr><td> </td><td class="effect">
This sets the zoom rate of the horizontal
Defaults: 1.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
zoom.y
</tt></td><td class="parameters"><tt>
[Y vertical zoom to use]
</tt></td></tr><tr><td> </td><td class="effect">
This sets the zoom rate of vertical
Defaults: 1.0
</td></tr></table></td></tr>
<tr><td class="block"><b>
rotation
</b></td><td class="context" colspan=2>@code
map {
..
rotation {
center: "name";
x: 45.0;
y: 45.0;
z: 45.0;
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
Rotates the part, optionally with the center on another part.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
center
</tt></td><td class="parameters"><tt>
[another part's name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
x
</tt></td><td class="parameters"><tt>
[X degrees]
</tt></td></tr><tr><td> </td><td class="effect">
This sets the rotation around the x axis of the part considering
the center set. In degrees.
Defaults: 0.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
y
</tt></td><td class="parameters"><tt>
[Y degrees]
</tt></td></tr><tr><td> </td><td class="effect">
This sets the rotation around the y axis of the part considering
the center set. In degrees.
Defaults: 0.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
z
</tt></td><td class="parameters"><tt>
[Z degrees]
</tt></td></tr><tr><td> </td><td class="effect">
This sets the rotation around the z axis of the part considering
the center set. In degrees.
Defaults: 0.0
</td></tr></table></td></tr>
<tr><td class="block"><b>
perspective
</b></td><td class="context" colspan=2>@code
description {
..
perspective {
zplane: 0;
focal: 1000;
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
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.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
zplane
</tt></td><td class="parameters"><tt>
[unscaled Z value]
</tt></td></tr><tr><td> </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.
Defaults: 0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
focal
</tt></td><td class="parameters"><tt>
[distance]
</tt></td></tr><tr><td> </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
Defaults: 1000
</td></tr></table></td></tr>
<tr><td class="block"><b>
filter
</b></td><td class="context" colspan=2>@code
part {
type: [IMAGE or TEXT or PROXY or SNAPSHOT];
..
description {
..
filter {
code: "blend {}";
// or:
code: "filter_name";
source: "part1" "buf";
source: "part2" "otherbuf";
source: "part3";
..
data: "the_answer" "42";
data: "something" "anything";
data: "mycc" "color_class('my_color_class')";
..
}
// or:
text.filter: "blend {} -- ...";
..
}
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
Applies a series of image filters to a TEXT, IMAGE, PROXY or SNAPSHOT part.
For more information, please refer to the page
@ref evasfiltersref "Evas filters reference".
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
filter.code
</tt></td><td class="parameters"><tt>
[filter script or filter name]
</tt></td></tr><tr><td> </td><td class="effect">
The argument to this field is the source code of a Lua script as defined
@ref evasfiltersref "here" or a filter name defined in the
@ref sec_collections_group_filters "Filters" section.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
filter.source
</tt></td><td class="parameters"><tt>
[another part's name] [(optional) buffer name for filter program]
</tt></td></tr><tr><td> </td><td class="effect">
Binds another part as an image source (like a proxy source) for a
text or image filter operation. Optionally, a buffer name may be
specified, so the same filter code can be used with different sources.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
filter.data
</tt></td><td class="parameters"><tt>
[name] [content]
</tt></td></tr><tr><td> </td><td class="effect">
Pass extra data to the Lua filter program. All data passed will
be strings, except for the special case of color classes:
@code
filter.data: "mycc" "color_class('my_color_class')";
@endcode
Those will appear to Lua as a table of the following structure:
@code
-- Lua code
mycc = { r = 255, g = 0, b, a, r2, g2, b2, a2, r3, g3, b3, a3 }
@endcode
</td></tr></table></td></tr>
<tr><td class="block"><b>
params
</b></td><td class="context" colspan=2>@code
description {
..
params {
int: "name" 0;
double: "other_name" 0.0;
string: "another_name" "some text";
bool: "name" 1;
choice: "some_name" "value";
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
Set parameters for EXTERNAL parts. The value overwrites previous
definitions with the same name.
</td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
int
</tt></td><td class="parameters"><tt>
[param_name] [int_value]
</tt></td></tr><tr><td> </td><td class="effect">
Adds an integer parameter for an external object
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
double
</tt></td><td class="parameters"><tt>
[param_name] [double_value]
</tt></td></tr><tr><td> </td><td class="effect">
Adds a double parameter for an external object
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
string
</tt></td><td class="parameters"><tt>
[param_name] [string_value]
</tt></td></tr><tr><td> </td><td class="effect">
Adds a string parameter for an external object
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
bool
</tt></td><td class="parameters"><tt>
[param_name] [bool_value]
</tt></td></tr><tr><td> </td><td class="effect">
Adds an boolean parameter for an external object.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
choice
</tt></td><td class="parameters"><tt>
[param_name] [choice_string]
</tt></td></tr><tr><td> </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></td></tr>
<tr><td class="block"><b>
link
</b></td><td class="context" colspan=2>@code
description {
..
link {
base: "edje,signal" "edje";
transition: LINEAR 0.2;
in: 0.5 0.1;
after: "some_program";
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
The link block can be used to create transitions to the enclosing part description state.
The result of the above block is identical to creating a program with
action: STATE_SET "default";
signal: "edje,signal"; source: "edje";
@since 1.10
</td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
base
</tt></td><td class="parameters"><tt>
[signal] [source]
</tt></td></tr><tr><td> </td><td class="effect">
Defines the signal and source which will trigger the transition to this state.
The source parameter is optional here and will be filled with the current group's
default value if it is not provided.
@since 1.10
</td></tr></table></td></tr>
<tr><td class="block"><b>
programs
</b></td><td class="context" colspan=2>@code
group {
programs {
..
program { }
program { }
program { }
..
}
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
The programs group contain one ore more program.
</td></tr>
<tr><td class="block"><b>
program
</b></td><td class="context" colspan=2>@code
programs {
..
program {
name: "programname";
signal: "signalname";
source: "partname";
filter: "partname" "statename";
in: 0.3 0.0;
action: STATE_SET "statename" state_value;
transition: LINEAR 0.5;
target: "partname";
target: "anotherpart";
after: "programname";
after: "anotherprogram";
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
Programs define how your interface reacts to events.
Programs can change the state of parts, react to events or trigger
other events.
</td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
name
</tt></td><td class="parameters"><tt>
[program name]
</tt></td></tr><tr><td> </td><td class="effect">
Symbolic name of program as a unique identifier.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
signal
</tt></td><td class="parameters"><tt>
[signal name]
</tt></td></tr><tr><td> </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).
A list of global signal, that edje provide:
- hold,on;
- hold,off;
- mouse,in;
- mouse,out;
- mouse,pressed,in;
- mouse,pressed,out;
- mouse,down,N: where N - mouse button number;
- mouse,down,N,double: where N - mouse button number;
- mouse,down,N,triple: where N - mouse button number;
- mouse,up,N: where N - mouse button number;
- mouse,clicked,N: where N - mouse button number;
- mouse,move;
- mouse,wheel,N,M: where N - the direction (by default is 0),
M - 1 if wheel scrolled up and -1 if down;
- drag,start;
- drag;
- drag,stop;
- focus,part,in;
- focus,part,out.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
source
</tt></td><td class="parameters"><tt>
[source name]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
filter
</tt></td><td class="parameters"><tt>
[part] [state]
</tt></td></tr><tr><td> </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 [part] is not given, the source of
the event will be used instead.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
in
</tt></td><td class="parameters"><tt>
[from] [range]
</tt></td></tr><tr><td> </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.
Defaults: 0.0 0.0
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
action
</tt></td><td class="parameters"><tt>
[type] (param1) (param2) (param3) (param4)
</tt></td></tr><tr><td> </td><td class="effect">
Action to be performed by the program. Valid actions are:
@li STATE_SET "state name" (state value)
@li ACTION_STOP
@li SIGNAL_EMIT "signalname" "emitter"
@li DRAG_VAL_SET 0.5 0.0
@li DRAG_VAL_STEP 1.0 0.0
@li DRAG_VAL_PAGE 0.0 0.0
@li FOCUS_SET ("seat")
@li FOCUS_OBJECT ("seat")
@li PARAM_COPY "src_part" "src_param" "dst_part" "dst_param"
@li PARAM_SET "part" "param" "value"
@li PLAY_SAMPLE "sample name" speed (channel)
@li PLAY_TONE "tone name" duration_in_seconds( Range 0.1 to 10.0 )
@li PLAY_VIBRATION "sample name" repeat (repeat count)
@li PHYSICS_IMPULSE 10 -23.4 0
@li PHYSICS_TORQUE_IMPULSE 0 2.1 0.95
@li PHYSICS_FORCE -20.8 0 30.85
@li PHYSICS_TORQUE 0 0 4.8
@li PHYSICS_FORCES_CLEAR
@li PHYSICS_VEL_SET 40.9 0 0
@li PHYSICS_ANG_VEL_SET 12.4 0 0.66
@li PHYSICS_STOP
@li PHYSICS_ROT_SET 0.707 0 0 0.707
Only one action can be specified per program.
PLAY_SAMPLE (optional) channel can be one of:
@li EFFECT/FX
@li BACKGROUND/BG
@li MUSIC/MUS
@li FOREGROUND/FG
@li INTERFACE/UI
@li INPUT
@li ALERT
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
transition
</tt></td><td class="parameters"><tt>
[type] [length] (interp val 1) (interp val 2) (option)
</tt></td></tr><tr><td> </td><td class="effect">
Defines how transitions occur using STATE_SET action.\n
Where 'type' is the style of the transition and 'length' is a double
specifying the number of seconds in which to preform the transition.\n
Valid types are:
@li LIN or LINEAR
@li SIN or SINUSOIDAL
@li ACCEL or ACCELERATE
@li DECEL or DECELERATE
@li ACCEL_FAC or ACCELERATE_FACTOR
@li DECEL_FAC or DECELERATE_FACTOR
@li SIN_FAC or SINUSOIDAL_FACTOR
@li DIVIS or DIVISOR_INTERP
@li BOUNCE
@li SPRING
@li CUBIC_BEZIER
ACCEL_FAC, DECEL_FAC and SIN_FAC need the extra optional
"interp val 1" to determine the "factor" of curviness. 1.0 is the same
as their non-factor counterparts, where 0.0 is equal to linear.
Numbers higher than one make the curve angles steeper with a more
pronounced curve point.
DIVIS, BOUNCE and SPRING also require "interp val 2" in addition
to "interp val 1".
DIVIS uses val 1 as the initial gradient start
(0.0 is horizontal, 1.0 is diagonal (linear), 2.0 is twice the
gradient of linear etc.). val 2 is interpreted as an integer factor
defining how much the value swings "outside" the gradient only to come
back to the final resting spot at the end. 0.0 for val 2 is equivalent
to linear interpolation. Note that DIVIS can exceed 1.0
BOUNCE uses val 2 as the number of bounces (so its rounded down to
the nearest integer value), with val 1 determining how much the
bounce decays, with 0.0 giving linear decay per bounce, and higher
values giving much more decay.
SPRING is similar to bounce, where val 2 specifies the number of
spring "swings" and val 1 specifies the decay, but it can exceed 1.0
on the outer swings.
Valid options are:
@li CURRENT causes the object to move from its current position.
Can be used as the last parameter of any transition type. (since 1.1.0)
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
target
</tt></td><td class="parameters"><tt>
[target]
</tt></td></tr><tr><td> </td><td class="effect">
Program or part on which the specified action acts. Multiple target
keywords may be specified, one per target. SIGNAL_EMITs can have
targets.
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
targets
</tt></td><td class="parameters"><tt>
[target1] [target2] [target3] ...
</tt></td></tr><tr><td> </td><td class="effect">
Programs or parts upon which the specified action will act. Multiple
target or targets keywords may be specified. SIGNAL_EMITs can have
targets.
@since 1.10
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
target_groups
groups
</tt></td><td class="parameters"><tt>
[group1] [group2] [group3] ...
</tt></td></tr><tr><td> </td><td class="effect">
Groups of programs or parts upon which the specified action will act. Multiple 'groups', 'target',
and 'targets' keywords may be specified. SIGNAL_EMITs can have targets.
@since 1.10
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
after
</tt></td><td class="parameters"><tt>
[after]
</tt></td></tr><tr><td> </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></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
api
</tt></td><td class="parameters"><tt>
[name] [description]
</tt></td></tr><tr><td> </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></td></tr>
<tr><td class="block"><b>
sequence
</b></td><td class="context" colspan=2>@code
..
program {
name: "programname";
signal: "signalname";
source: "partname";
filter: "partname" "statename";
in: 0.3 0.0;
action: STATE_SET "statename" state_value;
transition: LINEAR 0.5;
targets: "partname" "anotherpart";
sequence {
action: SIGNAL_EMIT "signal" "source";
action: STATE_SET "somestate";
transition: SINUSOIDAL 0.4;
targets: "partname" "anotherpart";
signal: "also,runs"; source: "on,signals";
name: "runs_after_programname";
action: STATE_SET "someotherstate";
transition: DECELERATE 4.0;
in: 0.2 0.0;
targets: "partname" "anotherpart";
name: "runs_after_runs_after_programname";
after: "coolprogram1337";
filter: "partname" "goodstate";
}
}
..
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
Sequences allow quick, easy chaining of programs.
Each "action" keyword within the sequence will start a new program definition.
Programs defined in sequences can be used as regular programs in every way,
but they will automatically set up sequence chains which run after the originating program.
After the sequence block is closed, the original program can continue to be
modified.
Scripts are allowed within sequences: each script block will be treated as a newly
sequenced program.
@since 1.10
</td></tr>
<tr><td class="block"><b>
physics
</b></td><td class="context" colspan=2>@code
group {
..
physics {
world {
..
}
}
..
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
The "physics" block consists of blocks related to physics but
not to configure a body. By now, it only has a "world" block.
</td></tr>
<tr><td class="block"><b>
world
</b></td><td class="context" colspan=2>@code
physics {
world {
gravity: 0 294 0;
rate: 30;
z: -50;
depth: 100;
}
}
\endcode</td></tr><tr><td> </td><td class="description" colspan=2>
The "world" block configures the physics world. It's the
environment where the part's bodies will be simulated.
It can be used to customize gravity, rate, depth and others.
</td></tr>
<tr><td> </td><td><table class="edcref_prop" border="0"><tr><td class="property"><tt>
gravity
</tt></td><td class="parameters"><tt>
[x-axis] [y-axis] [z-axis]
</tt></td></tr><tr><td> </td><td class="effect">
Three double values defining the gravity vector.
Each one is the component of this same vector over each axis.
Its unit is Evas Coordinates per second ^ 2.
The default value is 0, 294, 0, since we've a default rate of
30 pixels.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
rate
</tt></td><td class="parameters"><tt>
[rate pixels / meter]
</tt></td></tr><tr><td> </td><td class="effect">
Set rate between pixels on evas canvas and meters on physics world.
It will be used by automatic updates of evas objects associated to
physics bodies.
By default rate is 30 pixels per meter.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
depth
</tt></td><td class="parameters"><tt>
[depth in pixels]
</tt></td></tr><tr><td> </td><td class="effect">
World's depth, in pixels. It's only relevant if boundaries are used,
since their size depends on this.
By default world's depth is 100 pixels.
@since 1.8
</td></tr></table></td></tr>
<table class="edcref_prop" border="0"><tr><td class="property"><tt>
z
</tt></td><td class="parameters"><tt>
[world's front border position]
</tt></td></tr><tr><td> </td><td class="effect"> Position in z axis, in pixels. It's only relevant if boundaries are used, since their position depends on this. By default world's z is -50 pixels. - Since
- 1.8
|
|
|