void CXBMCRenderManager::Render(bool clear, DWORD flags, DWORD alpha, bool gui) { CSharedLock lock(m_sharedSection); if (!gui && m_pRenderer->IsGuiLayer()) return; if (!gui || m_pRenderer->IsGuiLayer()) { SPresent& m = m_Queue[m_presentsource]; if( m.presentmethod == PRESENT_METHOD_BOB ) PresentFields(clear, flags, alpha); else if( m.presentmethod == PRESENT_METHOD_WEAVE ) PresentFields(clear, flags | RENDER_FLAG_WEAVE, alpha); else if( m.presentmethod == PRESENT_METHOD_BLEND ) PresentBlend(clear, flags, alpha); else PresentSingle(clear, flags, alpha); } if (gui) { if (!m_pRenderer->IsGuiLayer()) m_pRenderer->Update(); m_renderedOverlay = m_overlays.HasOverlay(m_presentsource); m_overlays.Render(m_presentsource); } }
void CXBMCRenderManager::Render(bool clear, DWORD flags, DWORD alpha) { CSharedLock lock(m_sharedSection); if( m_presentmethod == PRESENT_METHOD_BOB ) PresentFields(clear, flags, alpha); else if( m_presentmethod == PRESENT_METHOD_WEAVE ) PresentFields(clear, flags | RENDER_FLAG_WEAVE, alpha); else if( m_presentmethod == PRESENT_METHOD_BLEND ) PresentBlend(clear, flags, alpha); else PresentSingle(clear, flags, alpha); m_overlays.Render(); }