/* Munch for a while on _points, until either we * finish it off or run out of time. */ QPainter p; p.begin(_buf); struct timeval tv; struct timezone tz; gettimeofday(&tv, &tz); double cur_time = double(tv.tv_sec)*1000.0 + double(tv.tv_usec)/1000.0; double deadline_time = cur_time + MAX_RENDER_TIME_MSEC; bool dirty = false; // true if _buf changed while ((cur_time <= deadline_time) && (_pti < _points->size())) { DoubPt newPt = (*_points)[_pti]; if (rtpClip(_map.viewPort, &lastPt, &newPt)) { p.drawLine(rtpMap(_map, lastPt), rtpMap(_map, newPt)); dirty = true; } lastPt = (*_points)[_pti++]; gettimeofday(&tv, &tz); cur_time = double(tv.tv_sec)*1000.0 + double(tv.tv_usec)/1000.0; } p.end();