1 #pragma once
2 
3 #include <mbgl/util/optional.hpp>
4 
5 #include <string>
6 #include <vector>
7 
8 namespace mbgl {
9 
10 class ProgramParameters {
11 public:
12     ProgramParameters(float pixelRatio, bool overdraw, optional<std::string> cacheDir);
13 
14     const std::string& getDefines() const;
15     optional<std::string> cachePath(const char* name) const;
16 
17     ProgramParameters withAdditionalDefines(const std::vector<std::string>& defines) const;
18 
19 private:
20     std::string defines;
21     optional<std::string> cacheDir;
22 };
23 
24 } // namespace mbgl
25