}
}
programs {
- program {
- signal: "load"; source: "";
+ program { signal: "load"; source: "";
script {
set_int(is_ready, 0);
set_int(do_end, 0);
}
}
-
+
#define PROG(_NAME) \
program { name: _NAME"0"; \
signal: "show"; source: ""; \
PROG("l+3")
#undef PROG
- program {
- signal: "show"; source: "";
+ program { signal: "show"; source: "";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 1.0;
target: "shadow";
set_int(is_ready, 1);
}
}
- program {
- signal: "e,state,done"; source: "e";
+ program { signal: "e,state,done"; source: "e";
script {
new val;
+ set_int(do_end, 1);
val = get_int(is_ready);
if (val == 1)
run_program(PROGRAM:"exit1");
- else
- set_int(do_end, 1);
}
}
program { name: "exit1";
- signal: "e,state,done"; source: "e";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 1.0 CURRENT;
target: "shadow";
images.image: "screen_circular_shadow.png" COMP;
images.image: "bg_radgrad.png" COMP;
images.image: "dot_pattern.png" COMP;
+ script {
+ public is_ready;
+ public do_end;
+ }
parts {
part { name: "clip"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
transition: DECELERATE 1.0;
target: "shadow";
target: "blanker";
+ after: "ready";
}
+ program { name: "ready";
+ script {
+ new val;
+ val = get_int(do_end);
+ if (val == 1)
+ run_program(PROGRAM:"exit1");
+ else
+ set_int(is_ready, 1);
+ }
+ }
+ program { signal: "e,state,done"; source: "e";
+ script {
+ new val;
+ set_int(do_end, 1);
+ val = get_int(is_ready);
+ if (val == 1)
+ run_program(PROGRAM:"exit1");
+ }
+ }
+ program { name: "exit1";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 1.0 CURRENT;
+ target: "shadow";
+ target: "blanker";
+ after: "exit2";
+ }
+ program { name: "exit2";
+ action: SIGNAL_EMIT "e,state,done_ok" "e";
+ }
}
}