Exemple #1
0
  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));
  }
Exemple #2
0
  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
  }