#pragma once #include "drape/pointers.hpp" #include "drape/oglcontextfactory.hpp" #include "drape/batcher.hpp" #include "drape/gpu_program_manager.hpp" #include "drape/uniform_values_storage.hpp" #include "drape/texture_manager.hpp" #include "drape_frontend/viewport.hpp" #include "drape_frontend/map_data_provider.hpp" #include "std/map.hpp" namespace df { class TestingEngine { public: TestingEngine(Viewport const & viewport, double vs); ~TestingEngine(); void Draw(); void Resize(int w, int h); private: void DrawImpl(); void DrawRects(); void ModelViewInit(); void ProjectionInit(); void OnFlushData(dp::GLState const & state, drape_ptr && vao); void ClearScene(); private: drape_ptr m_batcher; drape_ptr m_programManager; drape_ptr m_textures; df::Viewport m_viewport; typedef map > > TScene; TScene m_scene; ScreenBase m_modelView; float m_angle = 0.0; dp::UniformValuesStorage m_generalUniforms; vector m_boundRects; vector m_rects; }; } // namespace df