#pragma once #include #include #include #include #include namespace mbgl { class BackgroundLayerPrograms; class CircleLayerPrograms; class RasterLayerPrograms; class HeatmapLayerPrograms; class HillshadeLayerPrograms; class FillLayerPrograms; class FillExtrusionLayerPrograms; class LineLayerPrograms; class SymbolLayerPrograms; class Programs { public: Programs(const ProgramParameters&); ~Programs(); /// @brief Registers built-in programs with the provided registry. /// @param registry gfx::ShaderRegistry to populate with built-in programs. void registerWith(gfx::ShaderRegistry& registry); private: ProgramParameters programParameters; }; } // namespace mbgl