#pragma once #include "drape_frontend/frontend_renderer.hpp" #include "drape_frontend/backend_renderer.hpp" #include "drape_frontend/threads_commutator.hpp" #include "drape/pointers.hpp" #include "drape/texture_manager.hpp" #include "geometry/screenbase.hpp" namespace dp { class OGLContextFactory; } namespace df { class MapDataProvider; class Viewport; class DrapeEngine { public: DrapeEngine(dp::RefPointer oglcontextfactory, Viewport const & viewport, MapDataProvider const & model); ~DrapeEngine(); void Resize(int w, int h); void UpdateCoverage(ScreenBase const & screen); private: dp::MasterPointer m_frontend; dp::MasterPointer m_backend; dp::MasterPointer m_threadCommutator; Viewport m_viewport; }; } // namespace df