// get image unsigned int * ImageBase::getImage (unsigned int texId, double ts) { // if image is not available if (!m_avail) { // if there are any sources if (!m_sources.empty()) { // get images from sources for (ImageSourceList::iterator it = m_sources.begin(); it != m_sources.end(); ++it) // get source image (*it)->getImage(ts); // init image init(m_sources[0]->getSize()[0], m_sources[0]->getSize()[1]); } // calculate new image calcImage(texId, ts); } // if image is available, return it, otherwise NULL return m_avail ? m_image : NULL; }
void QGraph::mouseMoveEvent(QMouseEvent *e){ mark=calcImage(fromWidget(e->pos())); if(pushed & Qt::MidButton && ant != toViewport(e->pos())){ QPoint rel = e->pos() - press - (toWidget(.5,.5)-toWidget(0.,0.)); rel = toViewport(rel); viewport.setLeft(viewport.left() - rel.x()); viewport.setRight(viewport.right() - rel.x()); viewport.setTop(viewport.top() - rel.y()); viewport.setBottom(viewport.bottom() - rel.y()); update_points(); press = e->pos(); ant = toViewport(e->pos()); valid=false; sendStatus(QString("(%1, %2)-(%3, %4)").arg(viewport.left()).arg(viewport.top()).arg(viewport.right()).arg(viewport.bottom())); } else if(pushed == Qt::LeftButton) { last = e->pos(); } else if(pushed==0) sendStatus(QString("x=%1 y=%2") .arg(mark.x(),3,'f',2).arg(mark.y(),3,'f',2)); this->repaint(false); }