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