1 copy & paste bug in edje_cc. fixed non animated programs

SVN revision: 7045
This commit is contained in:
Carsten Haitzler 2003-06-19 15:02:21 +00:00
parent 5427be918c
commit 66bcb0fb57
3 changed files with 50 additions and 30 deletions

View File

@ -147,11 +147,11 @@ collections {
border, 12 12 12 12;
}
}
/*
part {
name, "logo";
description {
state, "default" 0.0;
min, 64 64;
max, 320 320;
aspect, 1.0 1.0;
rel1 {
@ -159,8 +159,8 @@ collections {
offset, 16 16;
}
rel2 {
relative, 1.0 1.0;
offset, -17 -17;
relative, 0.3 0.3;
offset, 15 16;
}
image {
normal, "e.png";
@ -168,21 +168,22 @@ collections {
}
description {
state, "clicked" 0.0;
max, 16 16;
min, 48 48;
max, 280 280;
aspect, 1.0 1.0;
rel1 {
relative, 0.0 0.0;
offset, 16 16;
offset, 20 20;
}
rel2 {
relative, 1.0 1.0;
offset, -17 -17;
relative, 0.3 0.3;
offset, 12 12;
}
image {
normal, "e.png";
}
}
}
*/
part {
name, "logo_anim";
description {
@ -323,7 +324,6 @@ collections {
}
}
programs {
/*
program {
name, "logo_click";
signal, "mouse,down,1";
@ -338,7 +338,6 @@ collections {
action, STATE_SET "default" 0.0;
target, "logo";
}
*/
program {
name, "logo_animate";
signal, "load";

View File

@ -487,10 +487,10 @@ parse_float_range(int n, int f, int t)
progname, file_in, line, n + 1);
exit(-1);
}
i = atoi(str);
i = atof(str);
if ((i < f) || (i > t))
{
fprintf(stderr, "%s: Error. %s:%i integer %i out of range of %i to %i inclusive\n",
fprintf(stderr, "%s: Error. %s:%i integer %i out of range of %3.3f to %3.3f inclusive\n",
progname, file_in, line, i, f, t);
exit(-1);
}

View File

@ -426,7 +426,7 @@ _edje_mouse_up_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
ed = data;
rp = evas_object_data_get(obj, "real_part");
if (!rp) return;
snprintf(buf, sizeof(buf), "mouse,down,%i", ev->button);
snprintf(buf, sizeof(buf), "mouse,up,%i", ev->button);
_edje_emit(ed, buf, rp->part->name);
}
@ -559,27 +559,28 @@ _edje_program_run(Edje *ed, Edje_Program *pr)
{
Evas_List *l;
for (l = pr->targets; l; l = l->next)
{
Edje_Real_Part *rp;
Edje_Program_Target *pt;
pt = l->data;
rp = evas_list_nth(ed->parts, pt->id);
if (rp)
{
_edje_part_description_apply(ed, rp,
rp->param1.description->state.name,
rp->param1.description->state.value,
pr->state,
pr->value);
_edje_part_pos_set(ed, rp, pr->tween.mode, 0.0);
}
}
_edje_emit(ed, "anim,start", pr->name);
if (pr->tween.time > 0.0)
{
Edje_Running_Program *runp;
for (l = pr->targets; l; l = l->next)
{
Edje_Real_Part *rp;
Edje_Program_Target *pt;
pt = l->data;
rp = evas_list_nth(ed->parts, pt->id);
if (rp)
{
_edje_part_description_apply(ed, rp,
rp->param1.description->state.name,
rp->param1.description->state.value,
pr->state,
pr->value);
_edje_part_pos_set(ed, rp, pr->tween.mode, 0.0);
}
}
runp = calloc(1, sizeof(Edje_Running_Program));
if (!ed->actions)
@ -592,6 +593,26 @@ _edje_program_run(Edje *ed, Edje_Program *pr)
_edje_timer = ecore_timer_add(_edje_frametime, _edje_timer_cb, NULL);
_edje_anim_count++;
}
else
{
for (l = pr->targets; l; l = l->next)
{
Edje_Real_Part *rp;
Edje_Program_Target *pt;
pt = l->data;
rp = evas_list_nth(ed->parts, pt->id);
if (rp)
{
_edje_part_description_apply(ed, rp,
pr->state,
pr->value,
NULL,
0.0);
_edje_part_pos_set(ed, rp, pr->tween.mode, 0.0);
}
}
}
}
static void