//----------------------------------------------------------------------------- void tRudderBarMedusa::paintEvent( QPaintEvent* ) { if( isVisible() ) { QPainter painter( this ); painter.setRenderHint( QPainter::Antialiasing ); int barPosY = qMax( 0, (rect().height() - m_BarHeight) ); const QRect barRect( 0, barPosY, rect().width(), m_BarHeight ); if( m_UpdateMemoryTicks ) { m_UpdateMemoryTicks = false; m_MemoryTicks = QPixmap( rect().width(), m_BarHeight ); m_MemoryTicks.fill( Qt::transparent ); QPainter memPainter(&m_MemoryTicks); memPainter.setRenderHint( QPainter::Antialiasing ); DrawTickMarks( m_MemoryTicks.rect(), &memPainter ); m_MemBackground = QPixmap( rect().width(), m_BarHeight ); m_MemBackground.fill( Qt::transparent ); QPainter p2( &m_MemBackground ); p2.setRenderHint( QPainter::Antialiasing ); DrawBackgroundBar( m_MemBackground.rect(), &p2 ); } painter.drawPixmap( barRect, m_MemBackground ); DrawValueBar( barRect, &painter); painter.drawPixmap( barRect, m_MemoryTicks ); } }
void CRulerBar::DoPaint(CDC* pDC) { CControlBar::DoPaint(pDC); // CControlBar::DoPaint -- draws border if (m_unit.m_nTPU != 0) { pDC->SaveDC(); // offset coordinate system CPoint pointOffset(0,0); RulerToClient(pointOffset); pDC->SetViewportOrg(pointOffset); DrawFace(*pDC); DrawTickMarks(*pDC); DrawTabs(*pDC); m_leftmargin.Draw(*pDC); m_indent.Draw(*pDC); m_rightmargin.Draw(*pDC); pDC->RestoreDC(-1); } // Do not call CControlBar::OnPaint() for painting messages }