// scene update void animate_update(Scene* scene, bool skinning_gpu) { scene->animation->time ++; if(scene->animation->time >= scene->animation->length) animate_reset(scene); animate_frame(scene); if(not skinning_gpu) animate_skin(scene); simulate(scene); }
void SJView::OnTimer(UINT nIDEvent) { if(!animate_frame()) { KillTimer(1); m_render_mode = RENDER; } Invalidate(); }
static void on_timeout (ply_boot_splash_plugin_t *plugin) { static int frame = 0; frame += 1; frame %= 8; animate_frame (plugin, frame); ply_event_loop_watch_for_timeout (plugin->loop, 1.0, (ply_event_loop_timeout_handler_t) on_timeout, plugin); }
static void start_animation (ply_boot_splash_plugin_t *plugin) { ply_list_node_t *node; assert (plugin != NULL); assert (plugin->loop != NULL); redraw_views (plugin); if (plugin->message != NULL) show_message (plugin); if (plugin->is_animating) return; node = ply_list_get_first_node (plugin->views); while (node != NULL) { ply_list_node_t *next_node; view_t *view; view = ply_list_node_get_data (node); next_node = ply_list_get_next_node (plugin->views, node); view_start_animation (view); node = next_node; } plugin->is_animating = true; animate_frame (plugin, 0); ply_event_loop_watch_for_timeout (plugin->loop, 1.0, (ply_event_loop_timeout_handler_t) on_timeout, plugin); }