void DisplayChannel::update_cursor() { if (!screen() || !_active_pointer) { return; } if (_capture_mouse_mode) { //todo: use special cursor for capture mode AutoRef<LocalCursor> default_cursor(Platform::create_default_cursor()); screen()->set_cursor(*default_cursor); return; } if (!_cursor_visibal || !*_cursor) { screen()->hide_cursor(); return; } if (!(*_cursor)->get_local()) { AutoRef<LocalCursor> local_cursor(Platform::create_local_cursor(*_cursor)); if (*local_cursor == NULL) { THROW("create local cursor failed"); } (*_cursor)->set_local(*local_cursor); } screen()->set_cursor((*_cursor)->get_local()); }
void schedule() { int i=1; setBlueWhite(); save_cursor(); hide_cursor(); for(i=1;i<=100;i++) { recover_cursor(); printf("%d%s", i, "%"); fflush(stdout); usleep(100000); } default_cursor(); show_cursor(); }