示例#1
0
//-----------------------------------------------------------------------------
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 );
    }
}    
示例#2
0
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
}