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