void CLibraryTipCtrl::OnPaint(CDC* pDC) { CSingleLock pLock( &m_pSection, TRUE ); CPoint pt( 0, 0 ); DrawText( pDC, &pt, m_sName ); pt.y += TIP_TEXTHEIGHT; pDC->SelectObject( &CoolInterface.m_fntNormal ); if ( m_sSHA1.GetLength() ) { DrawText( pDC, &pt, m_sSHA1 ); pt.y += TIP_TEXTHEIGHT; } if ( m_sTTH.GetLength() ) { DrawText( pDC, &pt, m_sTTH ); pt.y += TIP_TEXTHEIGHT; } if ( m_sED2K.GetLength() ) { DrawText( pDC, &pt, m_sED2K ); pt.y += TIP_TEXTHEIGHT; } DrawRule( pDC, &pt ); CRect rcThumb( pt.x, pt.y, pt.x + 96, pt.y + 96 ); CRect rcWork( &rcThumb ); DrawThumb( pDC, rcWork ); pDC->ExcludeClipRect( &rcThumb ); int nCount = 0; for ( POSITION pos = m_pMetadata.GetIterator() ; pos ; ) { CMetaItem* pItem = m_pMetadata.GetNext( pos ); DrawText( pDC, &pt, theApp.m_bRTL ? ':' + pItem->m_sKey : pItem->m_sKey + ':', 100 ); DrawText( pDC, &pt, pItem->m_sValue, 100 + m_nKeyWidth ); pt.y += TIP_TEXTHEIGHT; if ( ++nCount == 5 ) { pt.x += 98; pt.y -= 2; DrawRule( pDC, &pt, TRUE ); pt.x -= 98; pt.y -= 2; } } }
void CAlbumTipCtrl::OnPaint(CDC* pDC) { CPoint pt( 0, 0 ); DrawText( pDC, &pt, m_sName ); pt.y += TIP_TEXTHEIGHT; pDC->SelectObject( &CoolInterface.m_fntNormal ); DrawText( pDC, &pt, m_sType ); pt.y += TIP_TEXTHEIGHT; DrawRule( pDC, &pt ); CRect rcThumb( pt.x, pt.y, pt.x + 96, pt.y + 96 ); CRect rcWork( &rcThumb ); DrawThumb( pDC, rcWork ); pDC->ExcludeClipRect( &rcThumb ); int nCount = 0; for ( POSITION pos = m_pMetadata.GetIterator(); pos; ) { CMetaItem* pItem = m_pMetadata.GetNext( pos ); DrawText( pDC, &pt, pItem->m_sKey + ':', 100 ); DrawText( pDC, &pt, pItem->m_sValue, 100 + m_nKeyWidth ); pt.y += TIP_TEXTHEIGHT; if ( ++nCount == 5 ) { pt.x += 98; pt.y -= 2; DrawRule( pDC, &pt, TRUE ); pt.x -= 98; pt.y -= 2; } } }
void CLibraryTipCtrl::OnPaint(CDC* pDC) { CSingleLock pLock( &m_pSection, TRUE ); CPoint pt( 0, 0 ); CSize sz( m_sz.cx, TIP_TEXTHEIGHT ); DrawText( pDC, &pt, m_sName, &sz ); pt.y += TIP_TEXTHEIGHT; pDC->SelectObject( &CoolInterface.m_fntNormal ); if ( ! m_sSHA1.IsEmpty() ) { DrawText( pDC, &pt, m_sSHA1, &sz ); pt.y += TIP_TEXTHEIGHT; } if ( ! m_sTTH.IsEmpty() ) { DrawText( pDC, &pt, m_sTTH, &sz ); pt.y += TIP_TEXTHEIGHT; } if ( ! m_sED2K.IsEmpty() ) { DrawText( pDC, &pt, m_sED2K, &sz ); pt.y += TIP_TEXTHEIGHT; } if ( ! m_sBTH.IsEmpty() ) { DrawText( pDC, &pt, m_sBTH, &sz ); pt.y += TIP_TEXTHEIGHT; } if ( ! m_sMD5.IsEmpty() ) { DrawText( pDC, &pt, m_sMD5, &sz ); pt.y += TIP_TEXTHEIGHT; } DrawRule( pDC, &pt ); CRect rcThumb( pt.x, pt.y, pt.x + Settings.Library.ThumbSize + 2, pt.y + Settings.Library.ThumbSize + 2 ); CoolInterface.DrawThumbnail( pDC, rcThumb, IsThreadAlive(), FALSE, m_bmThumb, m_nIcon, -1 ); pDC->ExcludeClipRect( &rcThumb ); int nCount = 0; pt.x += Settings.Library.ThumbSize; sz.cx -= pt.x + 8 + m_nKeyWidth; for ( POSITION pos = m_pMetadata.GetIterator() ; pos ; ) { CMetaItem* pItem = m_pMetadata.GetNext( pos ); if ( pItem->m_pMember && pItem->m_pMember->m_bHidden ) continue; pt.x += 8; DrawText( pDC, &pt, Settings.General.LanguageRTL ? ':' + pItem->m_sKey : pItem->m_sKey + ':', &sz ); pt.x += m_nKeyWidth; DrawText( pDC, &pt, pItem->m_sValue, &sz ); pt.x -= 8 + m_nKeyWidth; pt.y += TIP_TEXTHEIGHT; if ( ++nCount == 5 ) { pt.x += 4; pt.y -= 2; DrawRule( pDC, &pt, TRUE ); pt.x -= 4; pt.y -= 2; } } }