support for inlining ttf's in edje's so you can ship your fonts along too! :)

SVN revision: 8624
This commit is contained in:
Carsten Haitzler 2004-01-23 02:13:42 +00:00
parent 97b96943d9
commit a9cfdc0688
9 changed files with 600 additions and 387 deletions

View File

@ -1,2 +1,2 @@
#!/bin/sh
exec edje_cc -v -id ./images src/e_logo.edc e_logo.eet
exec edje_cc -v -fd ./test/fonts -id ./images src/e_logo.edc e_logo.eet

View File

@ -1,496 +1,500 @@
fonts {
font: "Vera.ttf" "Edje.Vera";
}
images {
image, "bg.png" LOSSY 95;
image, "e.png" LOSSY 95;
image: "bg.png" LOSSY 95;
image: "e.png" LOSSY 95;
// used for anim
image, "e001.png" LOSSY 95;
image, "e002.png" LOSSY 95;
image, "e003.png" LOSSY 95;
image, "e004.png" LOSSY 95;
image, "e005.png" LOSSY 95;
image, "e006.png" LOSSY 95;
image, "e007.png" LOSSY 95;
image, "e008.png" LOSSY 95;
image, "e009.png" LOSSY 95;
image, "e010.png" LOSSY 95;
image, "e011.png" LOSSY 95;
image, "e012.png" LOSSY 95;
image, "e013.png" LOSSY 95;
image, "e014.png" LOSSY 95;
image, "e015.png" LOSSY 95;
image, "e016.png" LOSSY 95;
image, "e017.png" LOSSY 95;
image, "e018.png" LOSSY 95;
image, "e019.png" LOSSY 95;
image, "e020.png" LOSSY 95;
image, "e021.png" LOSSY 95;
image, "e022.png" LOSSY 95;
image, "e023.png" LOSSY 95;
image, "e024.png" LOSSY 95;
image, "e025.png" LOSSY 95;
image, "e026.png" LOSSY 95;
image, "e027.png" LOSSY 95;
image, "e028.png" LOSSY 95;
image, "e029.png" LOSSY 95;
image, "e030.png" LOSSY 95;
image, "e031.png" LOSSY 95;
image, "e032.png" LOSSY 95;
image, "e033.png" LOSSY 95;
image, "e034.png" LOSSY 95;
image, "e035.png" LOSSY 95;
image, "e036.png" LOSSY 95;
image, "e037.png" LOSSY 95;
image, "e038.png" LOSSY 95;
image, "e039.png" LOSSY 95;
image, "e040.png" LOSSY 95;
image, "e041.png" LOSSY 95;
image, "e042.png" LOSSY 95;
image, "e043.png" LOSSY 95;
image, "e044.png" LOSSY 95;
image, "e045.png" LOSSY 95;
image, "e046.png" LOSSY 95;
image, "e047.png" LOSSY 95;
image, "e048.png" LOSSY 95;
image, "e049.png" LOSSY 95;
image, "e050.png" LOSSY 95;
image, "e051.png" LOSSY 95;
image, "e052.png" LOSSY 95;
image, "e053.png" LOSSY 95;
image, "e054.png" LOSSY 95;
image, "e055.png" LOSSY 95;
image, "e056.png" LOSSY 95;
image, "e057.png" LOSSY 95;
image, "e058.png" LOSSY 95;
image, "e059.png" LOSSY 95;
image, "e060.png" LOSSY 95;
image, "e061.png" LOSSY 95;
image, "e062.png" LOSSY 95;
image, "e063.png" LOSSY 95;
image, "e064.png" LOSSY 95;
image, "e065.png" LOSSY 95;
image, "e066.png" LOSSY 95;
image, "e067.png" LOSSY 95;
image, "e068.png" LOSSY 95;
image, "e069.png" LOSSY 95;
image, "e070.png" LOSSY 95;
image, "e071.png" LOSSY 95;
image, "e072.png" LOSSY 95;
image, "e073.png" LOSSY 95;
image, "e074.png" LOSSY 95;
image, "e075.png" LOSSY 95;
image, "e076.png" LOSSY 95;
image, "e077.png" LOSSY 95;
image, "e078.png" LOSSY 95;
image, "e079.png" LOSSY 95;
image, "e080.png" LOSSY 95;
image, "e081.png" LOSSY 95;
image, "e082.png" LOSSY 95;
image, "e083.png" LOSSY 95;
image, "e084.png" LOSSY 95;
image, "e085.png" LOSSY 95;
image, "e086.png" LOSSY 95;
image, "e087.png" LOSSY 95;
image, "e088.png" LOSSY 95;
image, "e089.png" LOSSY 95;
image, "e090.png" LOSSY 95;
image, "e091.png" LOSSY 95;
image, "e092.png" LOSSY 95;
image, "e093.png" LOSSY 95;
image, "e094.png" LOSSY 95;
image, "e095.png" LOSSY 95;
image, "e096.png" LOSSY 95;
image, "e097.png" LOSSY 95;
image, "e098.png" LOSSY 95;
image, "e099.png" LOSSY 95;
image, "e100.png" LOSSY 95;
image, "e101.png" LOSSY 95;
image, "e102.png" LOSSY 95;
image, "e103.png" LOSSY 95;
image, "e104.png" LOSSY 95;
image, "e105.png" LOSSY 95;
image, "e106.png" LOSSY 95;
image, "e107.png" LOSSY 95;
image, "e108.png" LOSSY 95;
image, "e109.png" LOSSY 95;
image, "e110.png" LOSSY 95;
image, "e111.png" LOSSY 95;
image, "e112.png" LOSSY 95;
image, "e113.png" LOSSY 95;
image, "e114.png" LOSSY 95;
image, "e115.png" LOSSY 95;
image, "e116.png" LOSSY 95;
image, "e117.png" LOSSY 95;
image, "e118.png" LOSSY 95;
image, "e119.png" LOSSY 95;
image, "e120.png" LOSSY 95;
image: "e001.png" LOSSY 95;
image: "e002.png" LOSSY 95;
image: "e003.png" LOSSY 95;
image: "e004.png" LOSSY 95;
image: "e005.png" LOSSY 95;
image: "e006.png" LOSSY 95;
image: "e007.png" LOSSY 95;
image: "e008.png" LOSSY 95;
image: "e009.png" LOSSY 95;
image: "e010.png" LOSSY 95;
image: "e011.png" LOSSY 95;
image: "e012.png" LOSSY 95;
image: "e013.png" LOSSY 95;
image: "e014.png" LOSSY 95;
image: "e015.png" LOSSY 95;
image: "e016.png" LOSSY 95;
image: "e017.png" LOSSY 95;
image: "e018.png" LOSSY 95;
image: "e019.png" LOSSY 95;
image: "e020.png" LOSSY 95;
image: "e021.png" LOSSY 95;
image: "e022.png" LOSSY 95;
image: "e023.png" LOSSY 95;
image: "e024.png" LOSSY 95;
image: "e025.png" LOSSY 95;
image: "e026.png" LOSSY 95;
image: "e027.png" LOSSY 95;
image: "e028.png" LOSSY 95;
image: "e029.png" LOSSY 95;
image: "e030.png" LOSSY 95;
image: "e031.png" LOSSY 95;
image: "e032.png" LOSSY 95;
image: "e033.png" LOSSY 95;
image: "e034.png" LOSSY 95;
image: "e035.png" LOSSY 95;
image: "e036.png" LOSSY 95;
image: "e037.png" LOSSY 95;
image: "e038.png" LOSSY 95;
image: "e039.png" LOSSY 95;
image: "e040.png" LOSSY 95;
image: "e041.png" LOSSY 95;
image: "e042.png" LOSSY 95;
image: "e043.png" LOSSY 95;
image: "e044.png" LOSSY 95;
image: "e045.png" LOSSY 95;
image: "e046.png" LOSSY 95;
image: "e047.png" LOSSY 95;
image: "e048.png" LOSSY 95;
image: "e049.png" LOSSY 95;
image: "e050.png" LOSSY 95;
image: "e051.png" LOSSY 95;
image: "e052.png" LOSSY 95;
image: "e053.png" LOSSY 95;
image: "e054.png" LOSSY 95;
image: "e055.png" LOSSY 95;
image: "e056.png" LOSSY 95;
image: "e057.png" LOSSY 95;
image: "e058.png" LOSSY 95;
image: "e059.png" LOSSY 95;
image: "e060.png" LOSSY 95;
image: "e061.png" LOSSY 95;
image: "e062.png" LOSSY 95;
image: "e063.png" LOSSY 95;
image: "e064.png" LOSSY 95;
image: "e065.png" LOSSY 95;
image: "e066.png" LOSSY 95;
image: "e067.png" LOSSY 95;
image: "e068.png" LOSSY 95;
image: "e069.png" LOSSY 95;
image: "e070.png" LOSSY 95;
image: "e071.png" LOSSY 95;
image: "e072.png" LOSSY 95;
image: "e073.png" LOSSY 95;
image: "e074.png" LOSSY 95;
image: "e075.png" LOSSY 95;
image: "e076.png" LOSSY 95;
image: "e077.png" LOSSY 95;
image: "e078.png" LOSSY 95;
image: "e079.png" LOSSY 95;
image: "e080.png" LOSSY 95;
image: "e081.png" LOSSY 95;
image: "e082.png" LOSSY 95;
image: "e083.png" LOSSY 95;
image: "e084.png" LOSSY 95;
image: "e085.png" LOSSY 95;
image: "e086.png" LOSSY 95;
image: "e087.png" LOSSY 95;
image: "e088.png" LOSSY 95;
image: "e089.png" LOSSY 95;
image: "e090.png" LOSSY 95;
image: "e091.png" LOSSY 95;
image: "e092.png" LOSSY 95;
image: "e093.png" LOSSY 95;
image: "e094.png" LOSSY 95;
image: "e095.png" LOSSY 95;
image: "e096.png" LOSSY 95;
image: "e097.png" LOSSY 95;
image: "e098.png" LOSSY 95;
image: "e099.png" LOSSY 95;
image: "e100.png" LOSSY 95;
image: "e101.png" LOSSY 95;
image: "e102.png" LOSSY 95;
image: "e103.png" LOSSY 95;
image: "e104.png" LOSSY 95;
image: "e105.png" LOSSY 95;
image: "e106.png" LOSSY 95;
image: "e107.png" LOSSY 95;
image: "e108.png" LOSSY 95;
image: "e109.png" LOSSY 95;
image: "e110.png" LOSSY 95;
image: "e111.png" LOSSY 95;
image: "e112.png" LOSSY 95;
image: "e113.png" LOSSY 95;
image: "e114.png" LOSSY 95;
image: "e115.png" LOSSY 95;
image: "e116.png" LOSSY 95;
image: "e117.png" LOSSY 95;
image: "e118.png" LOSSY 95;
image: "e119.png" LOSSY 95;
image: "e120.png" LOSSY 95;
}
data
{
item, "My Data" "The string to attach to this data";
item, "The Key" "String data attached to the key";
item: "My Data" "The string to attach to this data";
item: "The Key" "String data attached to the key";
}
collections {
group {
name, "test";
min, 32 32;
max, 1024 768;
name: "test";
min: 32 32;
max: 1024 768;
data
{
item, "My Data" "The string to attach to this data";
item, "The Key" "String data attached to the key";
item: "My Data" "The string to attach to this data";
item: "The Key" "String data attached to the key";
}
parts {
part {
name, "background";
mouse_events, 0;
name: "background";
mouse_events: 0;
description {
state, "default" 0.0;
color_class, "bg";
state: "default" 0.0;
color_class: "bg";
rel1 {
relative, 0.0 0.0;
offset, 0 0;
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
relative, 1.0 1.0;
offset, -1 -1;
relative: 1.0 1.0;
offset: -1 -1;
}
image {
normal, "bg.png";
normal: "bg.png";
}
border, 12 12 12 12;
border: 12 12 12 12;
}
}
part {
name, "text";
type, TEXT;
effect, SOFT_SHADOW;
name: "text";
type: TEXT;
effect: SOFT_SHADOW;
description {
state, "default" 0.0;
state: "default" 0.0;
rel1 {
relative, 1.0 0.0;
offset, 0 0;
to, "logo";
relative: 1.0 0.0;
offset: 0 0;
to: "logo";
}
rel2 {
relative, 3.0, 1.0;
offset, -64, -1;
to, "logo";
relative: 3.0 1.0;
offset: -64 -1;
to: "logo";
}
color_class, "fg";
color, 255 255 255 255;
// color2, 0 0 255 255;
color3, 0 0 0 32;
color_class: "fg";
color: 255 255 255 255;
// color2: 0 0 255 255;
color3: 0 0 0 32;
text {
text, "This is a longer test string";
text_class, "plainjane";
font, "Vera";
size, 6;
// fit, 0 1;
// min, 1 1;
align, 0.0 0.5;
text: "This is a longer test string";
text_class: "plainjane";
font: "Edje.Vera";
size: 6;
// fit: 0 1;
// min: 1 1;
align: 0.0 0.5;
}
}
}
/* test swallowing */
/*
part {
name, "swallow";
mouse_events, 0;
type, RECT;
name: "swallow";
mouse_events: 0;
type: RECT;
description {
state, "default" 0.0;
state: "default" 0.0;
rel1 {
relative, 0.0 1.0;
offset, 0 0;
to, "logo";
relative: 0.0 1.0;
offset: 0 0;
to: "logo";
}
rel2 {
relative, 1.0 1.0;
offset, -1 99;
to, "logo";
relative: 1.0 1.0;
offset: -1 99;
to: "logo";
}
color, 0 0 0 100;
color: 0 0 0 100;
}
}
*/
part {
name, "logo";
name: "logo";
description {
state, "default" 0.0;
min, 64 64;
max, 320 320;
aspect, 1.0 1.0;
state: "default" 0.0;
min: 64 64;
max: 320 320;
aspect: 1.0 1.0;
rel1 {
relative, 0.0 0.0;
offset, 16 16;
relative: 0.0 0.0;
offset: 16 16;
}
rel2 {
relative, 0.3 0.3;
offset, 15 16;
relative: 0.3 0.3;
offset: 15 16;
}
image {
normal, "e.png";
normal: "e.png";
}
/*
fill {
smooth, 0;
smooth: 0;
}
*/
}
description {
state, "clicked" 0.0;
min, 48 48;
max, 280 280;
aspect, 1.0 1.0;
state: "clicked" 0.0;
min: 48 48;
max: 280 280;
aspect: 1.0 1.0;
rel1 {
relative, 0.0 0.0;
offset, 20 20;
relative: 0.0 0.0;
offset: 20 20;
}
rel2 {
relative, 0.3 0.3;
offset, 12 12;
relative: 0.3 0.3;
offset: 12 12;
}
image {
normal, "e.png";
normal: "e.png";
}
}
}
part {
name, "logo_anim";
// clip_to, "clip";
name: "logo_anim";
// clip_to: "clip";
description {
state, "default" 0.0;
max, 160 120;
aspect, 1.3333 1.3333;
state: "default" 0.0;
max: 160 120;
aspect: 1.3333 1.3333;
rel1 {
relative, 0.0 0.0;
offset, 16 16;
relative: 0.0 0.0;
offset: 16 16;
}
rel2 {
relative, 1.0 1.0;
offset, -17 -17;
relative: 1.0 1.0;
offset: -17 -17;
}
image {
normal, "e120.png";
tween, "e001.png";
tween, "e002.png";
tween, "e003.png";
tween, "e004.png";
tween, "e005.png";
tween, "e006.png";
tween, "e007.png";
tween, "e008.png";
tween, "e009.png";
tween, "e010.png";
tween, "e011.png";
tween, "e012.png";
tween, "e013.png";
tween, "e014.png";
tween, "e015.png";
tween, "e016.png";
tween, "e017.png";
tween, "e018.png";
tween, "e019.png";
tween, "e020.png";
tween, "e021.png";
tween, "e022.png";
tween, "e023.png";
tween, "e024.png";
tween, "e025.png";
tween, "e026.png";
tween, "e027.png";
tween, "e028.png";
tween, "e029.png";
tween, "e030.png";
tween, "e031.png";
tween, "e032.png";
tween, "e033.png";
tween, "e034.png";
tween, "e035.png";
tween, "e036.png";
tween, "e037.png";
tween, "e038.png";
tween, "e039.png";
tween, "e040.png";
tween, "e041.png";
tween, "e042.png";
tween, "e043.png";
tween, "e044.png";
tween, "e045.png";
tween, "e046.png";
tween, "e047.png";
tween, "e048.png";
tween, "e049.png";
tween, "e050.png";
tween, "e051.png";
tween, "e052.png";
tween, "e053.png";
tween, "e054.png";
tween, "e055.png";
tween, "e056.png";
tween, "e057.png";
tween, "e058.png";
tween, "e059.png";
tween, "e060.png";
tween, "e061.png";
tween, "e062.png";
tween, "e063.png";
tween, "e064.png";
tween, "e065.png";
tween, "e066.png";
tween, "e067.png";
tween, "e068.png";
tween, "e069.png";
tween, "e070.png";
tween, "e071.png";
tween, "e072.png";
tween, "e073.png";
tween, "e074.png";
tween, "e075.png";
tween, "e076.png";
tween, "e077.png";
tween, "e078.png";
tween, "e079.png";
tween, "e080.png";
tween, "e081.png";
tween, "e082.png";
tween, "e083.png";
tween, "e084.png";
tween, "e085.png";
tween, "e086.png";
tween, "e087.png";
tween, "e088.png";
tween, "e089.png";
tween, "e090.png";
tween, "e091.png";
tween, "e092.png";
tween, "e093.png";
tween, "e094.png";
tween, "e095.png";
tween, "e096.png";
tween, "e097.png";
tween, "e098.png";
tween, "e099.png";
tween, "e100.png";
tween, "e101.png";
tween, "e102.png";
tween, "e103.png";
tween, "e104.png";
tween, "e105.png";
tween, "e106.png";
tween, "e107.png";
tween, "e108.png";
tween, "e109.png";
tween, "e110.png";
tween, "e111.png";
tween, "e112.png";
tween, "e113.png";
tween, "e114.png";
tween, "e115.png";
tween, "e116.png";
tween, "e117.png";
tween, "e118.png";
tween, "e119.png";
normal: "e120.png";
tween: "e001.png";
tween: "e002.png";
tween: "e003.png";
tween: "e004.png";
tween: "e005.png";
tween: "e006.png";
tween: "e007.png";
tween: "e008.png";
tween: "e009.png";
tween: "e010.png";
tween: "e011.png";
tween: "e012.png";
tween: "e013.png";
tween: "e014.png";
tween: "e015.png";
tween: "e016.png";
tween: "e017.png";
tween: "e018.png";
tween: "e019.png";
tween: "e020.png";
tween: "e021.png";
tween: "e022.png";
tween: "e023.png";
tween: "e024.png";
tween: "e025.png";
tween: "e026.png";
tween: "e027.png";
tween: "e028.png";
tween: "e029.png";
tween: "e030.png";
tween: "e031.png";
tween: "e032.png";
tween: "e033.png";
tween: "e034.png";
tween: "e035.png";
tween: "e036.png";
tween: "e037.png";
tween: "e038.png";
tween: "e039.png";
tween: "e040.png";
tween: "e041.png";
tween: "e042.png";
tween: "e043.png";
tween: "e044.png";
tween: "e045.png";
tween: "e046.png";
tween: "e047.png";
tween: "e048.png";
tween: "e049.png";
tween: "e050.png";
tween: "e051.png";
tween: "e052.png";
tween: "e053.png";
tween: "e054.png";
tween: "e055.png";
tween: "e056.png";
tween: "e057.png";
tween: "e058.png";
tween: "e059.png";
tween: "e060.png";
tween: "e061.png";
tween: "e062.png";
tween: "e063.png";
tween: "e064.png";
tween: "e065.png";
tween: "e066.png";
tween: "e067.png";
tween: "e068.png";
tween: "e069.png";
tween: "e070.png";
tween: "e071.png";
tween: "e072.png";
tween: "e073.png";
tween: "e074.png";
tween: "e075.png";
tween: "e076.png";
tween: "e077.png";
tween: "e078.png";
tween: "e079.png";
tween: "e080.png";
tween: "e081.png";
tween: "e082.png";
tween: "e083.png";
tween: "e084.png";
tween: "e085.png";
tween: "e086.png";
tween: "e087.png";
tween: "e088.png";
tween: "e089.png";
tween: "e090.png";
tween: "e091.png";
tween: "e092.png";
tween: "e093.png";
tween: "e094.png";
tween: "e095.png";
tween: "e096.png";
tween: "e097.png";
tween: "e098.png";
tween: "e099.png";
tween: "e100.png";
tween: "e101.png";
tween: "e102.png";
tween: "e103.png";
tween: "e104.png";
tween: "e105.png";
tween: "e106.png";
tween: "e107.png";
tween: "e108.png";
tween: "e109.png";
tween: "e110.png";
tween: "e111.png";
tween: "e112.png";
tween: "e113.png";
tween: "e114.png";
tween: "e115.png";
tween: "e116.png";
tween: "e117.png";
tween: "e118.png";
tween: "e119.png";
}
}
}
part {
name, "dragable";
mouse_events, 1;
name: "dragable";
mouse_events: 1;
dragable {
// drag in: DIR, ON/OFF STEPPING COUNT;
x, -1 1 0;
y, 1 1 0;
confine, "background";
// drag in: DIR: ON/OFF STEPPING COUNT;
x: -1 1 0;
y: 1 1 0;
confine: "background";
}
description {
state, "default" 0.0;
min, 36 36;
state: "default" 0.0;
min: 36 36;
rel1 {
relative, 0.5 0.5;
offset, 0 0;
relative: 0.5 0.5;
offset: 0 0;
}
rel2 {
relative, 0.5 0.5;
offset, 0 0;
relative: 0.5 0.5;
offset: 0 0;
}
image {
normal, "bg.png";
normal: "bg.png";
}
border, 12 12 12 12;
border: 12 12 12 12;
}
}
}
programs {
program {
name, "logo_click";
signal, "mouse,down,1";
source, "logo";
name: "logo_click";
signal: "mouse,down,1";
source: "logo";
// test to see if program loops can be avoided
// signal, "*";
// source, "*";
action, STATE_SET "clicked" 0.0;
transition, LINEAR 0.0;
target, "logo";
// signal: "*";
// source: "*";
action: STATE_SET "clicked" 0.0;
transition: LINEAR 0.0;
target: "logo";
}
program {
name, "logo_unclick";
signal, "mouse,up,1";
source, "logo";
action, STATE_SET "default" 0.0;
transition, DECELERATE 0.25;
target, "logo";
name: "logo_unclick";
signal: "mouse,up,1";
source: "logo";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.25;
target: "logo";
}
program {
name, "logo_animate";
signal, "show";
source, "";
action, STATE_SET "default" 0.0;
transition, LINEAR 4.0;
target, "logo_anim";
after, "logo_animate"; // at end... loop
name: "logo_animate";
signal: "show";
source: "";
action: STATE_SET "default" 0.0;
transition: LINEAR 4.0;
target: "logo_anim";
after: "logo_animate"; // at end... loop
}
program {
name, "logo_animate_stop";
signal, "mouse,down,1";
source, "logo_anim";
action, ACTION_STOP;
target, "logo_animate";
name: "logo_animate_stop";
signal: "mouse,down,1";
source: "logo_anim";
action: ACTION_STOP;
target: "logo_animate";
}
program {
name, "logo_animate_signal";
signal, "mouse,up,1";
source, "logo_anim";
action, SIGNAL_EMIT "do_it" "the_source";
name: "logo_animate_signal";
signal: "mouse,up,1";
source: "logo_anim";
action: SIGNAL_EMIT "do_it" "the_source";
}
program {
name, "random_signal";
signal, "show";
source, "";
in, 1.0 5.0;
action, SIGNAL_EMIT "do_random" "the_source";
name: "random_signal";
signal: "show";
source: "";
in: 1.0 5.0;
action: SIGNAL_EMIT "do_random" "the_source";
}
program {
name, "random_signal";
signal, "do_random";
source, "the_source";
in, 1.0 5.0;
action, SIGNAL_EMIT "do_random" "the_source";
name: "random_signal";
signal: "do_random";
source: "the_source";
in: 1.0 5.0;
action: SIGNAL_EMIT "do_random" "the_source";
}
program {
name, "logo_click_d1";
signal, "mouse,down,1";
source, "logo";
action, DRAG_VAL_STEP 1.0 1.0;
target, "dragable";
name: "logo_click_d1";
signal: "mouse,down,1";
source: "logo";
action: DRAG_VAL_STEP 1.0 1.0;
target: "dragable";
}
program {
name, "logo_click_d2";
signal, "mouse,down,3";
source, "logo";
action, DRAG_VAL_STEP -1.0 -1.0;
target, "dragable";
name: "logo_click_d2";
signal: "mouse,down,3";
source: "logo";
action: DRAG_VAL_STEP -1.0 -1.0;
target: "dragable";
}
}
}

View File

@ -1,3 +1,12 @@
// Fonts to be inlined and used that a user might not have already installed
fonts
{
// The first argument is the file, just like images, the second is the
// font name this font is to be known as by edje text objects as the
// font name
font: "Vera.ttf" "Edje.Font.Name";
}
// Images in the image database for the output file
images
{

View File

@ -3,6 +3,7 @@
static void main_help(void);
Evas_List *img_dirs = NULL;
Evas_List *fnt_dirs = NULL;
char *file_in = NULL;
char *file_out = NULL;
char *progname = NULL;
@ -18,6 +19,7 @@ main_help(void)
"Where OPTIONS is one or more of:\n"
"\n"
"-id image/directory Add a directory to look in for relative path images\n"
"-fd font/directory Add a directory to look in for relative path fonts\n"
"-v Verbose output\n"
,progname);
}
@ -46,6 +48,11 @@ main(int argc, char **argv)
i++;
img_dirs = evas_list_append(img_dirs, argv[i]);
}
else if ((!strcmp(argv[i], "-fd")) && (i < (argc - 1)))
{
i++;
fnt_dirs = evas_list_append(fnt_dirs, argv[i]);
}
else if (!file_in)
file_in = argv[i];
else if (!file_out)

View File

@ -22,6 +22,7 @@
/* types */
typedef struct _New_Object_Handler New_Object_Handler;
typedef struct _New_Statement_Handler New_Statement_Handler;
typedef struct _Font Font;
struct _New_Object_Handler
{
@ -35,6 +36,12 @@ struct _New_Statement_Handler
void (*func)(void);
};
struct _Font
{
char *file;
char *name;
};
/* global fn calls */
void data_setup(void);
void data_write(void);
@ -63,6 +70,7 @@ char *mem_strdup(const char *s);
/* global vars */
extern Evas_List *img_dirs;
extern Evas_List *fnt_dirs;
extern char *file_in;
extern char *file_out;
extern char *progname;
@ -72,6 +80,7 @@ extern Evas_List *stack;
extern Evas_List *params;
extern Edje_File *edje_file;
extern Evas_List *edje_collections;
extern Evas_List *fonts;
extern New_Object_Handler object_handlers[];
extern New_Statement_Handler statement_handlers[];

View File

@ -5,6 +5,8 @@ static void ob_images(void);
static void ob_images_image(void);
static void st_images_image(void);
static void st_fonts_font(void);
static void st_data_item(void);
static void ob_collections(void);
@ -81,6 +83,7 @@ static void st_collections_group_programs_program_after(void);
New_Statement_Handler statement_handlers[] =
{
{"images.image", st_images_image},
{"fonts.font", st_fonts_font},
{"data.item", st_data_item},
{"collections.group.name", st_collections_group_name},
{"collections.group.min", st_collections_group_min},
@ -145,6 +148,8 @@ New_Object_Handler object_handlers[] =
{
{"images", ob_images},
{"images.image", ob_images_image},
{"fonts", NULL},
{"fonts.font", NULL},
{"data", NULL},
{"data.item", NULL},
{"collections", ob_collections},
@ -293,6 +298,17 @@ st_images_image(void)
img->source_param = parse_int_range(2, 0, 100);
}
static void
st_fonts_font(void)
{
Font *fn;
fn = calloc(1, sizeof(Font));
fn->file = parse_str(0);
fn->name = parse_str(1);
fonts = evas_list_append(fonts, fn);
}
static void
st_data_item(void)
{

View File

@ -26,6 +26,7 @@ struct _Image_Lookup
Edje_File *edje_file = NULL;
Evas_List *edje_collections = NULL;
Evas_List *fonts = NULL;
static Eet_Data_Descriptor *edd_edje_file = NULL;
static Eet_Data_Descriptor *edd_edje_image_directory = NULL;
@ -69,6 +70,7 @@ data_write(void)
int total_bytes;
int input_raw_bytes;
int image_num;
int font_num;
int collection_num;
bytes = 0;
@ -76,6 +78,7 @@ data_write(void)
total_bytes = 0;
input_raw_bytes = 0;
image_num = 0;
font_num = 0;
collection_num = 0;
ef = eet_open(file_out, EET_FILE_MODE_WRITE);
if (!ef)
@ -101,6 +104,103 @@ data_write(void)
printf("%s: Wrote %9i bytes (%4iKb) for \"edje_file\" header\n",
progname, bytes, (bytes + 512) / 1024);
}
for (l = fonts; l; l = l->next)
{
Font *fn;
void *fdata = NULL;
int fsize = 0;
Evas_List *ll;
FILE *f;
fn = l->data;
f = fopen(fn->file, "rb");
if (f)
{
long pos;
fseek(f, 0, SEEK_END);
pos = ftell(f);
rewind(f);
fdata = malloc(pos);
if (fdata)
{
if (fread(fdata, pos, 1, f) != 1)
{
fprintf(stderr, "%s: Error. unable to read all of font file \"%s\"\n",
progname, fn->file);
exit(-1);
}
fsize = pos;
}
fclose(f);
}
else
{
for (ll = fnt_dirs; ll; ll = ll->next)
{
char buf[4096];
snprintf(buf, sizeof(buf), "%s/%s", (char *)(ll->data), fn->file);
f = fopen(buf, "rb");
if (f)
{
long pos;
fseek(f, 0, SEEK_END);
pos = ftell(f);
rewind(f);
fdata = malloc(pos);
printf("%i\n", (int)pos);
if (fdata)
{
if (fread(fdata, pos, 1, f) != 1)
{
fprintf(stderr, "%s: Error. unable to read all of font file \"%s\"\n",
progname, buf);
exit(-1);
}
fsize = pos;
}
fclose(f);
if (fdata) break;
}
}
}
if (!fdata)
{
fprintf(stderr, "%s: Error. unable to write font part \"%s\" entry to %s \n",
progname, fn->file, file_out);
exit(-1);
}
else
{
char buf[4096];
snprintf(buf, sizeof(buf), "fonts/%s", fn->name);
bytes = eet_write(ef, buf, fdata, fsize, 1);
if (bytes <= 0)
{
fprintf(stderr, "%s: Error. unable to write font part \"%s\" as \"%s\" part entry to %s \n",
progname, fn->file, buf, file_out);
exit(-1);
}
else
{
font_num++;
total_bytes += bytes;
input_bytes += fsize;
input_raw_bytes += fsize;
}
if (verbose)
{
printf("%s: Wrote %9i bytes (%4iKb) for \"%s\" font entry \"%s\" compress: [real: %2.1f%%]\n",
progname, bytes, (bytes + 512) / 1024, buf, fn->file,
100 - (100 * (double)bytes) / ((double)(fsize))
);
}
free(fdata);
}
}
if ((edje_file) && (edje_file->image_dir))
{
for (l = edje_file->image_dir->entries; l; l = l->next)
@ -196,7 +296,69 @@ data_write(void)
for (l = edje_collections; l; l = l->next)
{
Edje_Part_Collection *pc;
char buf[456];
Evas_List *ll;
pc = l->data;
for (ll = pc->parts; ll; ll = ll->next)
{
Edje_Part *ep;
Evas_List *l3;
Edje_Part_Description *epd;
ep = ll->data;
epd = ep->default_desc;
if (epd->text.font)
{
Evas_List *lll;
for (lll = fonts; lll; lll = lll->next)
{
Font *fn;
fn = lll->data;
if (!strcmp(fn->name, epd->text.font))
{
char *s;
s = malloc(strlen(epd->text.font) + strlen("fonts/") + 1);
strcpy(s, "fonts/");
strcat(s, epd->text.font);
free(epd->text.font);
epd->text.font = s;
}
}
}
for (l3 = ep->other_desc; l3; l3 = l3->next)
{
epd = l3->data;
if (epd->text.font)
{
Evas_List *lll;
for (lll = fonts; lll; lll = lll->next)
{
Font *fn;
fn = lll->data;
if (!strcmp(fn->name, epd->text.font))
{
char *s;
s = malloc(strlen(epd->text.font) + strlen("fonts/") + 1);
strcpy(s, "fonts/");
strcat(s, epd->text.font);
free(epd->text.font);
epd->text.font = s;
}
}
}
}
}
}
for (l = edje_collections; l; l = l->next)
{
Edje_Part_Collection *pc;
char buf[4096];
pc = l->data;
@ -231,6 +393,7 @@ data_write(void)
printf("Summary:\n"
" Wrote %i collections\n"
" Wrote %i images\n"
" Wrote %i fonts\n"
"Conservative compression summary:\n"
" Wrote total %i bytes (%iKb) from %i (%iKb) input data\n"
" Output file is %3.1f%% the size of the input data\n"
@ -242,6 +405,7 @@ data_write(void)
,
collection_num,
image_num,
font_num,
total_bytes, (total_bytes + 512) / 1024,
input_bytes, (input_bytes + 512) / 1024,
(100.0 * (double)total_bytes) / (double)input_bytes,

View File

@ -104,7 +104,10 @@ edje_object_file_set(Evas_Object *obj, const char *file, const char *part)
else if (ep->type == EDJE_PART_TYPE_IMAGE)
rp->object = evas_object_image_add(ed->evas);
else if (ep->type == EDJE_PART_TYPE_TEXT)
rp->object = evas_object_text_add(ed->evas);
{
rp->object = evas_object_text_add(ed->evas);
evas_object_text_font_source_set(rp->object, ed->path);
}
else
{
printf("EDJE ERROR: wrong part type %i!\n", ep->type);

View File

@ -185,6 +185,7 @@ _edje_text_part_on_add(Edje *ed, Edje_Real_Part *ep)
Evas_Object *o;
o = evas_object_text_add(ed->evas);
evas_object_text_font_source_set(o, ed->path);
evas_object_smart_member_add(o, ed->obj);
evas_object_pass_events_set(o, 1);
evas_object_clip_set(o, ed->clipper);