external_elm_anchorblock.edc

This example use an elementary anchorblock and a button to animate the text.

#define LOREM "Vestibulum nunc mi, adipiscing dapibus turpis. Integer ornare \
vestibulum. Quisque libero augue, non tristique tortor. Praesent urna augue, \
blandit id sodales vel, varius at purus. Ut congue mollis elit, quis vehicula \
enim ornare vitae. Suspendisse non faucibus massa. Nunc facilisis sapien ut \
erat laoreet vitae pharetra purus commodo. Donec in ipsum justo, sit amet \
lacinia massa. Pellentesque sed dolor lectus. Integer nec nisi ut massa \
vestibulum vulputate mollis ut lacus. Morbi lobortis dictum lacus nec \
faucibus. <item relsize=16x16 vsize=full href=emoticon/angry></item> \
<item relsize=16x16 vsize=full href=emoticon/evil></item> \
<item relsize=16x16 vsize=full href=emoticon/google-smile></item> \
<item relsize=16x16 vsize=full href=emoticon/omg></item><br><br> \
Phasellus ultricies nisl sit amet ligula tristique in adipiscing neque \
vulputate. Maecenas est ante, porttitor eget commodo non, blandit et erat. \
Duis adipiscing, tortor quis gravida vulputate, magna lorem mollis tortor, \
elementum ullamcorper dui mi ut metus. Nunc dictum nisi sed arcu mattis \
pellentesque. Aliquam erat volutpat. Nullam faucibus suscipit dui a \
condimentum. Fusce a diam tortor. Curabitur egestas gravida magna, eget \
lacinia magna fringilla in. Donec eget tincidunt ipsum. Suspendisse velit \
massa, sollicitudin in laoreet a, posuere malesuada enim. \
Duis a nulla purus.<br><br> \
Aenean nec sodales lacus. Sed ipsum felis, blandit sed aliquet ac, viverra \
vitae odio. Proin nisi nisi, commodo at cursus ut, auctor at elit. Sed tempor \
placerat orci eget venenatis. Duis ut dolor nibh, non luctus tellus. Duis \
placerat aliquet sem, et dignissim tellus rutrum at. Etiam sapien lacus, \
auctor quis interdum vel, pellentesque sit amet arcu. Proin accumsan, mauris \
non dapibus fermentum, nisl leo cursus nisi, eget auctor lacus ante a nisl. \
Suspendisse ullamcorper suscipit mi, et blandit augue aliquet non. Aenean \
vulputate ullamcorper ante, ut tincidunt orci sagittis nec. In hendrerit nunc \
eget sapien eleifend luctus. Pellentesque vulputate diam ac arcu suscipit nec \
vestibulum dolor blandit. Sed et massa vel ante tempor fermentum nec ac arcu. \
Duis turpis odio, vehicula sit amet pellentesque non, facilisis quis ligula. \
Sed ante nisl, cursus in pulvinar in, interdum vitae diam. Cras condimentum \
diam ac purus tempor suscipit eget sed metus. Nam erat nunc, eleifend vitae \
vehicula vitae, venenatis faucibus est. Nam auctor mauris metus. Nam eget \
vehicula nunc. Nulla ut nisi id sapien rhoncus vestibulum."
collections {
group { name: "main";
/* set a min window size */
min: 300 400;
/* tell edje that we are going to use elementary external parts */
externals {
external: "elm";
}
parts {
part { name: "bg";
type: RECT;
description { state: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "title";
type: TEXT;
effect: SOFT_SHADOW;
description { state: "default" 0.0;
color: 255 255 255 255;
color3: 70 70 70 70;
text {
text: "Elementary Anchorblock";
font: "Sans";
size: 16;
align: 0.5 0.0;
}
}
}
/* EXTERNAL elementary anchorblock */
part { name: "anchorblock";
type: EXTERNAL;
source: "elm/anchorblock";
description { state: "default" 0.0;
color: 200 200 0 200;
rel1.offset: 5 35;
rel2.offset: -6 -45;
align: 0.0 0.0;
map {
on: 1;
perspective_on: 1;
smooth: 1;
}
params.string: "text" LOREM;
}
description { state: "anim" 0.0;
inherit: "default" 0.0;
map.rotation.z: 100;
}
description { state: "anim" 0.1;
inherit: "default" 0.0;
map.rotation.y: 180;
}
description { state: "anim" 0.2;
inherit: "default" 0.0;
map.rotation.x: 150;
}
description { state: "anim" 0.3;
inherit: "default" 0.0;
map.rotation.z: 100;
map.rotation.y: 100;
}
}
/* EXTERNAL elementary button to trigger the animation */
part { name: "button";
type: EXTERNAL;
source: "elm/button";
description { state: "default" 0;
rel1 {
relative: 0.0 1.0;
offset: 5 -40;
}
rel2 {
offset: -6 -2;
}
params {
string: "label" "Animate";
}
}
}
}
programs {
/* button clicked, start the animation cycle */
program { name: "button_click";
signal: "clicked";
source: "button";
action: STATE_SET "anim" 0.0;
transition: LINEAR 1.0;
target: "anchorblock";
after: "anim2";
}
program { name: "anim2";
action: STATE_SET "anim" 0.1;
transition: LINEAR 1.0;
target: "anchorblock";
after: "anim3";
}
program { name: "anim3";
action: STATE_SET "anim" 0.2;
transition: LINEAR 1.0;
target: "anchorblock";
after: "anim4";
}
program { name: "anim4";
action: STATE_SET "anim" 0.3;
transition: LINEAR 1.0;
target: "anchorblock";
after: "anim5";
}
program { name: "anim5";
action: STATE_SET "default" 0.0;
transition: LINEAR 1.0;
target: "anchorblock";
}
}
}
}