diff options
Diffstat (limited to 'data/elementary/objects/test_prefs.edc')
-rw-r--r-- | data/elementary/objects/test_prefs.edc | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/data/elementary/objects/test_prefs.edc b/data/elementary/objects/test_prefs.edc new file mode 100644 index 0000000000..836856c678 --- /dev/null +++ b/data/elementary/objects/test_prefs.edc @@ -0,0 +1,150 @@ +#define MSG_ID_VEL (1) + +collections { + group { + name: "prefs_edje"; + max: 450 450; + min: 50 50; + + parts { + part { + name: "bg"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + min: 450 450; + max: 450 450; + color: 255 255 255 0; + align: 0.0 0.0; + } + } + + part { + name: "square1"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + min: 50 50; + max: 50 50; + color: 0 0 255 255; + align: 0.0 0.5; + } + description { + state: "invert" 0.0; + inherit: "default" 0.0; + color: 0 255 0 255; + align: 1 0.5; + } + } + + part { + name: "square2"; + type: RECT; + description { + state: "default" 0.0; + min: 50 50; + max: 50 50; + color: 0 255 0 255; + align: 0.5 0.0; + } + description { + state: "invert" 0.0; + inherit: "default" 0.0; + color: 0 0 255 255; + align: 0.5 1.0; + } + } + } + + program { + name: "animation_start"; + signal: "start"; + source: "animation"; + after: "animation,clear"; + } + + program { + name: "call_animation,state1"; + script { + cancel_anim(anim_id); + set_int(anim_id, anim(get_float(global_speed), "animation_1", 0)); + set_int(anim_n, 1); + } + } + + program { + name: "call_animation,state2"; + script { + cancel_anim(anim_id); + set_int(anim_id, anim(get_float(global_speed), "animation_2", 0)); + set_int(anim_n, 2); + } + } + + program { + name: "animation,stop"; + signal: "stop"; + source: "animation"; + script { + cancel_anim(get_int(anim_id)); + } + } + + program { + name: "animation,clear"; + script { + cancel_anim(get_int(anim_id)); + if (get_int(anim_n) == 2) + set_float(anim_pos, (get_float(anim_pos) - 1) * ( -1)); + } + after: "call_animation,state1"; + } + + script { + public global_speed; + public anim_id; + public anim_pos; + public anim_n; + + public message(Msg_Type:type, id, ...) { + if ((type == MSG_FLOAT) && (id == MSG_ID_VEL)) + set_float(global_speed, Float:getarg(2)); + } + + public animation_1(val, Float:pos) { + if (pos >= get_float(anim_pos) && get_int(anim_n) == 1) + { + set_tween_state(PART:"square1", pos, "default", 0.0, + "invert", 0.0); + set_tween_state(PART:"square2", pos, "default", 0.0, + "invert", 0.0); + set_float(anim_pos, pos); + } + if (pos >= 1) + { + run_program(PROGRAM:"call_animation,state2"); + set_float(anim_pos, 0.0); + } + } + + public animation_2(val, Float:pos) { + if (pos >= get_float(anim_pos) && get_int(anim_n) == 2) + { + set_tween_state(PART:"square1", pos, "invert", 0.0, + "default", 0.0); + set_tween_state(PART:"square2", pos, "invert", 0.0, + "default", 0.0); + set_float(anim_pos, pos); + } + if (pos >= 1) + { + run_program(PROGRAM:"call_animation,state1"); + set_float(anim_pos, 0.0); + } + } + } +} + +#undef MSG_ID_VEL |