#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace mbgl { class Programs { public: Programs(gl::Context& context, const ProgramParameters& programParameters) : background(context, programParameters), backgroundPattern(context, programParameters), circle(context, programParameters), extrusionTexture(context, programParameters), fill(context, programParameters), fillExtrusion(context, programParameters), fillExtrusionPattern(context, programParameters), fillPattern(context, programParameters), fillOutline(context, programParameters), fillOutlinePattern(context, programParameters), heatmap(context, programParameters), heatmapTexture(context, programParameters), hillshade(context, programParameters), hillshadePrepare(context, programParameters), line(context, programParameters), lineSDF(context, programParameters), linePattern(context, programParameters), raster(context, programParameters), symbolIcon(context, programParameters), symbolIconSDF(context, programParameters), symbolGlyph(context, programParameters), debug(context, programParameters), collisionBox(context, programParameters), collisionCircle(context, programParameters), clippingMask(context, programParameters) { } BackgroundProgram background; BackgroundPatternProgram backgroundPattern; ProgramMap circle; ExtrusionTextureProgram extrusionTexture; ProgramMap fill; ProgramMap fillExtrusion; ProgramMap fillExtrusionPattern; ProgramMap fillPattern; ProgramMap fillOutline; ProgramMap fillOutlinePattern; ProgramMap heatmap; HeatmapTextureProgram heatmapTexture; HillshadeProgram hillshade; HillshadePrepareProgram hillshadePrepare; ProgramMap line; ProgramMap lineSDF; ProgramMap linePattern; RasterProgram raster; ProgramMap symbolIcon; ProgramMap symbolIconSDF; ProgramMap symbolGlyph; DebugProgram debug; CollisionBoxProgram collisionBox; CollisionCircleProgram collisionCircle; ClippingMaskProgram clippingMask; }; } // namespace mbgl