void RDMarkerWaveform::setCursor(CuePoints pt,int msecs) { if(msecs!=wave_cursors[pt]) { if(pt==RDMarkerWaveform::Play) { SetPlayCursor(msecs); wave_cursors[pt]=msecs; } else { wave_cursors[pt]=msecs; update(); } } }
void CEffectVis::ShowVis(CDC * pDC, CRect rectBorder) //--------------------------------------------------- { MPT_UNREFERENCED_PARAMETER(rectBorder); if (m_forceRedraw) { m_forceRedraw = false; // if we already have a memory dc, destroy it (this occurs for a re-size) if (m_dcGrid.GetSafeHdc()) { m_dcGrid.SelectObject(m_pbOldGrid) ; m_dcGrid.DeleteDC() ; m_dcNodes.SelectObject(m_pbOldNodes) ; m_dcNodes.DeleteDC() ; m_dcPlayPos.SelectObject(m_pbOldPlayPos) ; m_dcPlayPos.DeleteDC() ; m_bPlayPos.DeleteObject() ; m_bGrid.DeleteObject() ; m_bNodes.DeleteObject() ; } // create a memory based dc for drawing the grid m_dcGrid.CreateCompatibleDC(pDC); m_bGrid.CreateCompatibleBitmap(pDC, m_rcDraw.Width(), m_rcDraw.Height()); m_pbOldGrid = m_dcGrid.SelectObject(&m_bGrid); // create a memory based dc for drawing the nodes m_dcNodes.CreateCompatibleDC(pDC); m_bNodes.CreateCompatibleBitmap(pDC, m_rcDraw.Width(), m_rcDraw.Height()); m_pbOldNodes = m_dcNodes.SelectObject(&m_bNodes); // create a memory based dc for drawing the nodes m_dcPlayPos.CreateCompatibleDC(pDC); m_bPlayPos.CreateCompatibleBitmap(pDC, m_rcDraw.Width(), m_rcDraw.Height()); m_pbOldPlayPos = m_dcPlayPos.SelectObject(&m_bPlayPos); SetPlayCursor(m_nPattern, m_nOldPlayPos); DrawGrid(); DrawNodes(); } // display the new image, combining the nodes with the grid ShowVisImage(pDC); }