void Framework::InitRenderPolicy(bool needApiPin, m2::PointD const & apiPinPoint, bool needMyLoc, m2::PointD const & myLocPoint) { shared_ptr<RenderContext> primaryRC(new RenderContext()); graphics::ResourceManager::Params rmParams; rmParams.m_texFormat = graphics::Data4Bpp; rmParams.m_texRtFormat = graphics::Data4Bpp; rmParams.m_videoMemoryLimit = GetPlatform().VideoMemoryLimit(); RenderPolicy::Params rpParams; rpParams.m_videoTimer = &m_timer; rpParams.m_useDefaultFB = true; rpParams.m_rmParams = rmParams; rpParams.m_primaryRC = primaryRC; rpParams.m_density = graphics::EDensityMDPI; rpParams.m_skinName = "basic.skn"; rpParams.m_screenWidth = m_width; rpParams.m_screenHeight = m_height; YopmeRP * rp = new YopmeRP(rpParams); m_framework.SetRenderPolicy(rp); m_framework.InitGuiSubsystem(); rp->SetDrawingApiPin(needApiPin, m_framework.GtoP(apiPinPoint)); rp->SetDrawingMyLocation(needMyLoc, m_framework.GtoP(myLocPoint)); }
void DrawWidget::InitRenderPolicy() { #ifndef USE_DRAPE shared_ptr<qt::gl::RenderContext> primaryRC(new qt::gl::RenderContext(this)); graphics::ResourceManager::Params rmParams; rmParams.m_texFormat = graphics::Data8Bpp; rmParams.m_texRtFormat = graphics::Data4Bpp; rmParams.m_videoMemoryLimit = GetPlatform().VideoMemoryLimit(); RenderPolicy::Params rpParams; QRect const & geometry = QApplication::desktop()->geometry(); rpParams.m_screenWidth = L2D(geometry.width()); rpParams.m_screenHeight = L2D(geometry.height()); if (m_ratio >= 1.5 || QApplication::desktop()->physicalDpiX() >= 180) rpParams.m_density = graphics::EDensityXHDPI; else rpParams.m_density = graphics::EDensityMDPI; rpParams.m_videoTimer = m_videoTimer.get(); rpParams.m_useDefaultFB = true; rpParams.m_rmParams = rmParams; rpParams.m_primaryRC = primaryRC; rpParams.m_skinName = "basic.skn"; try { m_framework->SetRenderPolicy(CreateRenderPolicy(rpParams)); m_framework->InitGuiSubsystem(); } catch (graphics::gl::platform_unsupported const & e) { LOG(LERROR, ("OpenGL platform is unsupported, reason: ", e.what())); /// @todo Show "Please Update Drivers" dialog and close the program. } #endif // USE_DRAPE }