void kissSplashBG(int w, int h) { int i,offX,offY; for (i=0;i<h;i=i+(h/50)+1) { offX=38*(((float)i)/(float)(h/8)); offY=50*(((float)i)/(float)(h/8)); draw_bg(w/2-offX,h/2-offY,((float)i)/(float)(h/8)); sleep(.02); clear_bg(w/2-offX,h/2-offY,((float)i)/(float)(h/8)); } graphics_fill(255,255,255); }
void tof_data_read_thread::run() { bool myoldbgs = false; mutex.lock(); tof_data_read_worker wrk; connect(&wrk,SIGNAL(measurement_started()),this,SLOT(do_measurement_started()),Qt::QueuedConnection); connect(&wrk,SIGNAL(measurement_stopped()),this,SLOT(do_measurement_stopped()),Qt::QueuedConnection); connect(this,SIGNAL(bg_measurement_started()),&wrk,SLOT(clear_bg()),Qt::QueuedConnection); mutex.unlock(); forever { mutex.lock(); //wrk.setConfig(m_config); uibk_cloud_configuration l_config = m_config; bool bgs = bg_meas; wrk.save_current_background(); mutex.unlock(); states state = IDLE; states laststate = IDLE; while(state != FAILURE ){ if (pause) break; if (restart) break; if (abort) return; switch(state){ case IDLE: {state = wrk.idle(); break;} case CHECK_AQ_ACTIVE: {state = wrk.check_aqu_active(laststate); break;} case PREP_BUFFS: { if(bgs){ state = wrk.prepare_buffers_bg(); }else{ wrk.setConfig(l_config); wrk.init(); state = wrk.prepare_buffers(); wrk.save_current_background(); } break; } case WAIT_F_DTA: {state = wrk.wait_for_data(); break;} case SWAP_BUFS: {state = wrk.swap_buffers(); break;} case PROC_DTA: { if(bgs){ if(myoldbgs != bgs) { wrk.clear_bg(); } state = wrk.record_bg_spec(); }else{ state = wrk.process_data(); if(state != FAILURE){ QDateTime t = wrk.getMeantime(); QMap<QString, double> dta = wrk.getGroups(); qDebug() << "(tof_data_read_thread::run()) Emiting data_processed()"; emit data_processed(t, dta); } } myoldbgs = bgs; break; } //case FAILURE: {state = wrk.failure(state); break;} default:{break;} } if(state == FAILURE) wrk.failure(laststate); } mutex.lock(); pause = false; if (!restart) condition.wait(&mutex); restart = false; mutex.unlock(); } }