void MusRC::DrawPage( MusDC *dc, MusPage *page, bool background ) { wxASSERT_MSG( dc , "DC cannot be NULL"); int i; MusSystem *system = NULL; if ( background ) dc->DrawRectangle( 0, 0, m_doc->m_pageWidth, m_doc->m_pageHeight ); dc->DrawBackgroundImage( ); MusPoint origin = dc->GetLogicalOrigin(); dc->SetLogicalOrigin( origin.x - m_doc->m_pageLeftMar, origin.y ); dc->StartPage(); for (i = 0; i < page->GetSystemCount(); i++) { system = (MusSystem*)page->m_children[i]; DrawSystem( dc, system ); // TODO here: also update x_abs and m_y_drawing positions for system. How to calculate them? } dc->EndPage(); }
void CParticleSystemDrawer::Draw(CParticleSystem* ps) { DrawGroundPlane(ps, 2.0f); DrawSystemBoundaries(ps); DrawSystem(ps); }