void TSHPath::Undecorate(LPTSTR pszPath) { static TModuleProcV1<LPTSTR> undecorate(GetModule(), UndecorateStr); undecorate(pszPath); }
path edit_env_rep::get_animation_ip (path ip) { ip= undecorate (ip); path aip= search_animation_ip (ip); if (!is_nil (aip)) return aip; aip= search_longest_ip (ip); if (is_nil (aip)) return aip; tree t= subtree (the_et, reverse (aip)); blackbox bb= close_box<player> (player ()); (void) tree_addendum_new (t, ADDENDUM_PLAYER, bb, false); return aip; }
void concater_rep::typeset_anim_accelerate (tree t, path ip) { if (N(t) != 2) { typeset_error (t, ip); return; } path uip= undecorate (ip); while (!has_subtree (the_et, reverse (uip))) uip= uip->next; player apl= get_player (uip); if (!is_nil (uip) && !has_player (uip)) { path aip= search_animation_ip (uip); player pl = is_nil (aip)? player (): get_player (aip); apl= accelerate (pl, t[1]); tree st= subtree (the_et, reverse (uip)); blackbox bb= close_box<player> (apl); (void) tree_addendum_new (st, ADDENDUM_PLAYER, bb, false); } box b= typeset_as_concat (env, t[0], descend (ip, 0)); apl->set_duration (b->anim_duration ()); array<box> bs; bs << b; print (composite_box (ip, bs)); }