Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/edje
Dir : e17/libs/edje/src/lib
Modified Files:
edje_main.c
Log Message:
stop action supported. parser/compiler is accurate there in not needing more
params. stop is immediate - always. edje test program now uses arguments to
determine what to look at
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_main.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- edje_main.c 20 Jun 2003 09:38:27 -0000 1.10
+++ edje_main.c 20 Jun 2003 10:44:36 -0000 1.11
@@ -608,59 +608,83 @@
Evas_List *l;
_edje_emit(ed, "anim,start", pr->name);
- if (pr->tween.time > 0.0)
+ if (pr->action == EDJE_ACTION_TYPE_STATE_SET)
{
- Edje_Running_Program *runp;
-
- runp = calloc(1, sizeof(Edje_Running_Program));
- for (l = pr->targets; l; l = l->next)
+ if (pr->tween.time > 0.0)
{
- Edje_Real_Part *rp;
- Edje_Program_Target *pt;
+ Edje_Running_Program *runp;
- pt = l->data;
- rp = evas_list_nth(ed->parts, pt->id);
- if (rp)
+ runp = calloc(1, sizeof(Edje_Running_Program));
+ 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)
+ {
+ if (rp->program)
+ _edje_program_end(ed, rp->program);
+ _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);
+ rp->program = runp;
+ }
+ }
+
+ if (!ed->actions)
+ _edje_animators = evas_list_append(_edje_animators, ed);
+ ed->actions = evas_list_append(ed->actions, runp);
+ runp->start_time = ecore_time_get();
+ runp->edje = ed;
+ runp->program = pr;
+ if (!_edje_timer)
+ _edje_timer = ecore_timer_add(_edje_frametime, _edje_timer_cb, NULL);
+ _edje_anim_count++;
+ }
+ else
+ {
+ for (l = pr->targets; l; l = l->next)
{
- if (rp->program)
- _edje_program_end(ed, rp->program);
- _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);
- rp->program = runp;
+ 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);
+ }
}
}
-
- if (!ed->actions)
- _edje_animators = evas_list_append(_edje_animators, ed);
- ed->actions = evas_list_append(ed->actions, runp);
- runp->start_time = ecore_time_get();
- runp->edje = ed;
- runp->program = pr;
- if (!_edje_timer)
- _edje_timer = ecore_timer_add(_edje_frametime, _edje_timer_cb, NULL);
- _edje_anim_count++;
}
- else
+ else if (pr->action == EDJE_ACTION_TYPE_ACTION_STOP)
{
for (l = pr->targets; l; l = l->next)
{
- Edje_Real_Part *rp;
Edje_Program_Target *pt;
+ Evas_List *ll;
pt = l->data;
- rp = evas_list_nth(ed->parts, pt->id);
- if (rp)
+ for (ll = ed->actions; ll; ll = ll->next)
{
- _edje_part_description_apply(ed, rp,
- pr->state,
- pr->value,
- NULL,
- 0.0);
- _edje_part_pos_set(ed, rp, pr->tween.mode, 0.0);
+ Edje_Running_Program *runp;
+
+ runp = ll->data;
+ if (pt->id == runp->program->id)
+ {
+ _edje_program_end(ed, runp);
+ break;
+ }
}
}
}
-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs