void MyMainWindow::paintEvent() { Rect rc = realRect(); glSetPen(0xFF1d1b1b); glDrawFilledRectange(rc.x(), rc.y(), rc.x2(), rc.y2()); glSetPen(0xFFFFFFFF); glDrawHLine(rc.x(), rc.x2(), rc.y()+25); //glDrawString(filename, rect().x()+3, rect().y(), rect().x2(), rect().y()+25, 18, FT_TEXT_H_CENTER, 0, 128); m_headText.paintEvent(); int mx, my; mx = rc.w() / 2 - m_musicImage.width()/2; my = m_mediaList.rect().h() / 2 - m_musicImage.height()/2; drawImage(rc.x()+mx, m_mediaList.rect().y()+my, &m_musicImage); if(!m_player->isPlaying()) { m_playPos.setPosition(0); m_playPos.setLength(0); } else { m_playPos.setPosition(m_player->position()); m_playPos.setLength(m_player->length()); if(m_player->isHaveAlbymImage()) drawImage(rc.x(), m_playButton.realRect().y2(), &m_player->albymImage()); } MainWindow::paintEvent(); eventManager()->update(); }
void ProgressDialog::paintEvent() { if(!m_background->isEmpty()) { drawImage(realRect().x(), realRect().y(), m_background); } glDrawString(m_progressName.c_str(), realRect().x()+2, realRect().y()+1, realRect().x2()-2, realRect().y()+20, 15, FT_TEXT_H_CENTER, 0, 128); char info[56]; sprintf(info, "%d/%d", m_fullProgress, m_maxFullProgress); glDrawString(info, realRect().x()+2, realRect().y()+1, realRect().x2()-2, realRect().y()+20, 15, FT_TEXT_H_CENTER | FT_TEXT_W_RIGHT, 0, 128); glSetPen(0xFFFFFFFF); glDrawString(m_whatDoing.c_str(), realRect().x()+2, realRect().y()+23, realRect().x2()-2, realRect().y()+23+22, 15, FT_TEXT_W_CENTER | FT_TEXT_H_DOWN | FT_TEXT_CENTER_BY_XSTART, 0, 128); int y = realRect().y()+60; int percent_full = m_fullProgress*100/m_maxFullProgress; int percent = m_progress? m_progress*100/m_maxProgress : 0; int max_w = realRect().w()-10; int full_x = max_w*percent_full/100; int cur_x = max_w*percent/100; glSetPen(0xFFFF0000); glDrawRectange(realRect().x()+4, y, realRect().x2()-6, y+4); if(full_x < 1) full_x = 0; if(full_x > max_w) full_x = max_w; glSetPen(0xFFFFFFFF); glDrawFilledRectange(realRect().x()+5, y+1, realRect().x()+5+full_x, y+4); y += 10; glSetPen(0xFFFF0000); glDrawRectange(realRect().x()+4, y, realRect().x2()-6, y+4); if(cur_x < 1) cur_x = 0; if(cur_x > max_w) cur_x = max_w; glSetPen(0xFFFFFFFF); glDrawFilledRectange(realRect().x()+5, y+1, realRect().x()+5-1+cur_x, y+4); Widget::paintEvent(); }
void CalloutNote::drawNoteNodeConnector(QPainter *painter, bool visible) { float width; float height; QRectF itemPos; if(_scene->_pathBubbles[_pid]==NULL) //does not work return; PathBubble1* path=_scene->_pathBubbles[_pid]; if(!path || path==NULL || !path->isVisible()) return; QPointF dis1=this->sceneBoundingRect().center(); QPointF dis2=path->sceneBoundingRect().center(); if(fixedSize) { width=graphReferenceSize/2*path->_scale; height=graphReferenceSize/2*path->_scale; } else { width=this->realRect().width()/2*path->_scale; height=this->realRect().height()/2*path->_scale; } if(_type == 'L' && _id>=path->ANodeRect.size()) return; switch(_type) { case 'C': itemPos = path->complexRect[_id]; break; case 'E': itemPos = path->physicalEntityRect[_id]; break; case 'P': itemPos = path->proteinRect[_id]; break; case 'S': itemPos = path->smallMoleculeRect[_id]; break; case 'D': itemPos = path->DnaRect[_id]; break; case 'R': itemPos = path->reactionRect[_id]; break; case 'L': itemPos = path->ANodeRect[_id]; break; case 'M': itemPos = path->compartmentRect[_id]; break; } QPointF start,end; start=QPointF(0,0); end=itemPos.center(); start=start+dis1; end=end+dis2; QRectF noteRect=this->sceneBoundingRect(); QRectF pathRect=path->sceneBoundingRect(); float w,h; w=realRect().width(), h=realRect().height(); noteRect=QRectF(noteRect.center().x()-w/2, noteRect.center().y()-h/2, w, h ); QPointF markPos(end.x()+itemPos.width()*0.5, end.y()-itemPos.height()*0.1); _deleteMark = QRectF(noteRect.x()+noteRect.width()*0.90, noteRect.y()+noteRect.height()*0.03, noteRect.width()*0.08, noteRect.width()*0.08); _minimizeMark = QRectF(noteRect.x()+noteRect.width()*0.80, noteRect.y()+noteRect.height()*0.03, noteRect.width()*0.08, noteRect.width()*0.08); //clip QColor c=QColor(_colorBoarder.a, _colorBoarder.b, _colorBoarder.c, 255); if(visible) { if(!noteRect.contains(end)) { drawArrow_5(painter, start, markPos-QPointF(itemPos.width()*0.04,0), QRect(noteRect.center().x()-w/2,noteRect.center().y()-h/2, w, h ), width, height, c ); } drawCross(painter,_deleteMark, c); drawMinus(painter,_minimizeMark, c); } else { //if within the path bubble if(pathRect.contains(start)|| pathRect.contains(end)) drawNoteMark(painter, start, end, QRect(noteRect.center().x()-w/2,noteRect.center().y()-h/2, w, h ), markPos, markRect, width, height, c ); } }