1 #pragma once 2 3 #include <mbgl/programs/background_program.hpp> 4 #include <mbgl/programs/circle_program.hpp> 5 #include <mbgl/programs/clipping_mask_program.hpp> 6 #include <mbgl/programs/extrusion_texture_program.hpp> 7 #include <mbgl/programs/fill_program.hpp> 8 #include <mbgl/programs/fill_extrusion_program.hpp> 9 #include <mbgl/programs/heatmap_program.hpp> 10 #include <mbgl/programs/heatmap_texture_program.hpp> 11 #include <mbgl/programs/hillshade_program.hpp> 12 #include <mbgl/programs/hillshade_prepare_program.hpp> 13 #include <mbgl/programs/line_program.hpp> 14 #include <mbgl/programs/raster_program.hpp> 15 #include <mbgl/programs/symbol_program.hpp> 16 #include <mbgl/programs/debug_program.hpp> 17 #include <mbgl/programs/collision_box_program.hpp> 18 #include <mbgl/programs/program_parameters.hpp> 19 20 namespace mbgl { 21 22 class Programs { 23 public: Programs(gl::Context & context,const ProgramParameters & programParameters)24 Programs(gl::Context& context, const ProgramParameters& programParameters) 25 : background(context, programParameters), 26 backgroundPattern(context, programParameters), 27 circle(context, programParameters), 28 extrusionTexture(context, programParameters), 29 fill(context, programParameters), 30 fillExtrusion(context, programParameters), 31 fillExtrusionPattern(context, programParameters), 32 fillPattern(context, programParameters), 33 fillOutline(context, programParameters), 34 fillOutlinePattern(context, programParameters), 35 heatmap(context, programParameters), 36 heatmapTexture(context, programParameters), 37 hillshade(context, programParameters), 38 hillshadePrepare(context, programParameters), 39 line(context, programParameters), 40 lineSDF(context, programParameters), 41 linePattern(context, programParameters), 42 raster(context, programParameters), 43 symbolIcon(context, programParameters), 44 symbolIconSDF(context, programParameters), 45 symbolGlyph(context, programParameters), 46 debug(context, programParameters), 47 collisionBox(context, programParameters), 48 collisionCircle(context, programParameters), 49 clippingMask(context, programParameters) { 50 } 51 52 BackgroundProgram background; 53 BackgroundPatternProgram backgroundPattern; 54 ProgramMap<CircleProgram> circle; 55 ExtrusionTextureProgram extrusionTexture; 56 ProgramMap<FillProgram> fill; 57 ProgramMap<FillExtrusionProgram> fillExtrusion; 58 ProgramMap<FillExtrusionPatternProgram> fillExtrusionPattern; 59 ProgramMap<FillPatternProgram> fillPattern; 60 ProgramMap<FillOutlineProgram> fillOutline; 61 ProgramMap<FillOutlinePatternProgram> fillOutlinePattern; 62 ProgramMap<HeatmapProgram> heatmap; 63 HeatmapTextureProgram heatmapTexture; 64 HillshadeProgram hillshade; 65 HillshadePrepareProgram hillshadePrepare; 66 ProgramMap<LineProgram> line; 67 ProgramMap<LineSDFProgram> lineSDF; 68 ProgramMap<LinePatternProgram> linePattern; 69 RasterProgram raster; 70 ProgramMap<SymbolIconProgram> symbolIcon; 71 ProgramMap<SymbolSDFIconProgram> symbolIconSDF; 72 ProgramMap<SymbolSDFTextProgram> symbolGlyph; 73 74 DebugProgram debug; 75 CollisionBoxProgram collisionBox; 76 CollisionCircleProgram collisionCircle; 77 ClippingMaskProgram clippingMask; 78 }; 79 80 } // namespace mbgl 81